/*
Theme Name: Erez Atelier
Description: Vlastni tema pro Erez Atelier. Vznika prevodem schvaleneho statickeho prototypu.
Version: 0.1
Author: Tadeas Kozdon
Text Domain: erez
*/

/* ===== CSS 1:1 z prototypu erez-atelier-navrh-v01.html =====
   Zmeny oproti prototypu: zadne. Cesty k obrazkum v CSS (pokud nejake pribydou)
   je nutne resit pres theme URI, ne relativne. */

  /* Tilda Sans — VLASTNÍ HOSTING (2026-09-18). Soubor fonts/TildaSans-VF.woff2 = OFICIÁLNÍ balíček
     TildaSans-VF_TTF_Web.zip z https://tilda.cc/lp/tildasans/ (ParaType Ltd pro Tilda Publishing), verze 1.009,
     sha256 000ed966…, beze změny dat (žádná konverze). Licence SIL Open Font License 1.1 (v metadatech souboru:
     copyright ParaType, license http://scripts.sil.org/OFL) — hostování na vlastním serveru výslovně povoleno
     (OFL FAQ 2.1). Dřív z CDN db.onlinewebfonts.com (cizí re-upload, verze 1.0091) + Roboto z Google Fonts.
     Jediná osa wght 250–900 (instance Light 300 … Black 900); web používá 400 a 500. Preload je v header.php.
     Pozor: písmo NEMÁ glyfy → (U+2192) ani ● (U+25CF) — kreslí je systémové písmo. */
  @font-face{
    font-family:'Tilda Sans';
    src:url('fonts/TildaSans-VF.woff2') format('woff2');
    font-weight:250 900;font-display:swap;
  }
  :root{
    /* Paleta = Galerijní bílá natvrdo (DEV přepínač palet i js/palette.js zrušeny; hodnoty žijí jen tady) */
    --bg:#FAF9F6;
    --bg-deep:#EFEDE8;
    /* --bg-deep2 = výrazně hlubší tón než --bg-deep, ale pořád světlý (cca 7 % tmavosti proti --bg).
       Počítá se per paleta z --bg + --ink → adaptuje se na každou paletu (i tmavou). Dnes nikde nepoužito (přechody B/C/D zrušeny), ponecháno pro případ návratu tónovaných sekcí. */
    --bg-deep2:color-mix(in srgb, var(--bg), var(--ink) 7%);
    --ink:#1A1815;
    --ink-soft:#6B675F;
    --line:#E0DDD6;
    --accent:#9A9389;
    --card:#F1EFEA;
    --white:#FDFCFA;
    /* VÝCHOZÍ typografie = Tilda Sans všude (nadpisy --font-head, text --font-body).
       Fallback system-ui/sans-serif jen na dobu načítání (swap) — Roboto z Google Fonts zrušeno 2026-09-18 (self-hosting). */
    --font-head:'Tilda Sans',system-ui,sans-serif;
    --font-body:'Tilda Sans',system-ui,sans-serif;
    /* ODSOUHLASENÉ VELIKOSTI (07/2026): velké nadpisy 30px, dlaždice 16px, perex 15px.
       WordPress-friendly tokeny → jednotné napříč webem, přepočítají se s velikostí. */
    --fs-h1:clamp(1.5rem,4vw,1.875rem); /* velký nadpis sekce/hero — max 30px */
    --fs-tile:1rem;                     /* název dlaždice/karty — 16px */
    --fs-perex:.9375rem;                /* perex/lead odstavec — 15px */
    --fs-link:.875rem;                  /* odkaz / tlačítko — 14px (škála klientek) */
    --gap-heading-text:30px;            /* mezera POD nadpisem k obsahu = 30px, PEVNĚ (sjednoceno 2026-08-06;
                                            dřív var(--fs-h1) = 24–30px podle šířky viewportu). */
    --space-section:72px;               /* odsazení MEZI sekcemi = section.block padding (sjednoceno 2026-08-06, dřív 140/80/64) */
    --space-inner:32px;                 /* boční odsazení obsahu = .wrap padding (beze změny hodnoty, jen tokenizováno) */
    --space-hero-gap:140px;             /* VÝJIMKA: mezera hero → první sekce (#services). NIKDY nesnižovat na --space-section —
                                            je to záměrný velký dýchací prostor pod hero. Viz .hero-a + section.block. */
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth;scroll-padding-top:88px}
  body{
    background-color:var(--bg);
    color:var(--ink);
    font-family:var(--font-body);
    font-weight:400;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  /* Tilda Sans je variabilní (100–900) → nadpisy v regular (400) = vzdušný, tenký look (dřív 700). */
  h1,h2,h3,.display{font-family:var(--font-head);font-weight:400;letter-spacing:-0.02em}
  .eyebrow{
    font-family:var(--font-body);font-weight:500;
    font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
    color:var(--accent);
  }
  /* H1 homepage = eyebrow styl (viditelný, decentní kicker nad „Co děláme"); mezera, ať nelepí na h2 */
  .home-h1{display:block;margin-bottom:20px}
  a{color:inherit;text-decoration:none}
  img{display:block;max-width:100%}
  /* <source> uvnitr <picture> nic nevykresluje, ale prohlizec mu NEDAVA display:none — v gridu/flexu
     by se stal polozkou a rozhodil layout. Explicitni skryti (chybelo v celem projektu). */
  source{display:none}
  .wrap{max-width:1200px;margin:0 auto;padding:0 var(--space-inner)}

  /* —— annotation pill (Tadeáš → klientce) —— */

  /* —— toast (nenápadná hláška; ovládá ji window.showToast ve footer.php, používá js/share.js) —— */
  .toast{
    position:fixed;left:50%;bottom:26px;z-index:500;
    transform:translateX(-50%) translateY(12px);
    background:var(--ink);color:var(--bg);
    font-family:var(--font-body);font-size:.85rem;font-weight:500;letter-spacing:.01em;
    padding:12px 22px;border-radius:999px;box-shadow:0 10px 30px rgba(0,0,0,.18);
    opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .3s ease,transform .3s ease,visibility .3s;
  }
  .toast.show{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}

  /* —— plovoucí CTA „CHCI NÁVRH" (fixní vpravo dole, z-index 500 → POD modaly 600) —— */
  .cta-float{position:fixed;right:28px;bottom:28px;z-index:500;
    background:var(--white);color:var(--ink);border:1px solid var(--line);
    padding:16px 28px;border-radius:0;box-shadow:0 4px 20px rgba(0,0,0,.08);
    font-family:var(--font-body);font-weight:500;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;
    cursor:pointer;transition:background .3s ease,color .3s ease}
  .cta-float:hover{background:var(--ink);color:var(--bg)}
  @media(max-width:600px){
    .cta-float{right:16px;bottom:16px;padding:13px 20px;font-size:.74rem}
    .toast{bottom:84px} /* toast výš, ať nekoliduje s plovoucím CTA */
  }

  /* —— kurzor: systémový (custom AT monogram kurzor odstraněn 07/2026). Interaktivní prvky = ručička. —— */
  @media (hover:hover) and (pointer:fine){
    body{cursor:auto}
    /* .serv-tile ZDE ZÁMĚRNĚ NENÍ — klik na dlaždici služby nic nedělá (jen hover), ručička by lhala. */
    a,button,[role="button"],label,summary,.proc-acc-head,.proj,.cta-float{cursor:pointer}
    input,textarea,select{cursor:auto}
  }

  /* —— nav (overlay přes hero; lehké minimalistické menu: položky vlevo, logo vpravo) —— */
  /* dvě varianty: 1) transparentní přes hero (světlý text) 2) scrolled = jemné světlé pozadí
     (tmavý text), BEZ linky pod menu — má působit lehce a nenápadně */
  nav{
    position:fixed;top:0;left:0;right:0;z-index:100;
    background:transparent;
    transition:background .3s ease,backdrop-filter .3s ease;
  }
  nav.scrolled{
    background:var(--bg); /* fallback bez color-mix */
    background:color-mix(in srgb, var(--bg) 80%, transparent);backdrop-filter:blur(10px);
  }
  /* base = mobil: logo vlevo + hamburger vpravo */
  .nav-inner{display:flex;flex-direction:row;align-items:center;justify-content:space-between;position:relative;height:64px;padding:0;transition:height .3s ease}
  .nav-logo{display:flex;align-items:center}
  /* LOGO (09/2026) = tři PNG od klientek přes sebe (header.php): logo-cely-bily (1600×322, nápis + podnázev),
     logo-wordmark-bily (1600×182), logo-wordmark-cerny (1600×183). Žádný ořez ani invert filtr — přepíná se SOUBOR:
       desktop, přes hero (nav bez .scrolled) → celé bílé · po scrollu / podstránky → nápis černý ·
       mobil ≤860 přes hero → nápis bílý (podnázev by měl ~5px, nečitelný).
     Box .logo má PEVNOU výšku celého loga (--logo-h = šířka / (1600/322)) v obou stavech → nav nemění výšku,
     obrázky jsou absolutně přes sebe a svisle na střed; přechod = cross-fade opacity .3s (dřív invert filtr .3s). */
  .logo{--logo-w:140px;--logo-h:calc(var(--logo-w) * 322 / 1600); /* šířka loga 140px (odsouhlaseno; výška z poměru celého loga) */
    display:block;position:relative;width:var(--logo-w);height:var(--logo-h);line-height:0}
  .logo-img{position:absolute;left:0;top:50%;transform:translateY(-50%);width:var(--logo-w);height:auto;opacity:0;transition:opacity .3s ease}
  /* výchozí (desktop): přes hero celé bílé, po scrollu nápis černý */
  nav:not(.scrolled) .logo-img--cely{opacity:1}
  nav.scrolled .logo-img--wm-cerny{opacity:1}
  /* menu = malé, jemné položky vedle sebe; na mobilu skryté (ovládá hamburger) */
  .nav-links{display:none;gap:26px;font-size:.78rem;font-weight:400}
  .nav-links a{position:relative;padding:4px 0;color:#F7F5F1;letter-spacing:.06em;text-shadow:0 1px 8px rgba(0,0,0,.45);transition:color .3s,opacity .3s}
  .nav-links a:hover{opacity:.62}
  /* pravý blok lišty: WhatsApp + e-mail + přepínač jazyka (desktop; na mobilu v overlay menu) */
  /* pravý blok: skupina ikon | MEZERA | jazyk (jazyk = poslední prvek → lícuje s pravou hranou obsahu) */
  .nav-utils{display:none;align-items:center;gap:clamp(22px,2.4vw,40px)}
  .nav-icons{display:flex;align-items:center;gap:14px} /* WhatsApp + e-mail drží u sebe */
  .nav-ico{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;color:#F7F5F1;transition:opacity .25s,color .25s}
  .nav-ico svg{width:20px;height:20px;display:block;filter:drop-shadow(0 1px 6px rgba(0,0,0,.4))}
  .nav-ico:hover{opacity:.6}
  .nav-lang{position:relative}
  .nav-lang-btn{display:flex;align-items:center;gap:5px;background:transparent;border:none;cursor:pointer;font-family:var(--font-body);font-size:.78rem;letter-spacing:.06em;color:#F7F5F1;text-shadow:0 1px 8px rgba(0,0,0,.45);padding:6px 2px}
  /* scrolled → tmavý text/ikony na světlém pozadí */
  /* logo po scrollu: barvu neřešíme (je to obrázek) — mění se jen ořez taglinu + zmizí invert (viz výše) */
  nav.scrolled .nav-links a{color:var(--ink-soft);text-shadow:none}
  nav.scrolled .nav-links a:hover{color:var(--ink);opacity:1}
  nav.scrolled .nav-ico{color:var(--ink)}
  nav.scrolled .nav-ico svg{filter:none}
  nav.scrolled .nav-lang-btn{color:var(--ink);text-shadow:none}
  /* desktop = logo vlevo | menu lehce napravo od středu | utils vpravo (grid 1fr auto 1.4fr) */
  @media(min-width:861px){
    /* odsazení navu = .wrap (max-width:1200px, padding 0 32px) → levá hrana loga lícuje s hranou první dlaždice Služeb */
    /* logo (levá hrana) | menu | MEZERA | ikony | MEZERA | jazyk (pravá hrana).
       column-gap dělá viditelný předěl menu↔ikony (větší než 26px rozestup položek menu),
       mezeru ikony↔jazyk řeší gap na .nav-utils. */
    .nav-inner{display:grid;grid-template-columns:3.4fr auto 1fr;align-items:center;height:auto;max-width:1200px;margin:0 auto;padding:24px 32px;column-gap:clamp(30px,3.2vw,48px)}
    .nav-logo{justify-self:start}
    .nav-links{display:flex;justify-self:start}
    .nav-utils{display:flex;justify-self:end}
    /* desktop: po scrollu / podstránky nápis max 140px (odsouhlaseno); PŘES HERO celé logo 200px, aby byl podnázev čitelný
       (09/2026). Box .logo má v OBOU stavech výšku 200px loga (40.25px) → nav se při scrollu nemění (88.25px);
       obrázky zarovnané k HORNÍ hraně boxu (ne na střed) → nápis při cross-fade nesjede o 6px dolů. */
    .logo{--logo-w:clamp(130px,12vw,140px);--logo-h:calc(200px * 322 / 1600)}
    /* 200px až od ~1026px šířky okna; pod tím 19.5vw, protože 1. sloupec mřížky navu (3.4fr) má na 861px jen ~170px
       a pevných 200px by tlačilo menu doprava (naměřeno: posun o 29px při scrollu). */
    nav:not(.scrolled) .logo{--logo-w:clamp(140px,19.5vw,200px)}
    .logo-img{top:0;transform:none}
    nav.scrolled .nav-inner{padding:24px 32px} /* svislý STEJNÝ jako base (24px) → nav se při scrollu JEN podbarví, NEmění výšku/pozici; vodorovný 32px drží zarovnání loga */
  }
  /* Menu na svislici OBSAHU: „O nás" lícuje s levou hranou 2. sloupce mřížky Služeb.
     Šířka 1. sloupce = přesně offset 2. sloupce .serv-grid = colW + gap = 100%/3 + gap/3
     (stejný základ: nav-inner i .serv-grid jsou v .wrap → shodný content box). column-gap:0,
     protože odsazení menu určuje ten výpočet; mezeru menu↔ikony dělá zbytek 1fr sloupce.
     Až od 1150px — níž by se menu (423px) srazilo s ikonami, tam platí rozvržení výše. */
  @media(min-width:1150px){
    .nav-inner{grid-template-columns:calc(33.3333% + clamp(16px,1.6vw,28px)/3) auto 1fr;column-gap:0}
  }
  .burger{
    display:none;width:48px;height:48px;border:none;background:transparent;cursor:pointer;
    flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:0;margin-right:-12px;
  }
  .burger span{display:block;width:24px;height:2px;background:#F7F5F1;border-radius:0;
    box-shadow:0 1px 4px rgba(0,0,0,.35);
    transition:transform .3s ease,opacity .25s ease,background .3s ease}
  nav.scrolled .burger span{background:var(--ink);box-shadow:none}
  .burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .burger.is-open span:nth-child(2){opacity:0}
  .burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

  /* —— mobile overlay menu —— */
  .mobile-menu{
    position:fixed;inset:0;z-index:300;
    background:var(--bg); /* fallback bez color-mix */
    background:color-mix(in srgb, var(--bg) 96%, transparent);backdrop-filter:blur(12px);
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    opacity:0;visibility:hidden;transform:translateY(-10px);
    transition:opacity .35s ease,transform .35s ease,visibility .35s;
  }
  .mobile-menu.open{opacity:1;visibility:visible;transform:none}
  .mm-close{
    position:absolute;top:18px;right:20px;width:48px;height:48px;
    border:none;background:transparent;cursor:pointer;color:var(--ink);
    font-size:2rem;line-height:1;display:flex;align-items:center;justify-content:center;
  }
  .mm-links{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;width:100%;padding:0 24px}
  .mm-links a{
    font-family:var(--font-body);font-weight:500;letter-spacing:-.01em;
    font-size:1.7rem;color:var(--ink);min-height:56px;
    display:flex;align-items:center;justify-content:center;
  }
  .mm-links a:active{color:var(--accent)}
  .mm-cta{
    margin-top:22px;background:var(--ink);color:var(--bg)!important;border-radius:999px;
    padding:0 44px!important;min-height:56px!important;font-size:1.15rem!important;
  }
  /* spodní řádek mobilního menu: WhatsApp + e-mail + jazyk */
  .mm-utils{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:34px;flex-wrap:wrap}
  .mm-utils .nav-ico{color:var(--ink);width:44px;height:44px;border:1px solid var(--line)}
  .mm-utils .nav-ico svg{filter:none}
  .mm-lang{display:inline-flex;align-items:center;gap:4px}
  .mm-lang a{min-height:44px;display:inline-flex;align-items:center;padding:0 12px;border-radius:0;font-size:1rem;color:var(--ink-soft)}
  .mm-lang a[aria-current="true"]{color:var(--accent);font-weight:600}
  body.menu-open{overflow:hidden}

  /* —— tlačítka (.btn) sdílené napříč sekcemi (hero je full-screen fotka, viz .hero-a) —— */
  .btn{
    background:transparent;color:var(--ink);border:1px solid var(--ink);
    padding:15px 30px;border-radius:999px;font-size:.9rem;font-weight:500;
    font-family:var(--font-body);display:inline-block;transition:transform .3s,background .25s,color .25s;
  }
  .btn:hover{transform:translateY(-2px);background:var(--ink);color:var(--bg)}


  /* —— section frame —— (více white space: vertikální rytmus 140/80/64) */
  section.block{padding:0 0 var(--space-section)} /* MEZERU NA ŠVU NESE JEN SPODNÍ STRANA (2026-08-06, oprava dle zadání klientek).
     Dřív `padding:var(--space-section) 0` = 72px nahoře I dole → na každém švu se sečetlo 72+72 = 144px.
     Nyní padding-top:0 + padding-bottom:72px → soused dá 0 a šev je přesně 72px. NEVRACET na oboustranný padding.
     Spodní strana (ne horní) záměrně: poslední sekce tak drží odstup od patičky; horní šev první sekce řeší hero výjimka níže. */
  /* ===== VÝJIMKA — MEZERA POD HEREM (NESAHAT) =====================================
     První sekce za herem (#services, „Co děláme") drží velký dýchací prostor 140px.
     Dřív ji řídil TÝŽ section.block padding jako ostatní sekce → zmenšení --space-section
     na 72px by ji strhlo s sebou. Proto má vlastní token --space-hero-gap (140px desktop,
     80/64 na tabletu/mobilu = původní hodnoty). NIKDY ji nenapojuj zpět na --space-section. */
  .hero-a + section.block{padding-top:var(--space-hero-gap)}
  /* #work vlastní padding (clamp) ODSTRANĚN 07/2026 → jede na čistých section.block 140/80/64 jako ostatní (mezery mezi sekcemi jednotné). Wordmark přesah O nás -72px je jinde. */
  /* kotvené sekce odsazené o výšku sticky navu (scroll-margin) */
  section[id]{scroll-margin-top:88px}

  /* SEKČNÍ PŘECHODY — varianty B „Overhang" / C „Editorial typo" / D „Obrazové předěly" ZRUŠENY
     (cleanup 07/2026, definitivně zamítnuty). Zůstává jen baseline „Klid" (A) = žádné override.
     Prvky .trans-photo/.trans-typo a jejich CSS odstraněny; body má natvrdo třídu trans-a. */

  /* =====================================================================
     BASELINE — PROLNUTÍ SEKCÍ (korekce 07/2026): přesah JEN na švu s VÝRAZNÝM
     prvkem = týmová fotka s EREZ wordmarkem (→ O nás). Všechny ostatní švy mají
     PLNÝ vzduch (rytmus 140/80/64 ze `section.block`, žádné záporné marginy) —
     texty neleží na fotkách. Zrušené hrany + jednotné pozadí sekcí ZŮSTÁVAJÍ
     (sekce nejsou obdélníky). Silné prvky na jiných švech řeší samostatné vrstvy:
     AT monogram (hero→služby), outline čísla varianty C, tonální kroky varianty B. */
  /* VELKÉ NADPISY (obří outline REALIZACE / O NÁS / KONTAKT) ZRUŠENY (cleanup 07/2026, zamítnuto).
     Layout sekcí uzamčen do bývalé podoby „bh-off": Realizace mají klasickou .sec-head (L),
     O nás/Kontakt používají svá obsahová h2. Pravidla níže (dřív s prefixem body.bh-off) platí
     nyní natvrdo pro všechny. body už nedostává třídu bh-on/bh-off. */

  /* — REALIZACE (#work): .work-head nese buď obří wordmark (ON) nebo klasickou .sec-head (OFF) — */
  .work-head{text-align:left;overflow:hidden;margin-top:-40px;margin-bottom:26px}
  @media(max-width:760px){.work-head{margin-top:-14px;margin-bottom:16px}}
  .work-h2{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  .sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
  /* skip link (header.php, první prvek v <body>): skrytý, dokud nemá fokus z klávesnice; pak vlevo nahoře NAD navigací (nav 100,
     .cta-float 500, lišta cookies 700 → 800). position:fixed = žádný vliv na layout. */
  .skip-link{position:fixed;top:12px;left:12px;z-index:800;transform:translateY(-200%);opacity:0;pointer-events:none;
    background:var(--ink);color:var(--bg);padding:12px 22px;border-radius:999px;font-family:var(--font-body);font-size:var(--fs-link);
    font-weight:500;letter-spacing:.02em;text-decoration:none;transition:none}
  .skip-link:focus{transform:none;opacity:1;pointer-events:auto;outline:2px solid var(--bg);outline-offset:-5px}
  /* cíl skip linku: main má tabindex=-1, aby po skoku opravdu dostal fokus (activeElement); není interaktivní → bez outline */
  main:focus{outline:none}

  /* Realizace = klasická .sec-head (L); fotka O nás s EREZ přesahem; Recenze flip.
     Uzamčeno natvrdo (dřív pod prefixem body.bh-off — VELKÉ NADPISY zrušeny). */
  .work-head{max-width:1200px;margin:0 auto var(--gap-heading-text);padding:0 var(--space-inner);text-align:left;overflow:visible; /* mezera pod „REALIZACE" k fotkám = 30px (sjednoceno se Službami) */
    display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
  .work-h2{position:static;width:auto;height:auto;margin:16px 0 0;padding:0;overflow:visible;clip:auto;white-space:normal;
    font-family:var(--font-head);font-weight:700;letter-spacing:-.02em;font-size:var(--fs-h1);line-height:1.08;max-width:16ch} /* work-h2 (bh-off viditelný) → 30px */
  @media(max-width:860px){.work-head{padding:0 20px;margin-bottom:var(--gap-heading-text)}}
  @media(max-width:760px){.work-head{flex-direction:column;align-items:flex-start}}

  /* #about = běžná sekce: nadpis „O nás" NAD fotkou, mezera nadpis→fotka řídí .sec-head margin-bottom (--gap-heading-text, 30px) jako u Služeb/Realizací.
     Dřívější „EREZ přesah" (padding-top:0 + margin-top:-72px, fotka vystupovala do Realizací) ZRUŠEN — nekompatibilní s nadpisem nad fotkou. */
  #about .about-wordmark-wrap{margin-top:0}
  @media(max-width:760px){#about .about-wordmark-wrap{margin-top:0}}

  /* rytmus sec-head: Recenze flip (uzamčeno) */
  #reviews .sec-head{flex-direction:row-reverse}
  #reviews .sec-head > div:first-child{text-align:right}
  @media(max-width:760px){
    #reviews .sec-head{flex-direction:column;align-items:flex-start}
    #reviews .sec-head > div:first-child{text-align:left}
  }

  .sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:var(--gap-heading-text);flex-wrap:wrap} /* mezera POD nadpisem k obsahu = 30px (jednotné napříč webem) */
  /* nadpis sekce bez svislé akcentní linky — oddělení drží jen whitespace */
  .sec-head > div:first-child{position:relative}
  .sec-head h2,.work-h2{font-size:var(--fs-h1);line-height:1.08;max-width:16ch} /* velký nadpis sekce → 30px (odsouhlaseno) */
  .sec-head p{color:var(--ink-soft);max-width:34ch;font-size:var(--fs-perex)} /* perex → 15px (odsouhlaseno) */
  /* zrcadlová varianta: nadpis (eyebrow+h2) vpravo a zarovnaný doprava, perex vlevo (doleva) */
  .sec-head--flip{flex-direction:row-reverse}
  .sec-head--flip > div:first-child{text-align:right}
  /* mobil: obě varianty pod sebe, nadpis první, VŠE vlevo (text-align:right by na malé šířce působilo rozbitě) */
  @media(max-width:760px){
    .sec-head,.sec-head--flip{flex-direction:column;align-items:flex-start}
    .sec-head--flip > div:first-child{text-align:left}
  }
  .sec-link{display:inline-flex;align-items:center;gap:7px;margin-top:14px;font-family:var(--font-body);font-size:var(--fs-link);font-weight:500;color:var(--accent);letter-spacing:.02em;transition:gap .3s,color .3s}
  .sec-link-caps{text-transform:uppercase;letter-spacing:.08em} /* odkaz kapitálkami (proces: katalog + detail procesu) */
  .sec-link:hover{gap:13px;color:var(--ink)}
  .sec-link.light{color:var(--white);opacity:.82}
  .sec-link.light:hover{color:var(--white);opacity:1}

  /* —— services — fotodlaždice s overlay (přestavba dle reference z 2.7):
     tmavé dlaždice na sraz, titulek + šipka viditelné vždy, na hover ztmavení + popisek.
     Dlaždice vykresluje PHP (front-page.php) z repeateru „Služby“ na stránce nastavení Úvodní stránka (erez-core), fotky z médií. —— */
  /* full-bleed mřížka přes celý viewport (ref. smlxl.cz). Grid je přímé dítě <section>
     Mřížka 3×3 (9 dlaždic 16:9) — UZAMČENO NATVRDO (07/2026; přepínač sv-a/b/c + varianty 4×2 i skrývání
     9. dlaždice odstraněny). ODSAZENÁ (uvnitř .wrap → lícuje se sec-head a zbytkem webu, ne full-bleed).
     Kompaktní blok dlaždic s dýchajícími mezerami; pozadím prosvítá --bg (žádné linky). */
  .serv-grid{position:relative;width:100%;
    display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(8px,0.8vw,14px)} /* mezery zmenšeny ~o polovinu (feedback klientek: bílá mřížka moc dominantní) → ~11–12px na 1440 */
  /* responzivita: 3 sl. desktop → 2 sl. ≤900 → 1 sl. ≤600 (všech 9 dlaždic vždy viditelných). */
  @media(max-width:900px){.serv-grid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:600px){.serv-grid{grid-template-columns:1fr}}
  /* Dlaždice 16:9 (širší a nižší než dřívější 4:3) → cíl: všech 9 v mřížce 3×3 „najednou" s minimem scrollu. */
  .serv-tile{position:relative;overflow:hidden;display:block;aspect-ratio:16/9;background:var(--ink);color:#fff;border:0;padding:0;width:100%;font-family:inherit;cursor:default}
  /* 9. slot „Připravujeme" — volné místo v mřížce 3×3: bez šipky, titulek tlumený (žádný hover reveal) */
  .serv-tile--soon .serv-tile-title{color:rgba(255,255,255,.62)}
  .serv-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:filter .6s ease;filter:saturate(.95)} /* hover zoom zrušen → bez transform přechodu, fotka statická */
  /* <picture> je jen obal pro webp/jpg fallback — display:contents => negeneruje box,
     takze <img> zustava jedinym prvkem a chova se presne jako pred zavedenim <picture>. */
  .serv-tile picture{display:contents}
  /* overlay: základní .58 → hover/focus .80 (záměrná rgba černá kvůli čitelnosti přes fotku) */
  .serv-tile::after{content:"";position:absolute;inset:0;z-index:1;background:rgba(0,0,0,.58);transition:background .35s ease}
  .serv-tile:hover::after,.serv-tile:focus-visible::after{background:rgba(0,0,0,.80)}
  .serv-tile-in{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:flex-start;padding:clamp(20px,2vw,32px);gap:16px}
  .serv-tile-title{font-family:var(--font-head);font-weight:500;text-transform:uppercase;letter-spacing:.06em;
    font-size:var(--fs-tile);line-height:1.18;color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.5)} /* název dlaždice → 16px (odsouhlaseno) */
  /* šipka míří DOLŮ na popisek (rotace glyphu → o 90°, ne výměna znaku — konzistentní napříč prohlížeči).
     flex-shrink:0 → kolečko se ve flex-column dlaždici NIKDY svisle nestlačí na „vejce" (fix 07/2026,
     kritické u nižší 16:9 dlaždice). aspect-ratio:1 = pojistka kruhu i kdyby se šířka měnila.
     Na hover se ŠIPKA ODEBERE z layoutu (display:none — MUSÍ být display, ne opacity, jinak by místo
     dál zabírala a popisek by se ořízl) — splnila účel (ukázala „dole je popisek") a uvolní ~44 px+gap,
     aby se dlouhý popisek v nízké 16:9 dlaždici vešel bez ořezu (fix přetečení 07/2026). */
  .serv-tile-arrow{width:44px;height:44px;flex-shrink:0;aspect-ratio:1;border-radius:50%;border:1px solid rgba(255,255,255,.6);
    display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#fff;
    transform:rotate(90deg);
    transition:transform .35s ease}
  .serv-tile:hover .serv-tile-arrow,.serv-tile:focus-visible .serv-tile-arrow,.serv-tile.open .serv-tile-arrow{display:none}
  /* popisek — ODRÁŽKY (<ul>, 07/2026): skrytý, na hover/focus fade + posun (translateY 8→0).
     Reset list-style/padding/margin (margin-top:auto zůstává — drží popisek u spodní hrany dlaždice). */
  .serv-tile-desc{list-style:none;margin:0;margin-top:auto;padding:0;
    font-size:.78rem;line-height:1.45;color:rgba(255,255,255,.92);
    text-shadow:0 1px 10px rgba(0,0,0,.5);opacity:0;transform:translateY(8px);
    transition:opacity .35s ease,transform .35s ease}
  /* odrážka přes ::before (ne list-style) → přesná kontrola odsazení; barva i velikost se dědí z .serv-tile-desc */
  .serv-tile-desc li{position:relative;padding-left:14px;margin-bottom:5px}
  .serv-tile-desc li::before{content:'–';position:absolute;left:0;top:0}
  .serv-tile-desc li:last-child{margin-bottom:0}
  .serv-tile:hover .serv-tile-desc,.serv-tile:focus-visible .serv-tile-desc,.serv-tile.open .serv-tile-desc{opacity:1;transform:none}
  .serv-tile:focus-visible{outline:none}
  /* FOKUS DLAŽDICE (2026-09-18): outline se tu NIKDY nevykreslil — outline prvku se z-index:auto se maluje PŘED jeho
     pozicovanými potomky (img z=0, ::after z=1, .-in z=2 ho překryly). Kreslí se proto přes ::before nad vším (z=3),
     jen ve stavu fokusu (jinak content:none = žádný prvek navíc), pointer-events:none = klik jde dál na dlaždici.
     Dvojitá linka: tmavá --ink 3 px u hrany (stejná tloušťka jako dřívější outline) + světlá --bg 2 px hned vedle ní
     dovnitř → na světlé fotce nese kontrast tmavá, na tmavé světlá (inset box-shadow: první stín je navrchu). */
  .serv-tile:focus-visible::before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;box-shadow:inset 0 0 0 3px var(--ink),inset 0 0 0 5px var(--bg)}
  /* .open = rozbaleno klepnutím na dotyku (JS ve front-page.php, vzor akordeonu O nás); stejný vzhled jako hover */
  .serv-tile.open::after{background:rgba(0,0,0,.80)}
  /* touch zařízení (hover:none): overlay .70, popisek skrytý — rozbalí ho až klepnutí (.open). Dřív (07/2026) byl popisek
     trvale viditelný a šipka odebraná; od 09/2026 se chová jako akordeon: šipka = výzva ke klepnutí, 2. klepnutí sbalí. */
  @media(hover:none){
    .serv-tile::after{background:rgba(0,0,0,.70)}
    /* „přilepený" :hover po klepnutí (Chromium/iOS drží hover do dalšího dotyku) nesmí přebít sbalený stav —
       bez .open platí klidový vzhled i pod :hover (specificita :not(.open) přebije pravidla :hover výše) */
    .serv-tile:hover:not(.open)::after{background:rgba(0,0,0,.70)}
    .serv-tile:hover:not(.open) .serv-tile-desc{opacity:0;transform:translateY(8px)}
    .serv-tile:hover:not(.open) .serv-tile-arrow{display:flex}
  }
  @media(prefers-reduced-motion:reduce){
    .serv-tile img,.serv-tile::after,.serv-tile-desc,.serv-tile-arrow{transition:none!important}
    .serv-tile-desc{opacity:1;transform:none}
    .serv-tile-arrow{display:none} /* desc trvale viditelný → šipka odebrána z layoutu */
  }
  /* fullwidth mřížka je posledním prvkem #services → zruš spodní padding sekce,
     ať navazuje přímo na Proces bez prázdného světlého pruhu */
  /* #services{padding-bottom:0} ODSTRANĚNO 07/2026 → jede na section.block 140/80/64 (mezera Služby↔Proces jednotná s ostatními) */


  /* (popup realizací odstraněn — realizace mají vlastní stránky realizace.html?p=<slug>) */

  /* ===== PROCES — 3 varianty (A/B/C, viditelnost body.pv-*). ZAMČENO na světlý režim
     (koncept = bílá galerijní; dark/light přepínač odstraněn). Barvy přes lokální proměnné
     --proc-* (= --bg/--ink/--line) → drží kontrast ve všech paletách. ===== */
  /* Akordeon (B) je jediná varianta procesu — kruhy (A) i osa (C) zrušeny (cleanup 07/2026). */
  body.pv-b .proc-b{display:block}
  /* Sekce Proces je ZAMČENÁ na světlý režim (koncept = bílá galerijní). --proc-* = světlé
     hodnoty (bg=--bg, fg=--ink, line=--line) → drží kontrast ve všech paletách. */
  #process{--proc-bg:var(--bg);--proc-fg:var(--ink);--proc-fg-soft:var(--ink-soft);--proc-line:var(--line);
    background:var(--proc-bg)}
  #process .sec-head h2{color:var(--proc-fg)}
  #process .sec-head p{color:var(--proc-fg-soft)}
  #process .sec-head .sec-link{color:var(--proc-fg-soft)}
  #process .sec-head .sec-link:hover{color:var(--proc-fg)}
  /* PŘESUNUTÉ ODKAZY „všechny …" (2026-08-11) — druhý flex item hlavičky sekce:
     vpravo, spodní hrany zarovnané s nadpisem (.sec-head i .work-head mají align-items:flex-end).
     max-width:none → odkaz se nezalomí o zděděných 34ch z `.sec-head p`.
     Barva zůstává var(--accent) i v #process: pravidlo `#process .sec-head .sec-link` výše
     bylo psané pro katalogový odkaz a odkaz by ztmavlo — hlavičky Proces a Realizace
     by se pak barevně rozešly. Symetrie obou hlaviček má přednost. */
  .sec-head-link{margin:0;max-width:none}
  /* POZOR NA SPECIFICITU (fix 2026-08-11): v .work-head stačí pravidlo výše, protože tam
     žádné `p` pravidlo nekonkuruje. Uvnitř .sec-head ale `.sec-head p{max-width:34ch}`
     (0,1,1) PŘEBÍJÍ `.sec-head-link` (0,1,0) → odkaz Procesu se lámal na dva řádky
     (šipka „→" spadla na druhý). Proto scoped pravidlo se specificitou 0,2,1.
     nowrap = pojistka, aby šipka nikdy neodskočila od textu. Realizace NEDOTČENY. */
  .sec-head p.sec-head-link{max-width:none;white-space:nowrap}
  #process .sec-head .sec-head-link .sec-link{color:var(--accent)}
  #process .sec-head .sec-head-link .sec-link:hover{color:var(--ink)}

  /* —— VIDEO v sekci Proces (front-page.php, obsah ze stránky nastavení Úvodní stránka):
     .video-placeholder = <button> s náhledem + kroužek play a nápis (jen když je vyplněn odkaz na Vimeo);
     po klepnutí ho JS nahradí <iframe> přehrávače. .proc-video-still = jen fotka bez odkazu (nic klikatelného,
     bez ztmavení a bez kroužku). —— */
  .video-placeholder{position:relative;display:block;width:100%}
  .video-placeholder::before{content:"";position:absolute;inset:0;z-index:1;background:rgba(0,0,0,.25);pointer-events:none}
  .proc-video-btn{padding:0;border:0;background:none;cursor:pointer;font:inherit;color:inherit;text-align:inherit;-webkit-appearance:none;appearance:none}
  .proc-video-btn:focus-visible{outline:3px solid var(--ink);outline-offset:-3px}
  .proc-video-btn:hover .vp-play,.proc-video-btn:focus-visible .vp-play{background:rgba(255,255,255,.18)}
  .proc-video-still{display:block;width:100%}
  /* záložní plocha bez náhledu: 16:9 jako fotka, pozadí --bg-deep (stejný tón jako karta kontaktu a pozadí
     .proc-b-video — plocha „nesvítí" na světlé stránce), logo studia vycentrované, šířka 40 % plochy (na 540 px
     sloupci ~216 px), min. 120 px kvůli mobilu, odsazení od krajů přes padding */
  .proc-video-plate{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:16/9;padding:12%;box-sizing:border-box;background:var(--bg-deep)}
  .proc-video-plate img{display:block;width:clamp(120px,40%,260px);height:auto}
  /* plocha uvnitř tlačítka (je odkaz na video): logo k horní hraně, aby ho nepřekrýval kroužek play uprostřed */
  .proc-video-btn .proc-video-plate{align-items:flex-start;padding-top:4%}
  .proc-b-video iframe{display:block;width:100%;aspect-ratio:16/9;border:0;background:#000}
  .vp-overlay{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;pointer-events:none}
  .vp-play{width:72px;height:72px;border-radius:50%;border:1.5px solid rgba(255,255,255,.9);display:flex;align-items:center;justify-content:center}
  .vp-play svg{width:26px;height:26px;margin-left:3px;fill:#fff}
  .vp-label{text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-family:var(--font-body);font-weight:500;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.45)}

  /* VARIANTA A (kruhy + fullwidth video) ZRUŠENA (cleanup 07/2026) — zůstává jen akordeon (B). */

  /* —— VARIANTA B: akordeon + video přes celou výšku sloupce —— */
  .proc-b-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,56px);margin-top:56px;align-items:start}
  .proc-b-video{border-radius:0;overflow:hidden;background:var(--bg-deep)}
  /* levý sloupec: video + button „Chci úvodní konzultaci zdarma" pod ním (nad odkazem na detaily) */
  .proc-consult{margin-top:clamp(20px,3vw,32px);text-align:left}
  .proc-consult .btn{text-transform:uppercase;letter-spacing:.04em}
  /* CTA mezi Realizace a O nás — vzor .proc-consult, ale vycentrovaný (přechod mezi sekcemi) */
  .work-consult{margin:clamp(40px,6vw,80px) 0 clamp(20px,3vw,40px);text-align:center}
  .work-consult .btn{text-transform:uppercase;letter-spacing:.04em}
  /* AKCE POD MŘÍŽKOU NA JEDNOM ŘÁDKU (2026-08-09): button vlevo (pod 1. dlaždicí),
     odkaz „všechny realizace" vpravo (pod 3. dlaždicí).
     max-width + padding kopírují .work-tiles → hrany lícují s mřížkou. ZÁMĚRNĚ BEZ třídy .wrap:
     ta má mobilní override 20/16px, kdežto .work-tiles drží 32px na všech šířkách. */
  .work-actions{display:flex;justify-content:space-between;align-items:center;
    max-width:1200px;margin:clamp(40px,6vw,80px) auto clamp(20px,3vw,40px);
    padding:0 var(--space-inner);gap:24px;flex-wrap:wrap}
  /* Svislé mezery i centrování přebírá .work-actions — scopovaně, ať .work-consult
     a hlavně .proc-detail-link v sekci #process zůstanou beze změny (tam je vycentrovaný). */
  .work-actions .work-consult,
  .work-actions .proc-detail-link{margin:0;text-align:left}
  /* .sec-link má margin-top:14px (odsazení od perexu v .sec-head) — tady by odkaz posadilo
     o 14px níž než tlačítko; na jednom řádku musí být oba opticky na stejné ose. */
  .work-actions .sec-link{margin-top:0}
  .proc-b-video .video-placeholder{height:auto}
  .proc-b-video .proc-vid{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover} /* video 16:9; height:auto NUTNÉ — atribut height z wp_get_attachment_image by přebil aspect-ratio */
  .proc-acc{display:flex;flex-direction:column;align-self:start;width:100%}
  .proc-acc-item{border-top:1px solid var(--proc-line)}
  .proc-acc-item:last-child{border-bottom:1px solid var(--proc-line)}
  .proc-acc-head{width:100%;background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;
    gap:20px;padding:28px 0;text-align:left;font-family:var(--font-head);font-weight:500;
    font-size:clamp(1.1rem,1.9vw,1.4rem);color:var(--proc-fg);letter-spacing:0}
  .proc-acc-ico{flex:0 0 auto;width:22px;height:22px;position:relative;transition:transform .3s ease}
  .proc-acc-ico::before,.proc-acc-ico::after{content:"";position:absolute;background:var(--proc-fg)}
  .proc-acc-ico::before{top:50%;left:0;width:100%;height:1.5px;transform:translateY(-50%)}
  .proc-acc-ico::after{left:50%;top:0;width:1.5px;height:100%;transform:translateX(-50%)}
  .proc-acc-item.open .proc-acc-ico{transform:rotate(45deg)} /* + → × */
  .proc-acc-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s ease}
  .proc-acc-item.open .proc-acc-panel{grid-template-rows:1fr}
  .proc-acc-inner{overflow:hidden;min-height:0}
  .proc-acc-panel p{color:var(--proc-fg-soft);line-height:1.65;padding-bottom:28px;max-width:52ch;margin:0;text-align:justify;hyphens:auto;-webkit-hyphens:auto}
  /* řádek „kroky X–Y … Celý proces →" pod rozbaleným textem fáze (varianta B) */
  .proc-acc-inner p:first-child{padding-bottom:14px}
  .proc-acc-more{padding-bottom:28px}
  .proc-acc-more a{font-weight:500;color:var(--accent);border-bottom:1px solid transparent;transition:color .25s,border-color .25s}
  .proc-acc-more a:hover{color:var(--proc-fg);border-color:currentColor}
  @media(max-width:760px){
    .proc-b-grid{grid-template-columns:1fr;gap:24px}
    .proc-b-video{order:-1}
    .proc-b-video .proc-vid{aspect-ratio:16/9}
  }
  /* PRAVÝ sloupec = akordeon + odkaz (aby mezera odkazu byla nezávislá na výšce levého sloupce) */
  .proc-b-right{min-width:0}
  /* odkaz UVNITŘ pravého sloupce pod akordeonem; text-align:center → střed v rámci sloupce == střed akordeonu.
     margin-top:30px = mezera od SPODNÍ ČÁRY akordeonu (poslední .proc-acc-item) přesně 30px. */
  .proc-detail-link{margin-top:30px;margin-bottom:0;text-align:center;font-size:var(--fs-link)} /* ODKAZ 14px (2026-08-06; dřív dědil 16px) */

  /* VARIANTA C (typografická osa) ZRUŠENA (cleanup 07/2026) — zůstává jen akordeon (B). */
  @media(prefers-reduced-motion:reduce){
    #process,#process .sec-head h2,#process .sec-head p,
    .proc-acc-ico,.proc-acc-panel{transition:none!important}
  }




  /* —— REALIZACE: DLAŽDICE „XL" — UZAMČENO NATVRDO (07/2026; přepínač variant + body.wv-* i lookbook odstraněny).
     3 projekty ve fotodlaždicích (portrait 4/5, 3 vedle sebe). Fotky STATICKÉ (žádný hover zoom). —— */
  .work-tiles{display:grid;max-width:1200px;margin:0 auto;padding:0 var(--space-inner) 0; /* padding-top 0 → mezera pod „REALIZACE" řídí jen .work-head margin-bottom (30px) */
    grid-template-columns:repeat(3,1fr);gap:clamp(8px,0.8vw,14px)}
    /* gap shodný se .serv-grid — mřížka Realizací i Služeb
       musí mít stejný rytmus (feedback klientek 07/2026) */
  .work-tile{position:relative;overflow:hidden;display:block;aspect-ratio:4/5;background:var(--ink);color:#fff;text-decoration:none}
  .work-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:saturate(.95)} /* statická (žádný transform hover) */
  /* SPODNÍ SCRIM (2026-08-11) — OBRACÍ rozhodnutí z 2026-08-09 („žádné ztmavení, název vždy vidět").
     V KLIDU je dlaždice čistá fotka (bez ztmavení, bez názvu). Na hover se zespodu objeví tmavší podklad
     JEN v dolní části karty (ne přes celou fotku), aby byl název + odkaz čitelný přes libovolnou fotku.
     Barva z PALETY přes color-mix(--ink) → adaptuje se s přepnutím palety, žádný hardcoded hex.
     z-index 1 = mezi fotkou (0) a textem (.work-tile-in, 2). Stejná .35s křivka jako text → objeví se spolu. */
  .work-tile::after{content:'';position:absolute;left:0;right:0;bottom:0;height:55%;z-index:1;pointer-events:none;
    background:linear-gradient(to top,color-mix(in srgb,var(--ink) 82%,transparent) 0%,color-mix(in srgb,var(--ink) 48%,transparent) 45%,transparent 100%);
    opacity:0;transition:opacity .35s ease}
  .work-tile:hover::after,.work-tile:focus-visible::after{opacity:1}
  .work-tile-in{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:flex-start;padding:clamp(20px,2vw,32px);gap:10px}
  /* NÁZEV: v klidu SKRYTÝ, na hover se objeví NAD odkazem „detail realizace →" (2026-08-11).
     V DOM je až ZA šipkou, takže `margin-top:auto` posadí dvojici název+odkaz ke spodní hraně
     (šipka zůstane nahoře). Barva --white, protože leží na tmavém scrimu.
     META (lokalita · m²) odstraněna úplně (CSS i JS render). */
  .work-tile-title{margin-top:auto;font-family:var(--font-head);font-weight:500;text-transform:uppercase;letter-spacing:.06em;
    font-size:var(--fs-tile);line-height:1.15;color:var(--white); /* název dlaždice → 16px (odsouhlaseno) */
    text-shadow:0 1px 3px rgba(0,0,0,.7),0 1px 12px rgba(0,0,0,.6);
    opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .35s ease}
  .work-tile:hover .work-tile-title,.work-tile:focus-visible .work-tile-title{opacity:1;transform:none}
  .work-tile-arrow{width:44px;height:44px;aspect-ratio:1;flex-shrink:0;border-radius:50%;border:1px solid rgba(255,255,255,.6);
    display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#fff;
    transform:rotate(90deg);transition:background .25s,color .25s,transform .35s ease}
  .work-tile:hover .work-tile-arrow,.work-tile:focus-visible .work-tile-arrow{background:#fff;color:#1a1a1a;transform:translateY(4px) rotate(90deg)}
  /* Hover obsah = název + „detail realizace →" (07/2026, klientky: místo teaseru popisu odkaz na detail).
     Není to vnořené <a> — celá dlaždice UŽ JE odkaz na realizace.html?p=slug, proto stačí link-look
     (uppercase + podtržení), klik kamkoli po dlaždici vede na detail.
     `margin-top:auto` NESE NÁZEV nad ním (odkaz už ho mít nesmí, jinak by se dvojice rozjela). */
  .work-tile-desc{font-size:.78rem;line-height:1.4;letter-spacing:.12em;text-transform:uppercase;
    color:#fff;text-decoration:underline;text-underline-offset:4px;
    text-shadow:0 1px 3px rgba(0,0,0,.7),0 1px 12px rgba(0,0,0,.6);opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .35s ease}
  .work-tile:hover .work-tile-desc,.work-tile:focus-visible .work-tile-desc{opacity:1;transform:none}
  .work-tile:focus-visible{outline:none} /* fokus = dvojitá linka přes ::before, viz .serv-tile:focus-visible (outline pod potomky nebyl vidět) */
  .work-tile:focus-visible::before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;box-shadow:inset 0 0 0 3px var(--ink),inset 0 0 0 5px var(--bg)}
  /* Dotyk: není hover → název, odkaz I scrim jsou vidět VŽDY (jinak by na mobilu byla karta jen fotka). */
  @media(hover:none){.work-tile-title,.work-tile-desc{opacity:1;transform:none}.work-tile::after{opacity:1}}
  @media(max-width:900px){.work-tiles{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:600px){.work-tiles{grid-template-columns:1fr}}



  /* ===== O NÁS — sloučené .diff + .about; 3 varianty (konfigurátor A/B/C). ZAMČENO na světlý
     režim (koncept = bílá galerijní; dark/light přepínač odstraněn). --ab-* = světlé hodnoty
     (bg=--bg, fg=--ink, line=--line) → kontrast ve všech paletách.
     Sekce NEpoužívá .sec-head (má vlastní hlavičky) → nezasahuje do střídání sec-head. ===== */
  #about{--ab-bg:var(--bg);--ab-fg:var(--ink);--ab-fg-soft:var(--ink-soft);--ab-line:var(--line);
    background:var(--ab-bg);color:var(--ab-fg)}
  /* O nás má nově JEDEN pevný layout (varianty A/B/C zrušeny — konfigurátorový selektor odstraněn).
     Pořadí: týmová fotka s EREZ wordmarkem → dvousloupec (nadpis+text | 3 číslované body) → button. */
  .about-a{display:block}
  .about-wrap{max-width:1200px;margin:0 auto;padding:0 var(--space-inner)}
  /* sdílené prvky hlaviček / textu */
  /* Nadpis „O nás" = běžný sekční nadpis NAD fotkou (sdílená .sec-head + čisté <h2>), žádné vlastní .about-h2 pravidlo (2026-07-22, přesun z overlaye). EREZ wordmark + gradient zůstávají na fotce. */
  .about-text{max-width:none;margin-top:24px}
  .about-text p{color:var(--ab-fg-soft);font-size:1.02rem;line-height:1.7;margin-bottom:14px;text-align:justify} /* odstavce O nás do bloku */
  .about-text p:last-child{margin-bottom:0}

  /* —— VARIANTA A „Wordmark" —— */
  /* dvousloupcový blok: vlevo about text, vpravo diff položky svisle pod sebou (hairline) */
  .about-a-cols{display:grid;grid-template-columns:1fr;gap:80px;margin-top:28px;align-items:start} /* pravý sloupec „3 body" odebrán → text přes celou šířku (07/2026) */
  .about-a-left .about-text{margin-top:20px}
  @media(max-width:900px){.about-a-cols{grid-template-columns:1fr;gap:48px}}
  .about-wordmark-wrap{position:relative;overflow:hidden;margin:56px 0 0;border-radius:0}
  /* <picture> nesmi tvorit box uvnitr figury — display:contents => grid/flow resi primo <img>.
     POZOR: uvnitr GRIDU/FLEXU by se timhle stal polozkou i <source> (neni display:none) — tady je host block, takze je 0x0 a nevadi. */
  .about-wordmark-wrap picture{display:contents}
  /* Fotka jede ve SVEM pomeru — zadny aspect-ratio ani object-fit, takze se nic neorizne;
     vysku si urcuje sama a figura .about-wordmark-wrap se ji prizpusobi (nema zadnou vyskovou restrikci). */
  .about-a .about-photo{display:block;width:100%;height:auto;background:var(--bg-deep)}
  /* button „Proč Erez atelier?" → o-nas.html (plný styl, uppercase přes text-transform) */
  .about-cta-row{margin-top:44px;text-align:center} /* button na střed pod textem */
  .about-cta-btn{display:inline-block;background:var(--white);color:var(--ink);padding:15px 30px;border:1px solid var(--ink);
    font-family:var(--font-head);font-weight:500;font-size:var(--fs-link);text-transform:uppercase;letter-spacing:.14em;
    border-radius:999px;transition:background .3s ease,color .3s ease}
  .about-cta-btn:hover,.about-cta-btn:focus-visible{background:var(--ink);color:var(--white)}
  @media(max-width:760px){.about-cta-row{margin-top:32px}.about-cta-btn{padding:16px 28px;font-size:.78rem}}
  @media(prefers-reduced-motion:reduce){#about,.about-cta-btn{transition:none!important}}

  /* —— reviews —— */
  /* —— reviews slider / carousel —— */
  .rev-slider{position:relative;margin-top:40px}
  .rev-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
    padding:4px 2px 16px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .rev-track::-webkit-scrollbar{display:none}
  .rev{flex:0 0 calc((100% - 48px)/3);scroll-snap-align:start;padding:6px 30px 6px 0;display:block;color:var(--ink);text-decoration:none}
  .rev p{font-family:var(--font-body);font-weight:400;font-size:1.05rem;line-height:1.5;margin:0 0 16px}
  .rev .who{font-size:.82rem;color:var(--ink-soft);font-weight:500}
  /* „→ název realizace" — vizuální signál prokliku (accent, podtržení na hover) */
  .rev-link{display:inline-block;color:var(--accent);font-size:.9rem;font-weight:500;letter-spacing:.01em;transition:color .25s}
  .rev:hover .rev-link{text-decoration:underline;text-underline-offset:3px}
  .rev-arrow{position:absolute;top:42%;transform:translateY(-50%);z-index:3;width:44px;height:44px;border-radius:50%;
    border:1px solid var(--line);background:var(--bg);color:var(--ink);cursor:pointer;font-size:1.5rem;line-height:1;
    display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.1);
    transition:background .25s,color .25s,border-color .25s}
  .rev-arrow:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}
  .rev-prev{left:-6px}
  .rev-next{right:-6px}

  /* —— CTA band —— */
  .cta-band{text-align:left} /* padding ODSTRANĚN 07/2026 → #contact jede na section.block 140/80/64 (mezera Recenze↔Kontakt jednotná s ostatními) */
  .cta-band h2{font-size:var(--fs-h1);line-height:1.05;max-width:18ch;margin:0 auto var(--gap-heading-text)} /* nadpis Kontakt → 30px; spodní mezera = var(--gap-heading-text) = font-size nadpisu */
  .cta-band h2 em{font-style:normal;color:var(--accent)}
  .cta-band p{color:var(--ink-soft);margin-bottom:36px;font-size:var(--fs-perex)} /* perex → 15px (odsouhlaseno) */
  /* Poptávkový formulář v #contact = KOPIE tabu „Rychlý kontakt" z #leadModalu (07/2026).
     Pole dědí sdílené .form-row/.form-submit/.form-note (viz blok „formulářová pole" níže),
     tady jen kontejner + typo škála sekce. Odesílání přes admin-ajax (erez-core, demoSubmit ve footer.php). */
  .contact-form{max-width:520px;margin:0 auto;text-align:left}
  #contact .form-row label,#contact .form-row legend{font-size:.71875rem}      /* POPISEK-NAD 11,5px caps */
  /* .cta-band p (perex 15px) je specifičtější než .form-note → poznámku pod formulářem srovnávám ručně */
  #contact .form-note{font-size:.71875rem;margin-bottom:0;text-align:center} /* poznámka na STŘED pod buttonem */
  #contact .form-row .form-note{text-align:left;margin-bottom:0} /* nápověda uvnitř pole (Příloha) zůstává vlevo */
  /* Oba buttony v #contact = TÁŽ třída .btn-outline → vizuálně IDENTICKÉ (outline pill, šipka „→",
     14px caps). „Odeslat" (.contact-send) má auto šířku a je VYCENTROVANÝ na střed sloupce
     (align-self:center; ve flex-column formuláři by se jinak roztáhl na 100 %). */
  /* line-height explicitně → <button> (Odeslat) i <a> (Katalog) mají STEJNOU výšku
     (jinak <button> dědí normal a <a> ~1.6 → rozdíl ~6px). */
  #contact .btn-outline{text-transform:uppercase;letter-spacing:.09em;font-size:.875rem;line-height:1.5}
  #contact .contact-send{align-self:center}
  /* outline button („Odeslat" v kontaktním formuláři) */
  .btn-outline{display:inline-block;background:transparent;color:var(--ink);border:1px solid var(--ink);
    padding:12px 24px;border-radius:999px;font-family:var(--font-body);font-size:.85rem;font-weight:500;
    cursor:pointer;transition:background .25s ease,color .25s ease,transform .3s ease;white-space:nowrap}
  .btn-outline:hover,.btn-outline:focus-visible{background:var(--ink);color:var(--bg);transform:translateY(-2px)}
  /* KONTAKT — nadpis+perex NAD gridem (plná šířka), pod ním 2 sloupce: formulář | karta Lucie.
     align-items:stretch → pravý sloupec je stejně vysoký jako levý (výška formuláře),
     takže katalog s margin-top:auto klesne ke spodní hraně a lícuje s „Odeslat" vlevo.
     Horní hrany obou sloupců sedí na řádku gridu = první form-row ↔ horní hrana karty. */
  .contact-head h2{font-size:var(--fs-h1);line-height:1.08;max-width:20ch;margin:0 0 12px} /* nadpis Kontakt = styl .sec-head h2 (uppercase dědí z .cta-band h2) */
  .contact-head > p{color:var(--ink-soft);font-size:var(--fs-perex);margin:0 0 var(--gap-heading-text);max-width:52ch} /* PEREX 15px */
  /* align-items:stretch → obě kolony stejně vysoké (výška vyššího sloupce). Oba buttony jsou
     ukotveny margin-top:auto ke SPODNÍ hraně své kolony → jejich spodní hrany lícují nezávisle
     na tom, který sloupec je vyšší (robustní, bez magických offsetů). */
  .cta-band .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,4.5vw,72px);align-items:stretch;text-align:left}
  /* LEVÝ sloupec = flex-column; formulář ho vyplní (flex:1) → „Odeslat" (poslední prvek, viz níže
     margin-top:auto na form-note) sedí na spodní hraně sloupce. */
  .contact-col-form{min-width:0;display:flex;flex-direction:column}
  .contact-col-form .contact-form{max-width:none;margin-left:0;margin-right:0;flex:1 1 auto;display:flex;flex-direction:column;position:relative}
  /* POZOR: `display:flex` výše přebíjí UA styl atributu [hidden] (display:none) → neaktivní záložka
     by zůstala viditelná a nafoukla sloupec. Tohle pravidlo (vyšší specificita) ji skutečně skryje. */
  .contact-col-form .contact-form[hidden]{display:none}
  /* TÁŽ PAST u záložek: .lead-tabs má display:flex, které přebíjí UA styl atributu [hidden].
     Bez tohoto pravidla by se pills nedaly schovat (podmíněné zobrazení dle „Typ spolupráce"). */
  #contact .lead-tabs[hidden]{display:none}
  /* —— PRAVÝ sloupec: transparentní flex-column (karta + katalog pod ní) ——
     TYPO ŠKÁLA (07/2026): popisek/role 11,5px caps · kontaktní řádky 11,5px · jméno 16px. */
  .contact-col-info{min-width:0;display:flex;flex-direction:column}
  /* Šedý box karty Lucie. DVOUSLOUPEC (2026-08-09): vlevo OBDÉLNÍKOVÁ fotka přes CELOU výšku boxu
     (lícuje s hranou → padding:0 na kartě + overflow:hidden), vpravo jméno/role NAHOŘE a kontakty DOLE.
     flex:1 → karta vyplní pravý sloupec (stretchnutý na výšku formuláře) → spodní hrana karty lícuje
     s „Odeslat" vlevo. Dřív to zajišťoval katalog button s margin-top:auto (odstraněn). */
  /* SLOUPCE 50/50 (2026-08-11): fotka zabírá PŘESNĚ polovinu šířky boxu, text druhou.
     `minmax(0,1fr)` u textu (ne holé `1fr`) → dlouhý e-mail nerozšíří svůj track na úkor fotky. */
  .contact-card{flex:1 1 auto;display:grid;grid-template-columns:50% minmax(0,1fr);align-items:stretch;
    padding:0;overflow:hidden;background:var(--bg-deep);border:1px solid var(--line);border-radius:0}
  /* JEDNA třída pro VŠECHNY kontaktní řádky (telefon / WhatsApp / e-mail) — jedna velikost, jeden styl.
     Řádky jsou POD vizitkou (reorganizace 2026-07-24: vizitka nahoře, kontakty pod ní, bez labelu/čáry). */
  .contact-line{display:block;font-size:.71875rem;line-height:1.9;letter-spacing:.02em;
    color:var(--ink);text-decoration:none;transition:color .25s ease} /* INFO-RADKA 11,5px */
  .contact-line:hover,.contact-line:focus-visible{color:var(--accent)}
  /* FOTKA = vyplňuje CELOU levou polovinu boxu — plná šířka (100 % svého 50% tracku) i plná VÝŠKA,
     bez ohledu na to, jak vysoký je formulář vpravo (2026-08-11, po vizuální kontrole).
     `align-self:stretch` + `height:100%` + `min-height:100%` → obrázek se natáhne na výšku řádku;
     `object-fit:cover` + `object-position:center top` → výřez drží hlavu v záběru.
     NEVRACET `contain` / `height:auto` / `align-self:center` — fotka by v boxu „plavala"
     a kolem ní by prosvítalo pozadí karty. */
  .contact-person-photo{width:100%;height:100%;min-height:100%;align-self:stretch;
    border-radius:0;object-fit:cover;object-position:center top;background:var(--card);display:block}
  /* PRAVÁ část: blok jméno/role + kontakty VYCENTROVANÝ svisle na střed boxu (2026-08-09, přání klientek
     — dřív justify-content:space-between lepilo text ke krajům). Větší gap drží obě skupiny opticky
     oddělené, ale jako jeden vyvážený celek uprostřed. */
  .contact-person-side{min-width:0;display:flex;flex-direction:column;justify-content:center;
    gap:clamp(34px,5vw,72px);padding:clamp(24px,2.6vw,34px)}
  .contact-person-body{min-width:0}
  .contact-person-name{font-family:var(--font-head);font-weight:500;font-size:1rem;line-height:1.25;color:var(--ink)} /* NADPIS-DLAZDICE 16px */
  .contact-person-role{margin-top:6px;font-size:.71875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)} /* POPISEK-NAD 11,5px */
  /* DESKTOP (≥901px): oba buttony jsou POSLEDNÍ in-flow prvek své (stejně vysoké) kolony a přes
     margin-top:auto sedí na její spodní hraně → jejich spodní hrany lícují bez ohledu na to, který
     sloupec je vyšší (žádný magický offset). „Odeslat" má margin-top:auto přímo na buttonu; poznámka
     je position:absolute těsně POD ním (top:100% formuláře) → mimo tok, nezvedá button ani nemění
     výšku sloupce. Karta Lucie: flex:1 → vyplní sloupec až ke spodní hraně. */
  @media(min-width:901px){
    /* SPODNÍ HRANA KARTY = SPODEK POLE „ZPRÁVA" (2026-08-09, přání klientek).
       Mechanika: „Odeslat" + poznámka jsou v .contact-actions s position:absolute (top:100% formuláře),
       tedy MIMO TOK → výška levého sloupce = pills + pole (konec textarey). Grid má align-items:stretch,
       takže pravý sloupec (a v něm .contact-card s flex:1) se natáhne přesně na tuto výšku →
       spodek karty == spodek textarey. Akce se vykreslí POD kartou.
       .contact-actions ZŮSTÁVÁ uvnitř <form> — demoSubmit() skrývá f.children, takže se po odeslání
       schová i tlačítko (kdyby bylo mimo formulář, zůstalo by viset).
       Rezerva pod gridem drží akce nad patičkou; padding na gridu NEovlivňuje výšku řádků,
       takže kartu neprodlouží. NEVRACET margin-top:auto na .contact-send — přilepilo by ho ke spodku. */
    #contact .contact-actions{position:absolute;top:100%;left:0;right:0;margin-top:clamp(18px,2vw,26px);text-align:center}
    /* Aby spodek formuláře byl PŘESNĚ spodek textarey (a ne o 22px níž): zrušit margin-bottom
       posledního pole v toku (.contact-actions je absolutní, takže poslední pole je nth-last-child(2))
       a odstranit baseline mezeru pod <textarea> (je inline → ~8px pod sebou). */
    #contact .contact-form > :nth-last-child(2){margin-bottom:0}
    #contact .contact-form textarea{display:block}
    .cta-band .contact-grid{padding-bottom:clamp(96px,9vw,112px)}
    /* Horní hrana karty lícuje s horní hranou ZÁLOŽEK vlevo (2026-08-09). Dřívější offset 24px
       kompenzoval výšku labelu „TYP SPOLUPRÁCE" nad prvním selectem — od přidání pills už není
       první prvek sloupce label, ale záložky, takže offset ztratil smysl a karta začíná na 0. */
    #contact .contact-card{margin-top:0}
  }
  /* mobil: fotka NAHOŘE přes celou šířku, text pod ní (dvousloupec by fotku ztáhl na proužek).
     Jednosloupcový grid nemá výšku řádku, o kterou by se `height:100%` opřelo → výšku tu určuje
     `aspect-ratio` (a `height:auto`, aby se poměr uplatnil). `object-fit:cover` platí i tady. */
  @media(max-width:600px){
    .contact-card{grid-template-columns:1fr}
    .contact-person-photo{width:100%;height:auto;min-height:0;aspect-ratio:4/3}
  }
  @media(max-width:900px){
    .cta-band .contact-grid{grid-template-columns:1fr;gap:32px} /* úzký viewport: karta pod formulářem */
  }

  /* ===== KAPITÁLKOVÉ NADPISY (Tilda Sans, tenký look) =============================
     Hlavní obsahové nadpisy sekcí (Služby / Realizace / O nás / Proces / Recenze / Kontakt)
     = UPPERCASE + tenký řez (400) + zvětšený letter-spacing (.05em), aby kapitálky dýchaly.
     Blok je ZÁMĚRNĚ na konci CSS → přebíjí lokální letter-spacing/weight u jednotlivých h2.
     Perexy, popisy, medailonky, projektové názvy a body text zůstávají bez uppercase. */
  .sec-head h2,
  .work-h2,
  .cta-band h2,
  .contact-head h2{
    text-transform:uppercase;
    letter-spacing:.05em;
    font-weight:400;
  }

  /* .vid-band* (fullwidth studiový pás) odstraněn 07/2026 — sekce smazána na přání klienta. */

  /* —— footer —— sjednoceno do palety (bg-deep + tmavý text), aby nikde netrčelo jako
     cizí blok a fungovalo i v tmavé paletě Hluboká grafitová —— */
  footer{background:var(--bg);color:var(--ink);padding:70px 0 28px}
  .foot-grid{display:grid;grid-template-columns:1.5fr 1.1fr 1fr 1fr 1fr;gap:40px;margin-bottom:28px} /* mezera k spodnímu pruhu (09/2026: 50 → 28px, kompaktnější pata) */
  /* blok přímých kontaktů (první link-sloupec) — WA odkaz s malou ikonou */
  .foot-contact .foot-wa{display:inline-flex;align-items:center;gap:7px}
  .foot-wa-ico{width:15px;height:15px;flex:0 0 auto}
  /* nadpisy sloupců patičky: <h2 class="foot-title"> (dřív <h5> — kvůli pořadí nadpisů; vzhled 1:1). Reset *{margin:0} nuluje UA margin
     h2, font-family/weight/letter-spacing přebíjí obecné h1,h2,h3 výš díky vyšší specificitě, font-size a color jsou nastavené explicitně. */
  .foot-grid .foot-title{font-family:var(--font-body);font-weight:500;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:18px}
  .foot-grid a,.foot-grid p{display:block;color:var(--ink-soft);font-size:.92rem;margin-bottom:10px;transition:color .3s}
  .foot-grid a:hover{color:var(--ink)}
  /* Footer logo = OBRÁZEK (stejný soubor jako nav). Světlé pozadí footeru → logo TMAVÉ, BEZ invert filtru
     (invert v navu platí jen přes hero). Celé logo vč. taglinu v obrázku, height:auto (poměr 5.142). */
  /* Footer logo = OBRÁZEK (stejný soubor jako nav). Světlé pozadí footeru → logo TMAVÉ, BEZ invert filtru.
     Zvětšeno na 220px, aby byl tagline v obrázku (INTERIORS · ART & ARCHITECTURE) čitelný. Poměr 5.142. */
  .foot-logo-img{width:220px;height:auto;display:block}
  .foot-bottom{padding-top:14px;display:flex;justify-content:flex-start;align-items:baseline;flex-wrap:wrap;gap:6px 0;font-size:.78rem;color:var(--ink-soft)} /* vše vlevo v jedné řadě: copyright · zásady · cookies — vpravo dole leží plovoucí CTA, které by odkazy překrylo */

  /* ===========================================================
     UKÁZKOVÉ FORMULÁŘE — modální popupy (produkty + „Chci návrh").
     Pouze vizuální ukázka, nic se neodesílá (preventDefault).
     =========================================================== */
  .modal{position:fixed;inset:0;z-index:600;display:flex;align-items:center;justify-content:center;padding:24px;
    opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s}
  .modal.open{opacity:1;visibility:visible}
  .modal-backdrop{position:absolute;inset:0;background:rgba(20,18,14,.6);backdrop-filter:blur(3px)}
  .modal-panel{position:relative;z-index:1;width:min(560px,100%);max-height:92vh;overflow-y:auto;
    background:var(--white);color:var(--ink);border-radius:0;box-shadow:0 30px 70px rgba(0,0,0,.35);
    transform:translateY(12px) scale(.98);transition:transform .3s ease}
  .modal.open .modal-panel{transform:none}
  .modal-close{position:absolute;top:12px;right:12px;z-index:3;width:42px;height:42px;border:none;cursor:pointer;
    border-radius:50%;background:rgba(255,255,255,.9);color:#23201b;font-size:1.6rem;line-height:1;
    display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,.18)}
  .modal-close:hover{background:#fff}
  /* katalog popup — velký panel s iframe flipbooku (katalog.html jako jediný zdroj) */
  .katalog-modal .modal-panel{width:min(1100px,95vw);height:min(85vh,780px);max-height:92vh;padding:0;overflow:hidden}
  .katalog-modal iframe{width:100%;height:100%;border:0;display:block;background:var(--bg)}
  .modal-body{padding:26px 26px 30px}
  .modal-title{font-family:var(--font-head);font-size:1.5rem;font-weight:500;margin-bottom:4px}
  .modal-sub{font-size:.85rem;color:var(--ink-soft);margin-bottom:18px}
  /* formulářová pole */
  .form-row{margin-bottom:14px}
  .form-row label,.form-row legend{display:block;font-size:.71875rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px;font-weight:500}
  /* skupina checkboxů (časová preference) = <fieldset class="form-row"> s <legend> jako popiskem: bez rámečku a odsazení
     prohlížeče, legend vypadá 1:1 jako label (sdílí pravidlo výše); min-width:0 ruší min-content šířku fieldsetu */
  fieldset.form-row{border:0;padding:0;min-width:0}
  .form-row legend{float:none;width:100%;padding:0}
  .form-row input,.form-row select,.form-row textarea{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:0;
    background:var(--card);color:var(--ink);font-family:var(--font-body);font-size:.95rem;transition:border-color .2s}
  .form-row textarea{min-height:88px;resize:vertical}
  .form-row input:focus,.form-row select:focus,.form-row textarea:focus{border-color:var(--accent)}
  /* zřetelný indikátor fokusu (:focus-visible) — outline --ink 2 px s odstupem. Pozor: u textových polí prohlížeč bere
     :focus-visible za splněné i po kliknutí myší (pole přijímá klávesnici), rámeček se tedy ukáže vždy; u odkazů/tlačítek ne.
     --ink místo --accent (#9A9389 na --card má kontrast 2,65:1 < 3:1, --ink 15,4:1); fokusové linky sjednoceny na --ink napříč webem 18. 9. 2026 (nález #5). */
  .form-row input:focus-visible,.form-row select:focus-visible,.form-row textarea:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
  .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
  .form-submit{margin-top:6px;width:100%;background:transparent;color:var(--ink);border:1px solid var(--ink);padding:14px 24px;border-radius:999px;
    font-family:var(--font-body);font-size:.92rem;font-weight:500;cursor:pointer;transition:background .25s,color .25s,transform .25s}
  .form-submit:hover{background:var(--ink);color:var(--bg);transform:translateY(-1px)}
  .form-note{font-size:.71875rem;color:var(--ink-soft);opacity:.85;margin-top:10px;line-height:1.4}
  .form-souhlas a{color:inherit;text-decoration:underline;text-underline-offset:2px} /* věta o souhlasu pod Odeslat: odkaz na zásady stejně tlumený, jen podtržený */
  .form-souhlas a:hover{color:var(--ink)}
  /* časová preference – vícenásobný výběr (checkboxy) */
  .chk-group{display:flex;flex-wrap:wrap;gap:8px}
  .form-row .chk-opt{flex:1 1 auto;display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;
    margin-bottom:0;padding:10px 14px;border:1px solid var(--line);border-radius:0;background:var(--card);
    color:var(--ink);font-family:var(--font-body);font-size:.88rem;font-weight:400;letter-spacing:normal;
    text-transform:none;cursor:pointer;white-space:nowrap;user-select:none;
    transition:border-color .2s,background .2s,color .2s}
  .form-row .chk-opt:hover{border-color:var(--ink)}
  .form-row .chk-opt input{width:auto;margin:0;padding:0;flex:none;accent-color:var(--accent);cursor:pointer}
  .form-row .chk-opt:has(input:checked){border-color:var(--accent);
    background:color-mix(in srgb,var(--accent) 14%,var(--card));box-shadow:inset 0 0 0 1px var(--accent)}
  .form-msg{margin-top:14px;padding:12px 14px;border-radius:0;background:var(--card);border:1px solid var(--accent);color:var(--ink);font-size:.88rem;line-height:1.4}
  /* záložky variant v „Chci návrh" */
  .lead-tabs{display:flex;gap:6px;margin:2px 0 20px;flex-wrap:wrap}
  .lead-tab{flex:1 1 auto;border:1px solid var(--line);background:transparent;color:var(--ink-soft);
    font-family:var(--font-body);font-size:.76rem;padding:9px 14px;border-radius:999px;cursor:pointer;
    transition:background .2s,color .2s,border-color .2s;white-space:nowrap}
  .lead-tab:hover{border-color:var(--ink);color:var(--ink)}
  .lead-tab.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}
  @media(max-width:560px){
    .modal{padding:0}
    .modal-panel{width:100%;max-height:100%;height:100%;border-radius:0}
    .form-grid{grid-template-columns:1fr}
    .lead-tab{font-size:.72rem;padding:9px 6px}
    .chk-group{flex-direction:column}
    .form-row .chk-opt{width:100%}
  }
  /* /UKÁZKOVÉ FORMULÁŘE */

  /* reveal anim */
  .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}
  .reveal.in{opacity:1;transform:none}


  /* —— HERO A : fullscreen fotka (jedna, ze stránky nastavení Úvodní stránka; slider s více fotkami zrušen 09/2026) —— */
  /* fullwidth: hero od kraje ke kraji (100vw, nezávisle na .wrap) */
  /* full-viewport experience: hero přes celou obrazovku, nic pod ním při načtení */
  .hero-a{position:relative;height:100vh;height:100dvh;min-height:560px;width:100vw;left:50%;margin-left:-50vw}
  .hero-a .slides{position:absolute;inset:0;overflow:hidden}
  .hero-a .slide{
    position:absolute;inset:0;
    transition:filter .6s ease; /* Ken Burns zrušen → fotka statická (bez transform:scale) */
    /* opacity 0→1 (1,2 s prolnutí) zrušeno 09/2026: jediná fotka, prolnutí jen zdržovalo LCP */
  }
  /* fotka hero z knihovny médií (<picture> > <img>, front-page.php) — stejný výřez jako dřívější background-size:cover / center */
  .hero-a .slide picture{display:contents}
  .hero-a .slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
  /* jemná reakce na najetí myší — jen na zařízeních s myší (hover:hover),
     ať se na dotyku fotka „neblikala" při scrollování přes hero */
  @media (hover:hover){
    .hero-a:hover .slide{filter:brightness(1.08)}
  }
  /* @keyframes kb (Ken Burns) odstraněno — fotky hero se nezvětšují. */
  /* jemný overlay: tmavší jen nahoře (pod menu) a dole (pod monogramem), střed fotky čistý */
  .hero-a::after{content:'';position:absolute;inset:0;z-index:2;background:linear-gradient(
    180deg,
    rgba(0,0,0,.28) 0%,
    transparent 22%,
    transparent 78%,
    rgba(0,0,0,.30) 100%
  )}

  /* GLOBÁLNÍ ČERNOBÍLÝ REŽIM (třída body.bw) ZRUŠEN (cleanup 07/2026) — web je natvrdo barevný.
     Třídu body.bw nic nepřidává (DEV runtime v patičce smazán 2026-09-18). */
  /* AT monogram pod sliderem odstraněn (07/2026) — CSS i HTML pryč. */
  /* .dev-note („ZDE MŮŽE BÝT VIDEO") odstraněn 07/2026 — byl výhradně v .vid-band, který je pryč. */

  @media(max-width:860px){
    .wrap,.about-wrap{padding:0 20px} /* .about-wrap zrcadlí .wrap → „O nás" i text O nás lícují s ostatními sekcemi na všech šířkách */
    /* nav → na mobilu klasické: logo vlevo + hamburger (dělené menu jen desktop) */
    .logo{--logo-w:140px;padding-left:0} /* mobil: šířka loga 140px (odsouhlaseno) */
    /* mobil: podnázev by měl ~5px = nečitelný → VŽDY jen nápis; přes hero bílý, po scrollu černý */
    nav:not(.scrolled) .logo-img--cely{opacity:0}
    nav:not(.scrolled) .logo-img--wm-bily{opacity:1}
    .burger{display:flex}

    /* layout → single column */
    /* (services: responzivitu řeší vlastní breakpointy .serv-grid výše — 2 sl. ≤900, 1 sl. ≤600) */
    /* recenze: 1 karta + náznak další, šipky skryté (ovládá se swipe) */
    .rev{flex-basis:85%}
    .rev-arrow{display:none}

    :root{--space-hero-gap:80px} /* tablet: sekce jedou na --space-section (72px); mezera POD HEREM drží původních 80px */
    .sec-head{margin-bottom:var(--gap-heading-text);gap:16px}
    /* velikost nadpisů řeší var(--fs-h1) clamp (floor 24px) — mobilní font-size override odstraněn (bylo až 35px) */
    /* .cta-band mobilní padding ODSTRANĚN → section.block 80px (jednotné s ostatními sekcemi) */
    footer{padding:54px 0 24px}

    /* patička na mobilu (09/2026): logo skryté (na úvod vede logo v navu), 4 sloupce v mřížce 2×2 —
       řádek 1 Kontakt | Navigace, řádek 2 Sledujte nás | Studio (přes order, DOM i čtečky beze změny);
       align-items:start = sloupce se nenatahují na výšku souseda. Desktop (5 sloupců) nedotčen. */
    .foot-grid{grid-template-columns:1fr 1fr;gap:14px 28px;margin-bottom:20px;align-items:start}
    .foot-grid > div:first-child{display:none}
    .foot-contact{order:1}
    .foot-grid > div:nth-child(3){order:2} /* Navigace */
    .foot-grid > div:nth-child(5){order:3} /* Sledujte nás */
    .foot-grid > div:nth-child(4){order:4} /* Studio */
    .foot-grid a{min-height:36px;display:flex;align-items:center;margin-bottom:0}

    /* HERO A — kompaktní, ať se eyebrow + headline + lead + tlačítka vejdou
       do první obrazovky bez scrollování */
    .hero-a{height:100vh;height:100dvh;min-height:440px;max-height:none}
    .hero-a::after{background:linear-gradient(rgba(37,43,38,.42),rgba(37,43,38,.2) 45%,rgba(37,43,38,.62))}

    .sec-link{min-height:44px;align-items:center}
  }

  @media(max-width:480px){
    .wrap,.about-wrap{padding:0 16px}
    :root{--space-hero-gap:64px} /* mobil: sekce jedou na --space-section (72px); mezera POD HEREM drží původních 64px */
    .sec-head{margin-bottom:var(--gap-heading-text)}
    .rev{padding:26px 24px}
    /* .cta-band mobilní padding ODSTRANĚN → section.block 64px (jednotné s ostatními sekcemi) */
    .mm-links a{font-size:1.5rem;min-height:52px}
    /* patička kompaktní: odkazy ve 2 sloupcích vedle sebe, menší mezery */
    footer{padding:38px 0 18px}
    .foot-grid{grid-template-columns:1fr 1fr;gap:18px 20px;margin-bottom:16px}
    .foot-grid .foot-title{margin-bottom:8px}
    .foot-grid a{min-height:30px;font-size:.9rem}
    .foot-bottom{padding-top:10px;gap:4px 0;padding-right:130px} /* padding-right = rezerva pro plovoucí CTA vpravo dole (nejširší EN „Request a design“ ~175 px od pravého okraje se sem nevejde jen díky krátkým řádkům níže; rezerva chrání delší texty) */
    /* hero ještě o něco kompaktnější na telefonech */
    .hero-a{height:100vh;height:100dvh;min-height:415px}
  }


/* ====== STRÁNKA PROCES (proces.html) ====== */
  /* ====== HLAVIČKA ====== */
  .pr-head{padding:44px 0 0}
  .pr-head .eyebrow{display:block;margin-bottom:14px}
  /* nadpis 30px KAPITÁLKAMI (jako „CENÍK"); max-width:20ch odstraněn (lámal na 2 řádky); desktop nowrap = 1 řádek */
  .pr-head h1{font-size:var(--fs-h1);line-height:1.05;text-transform:uppercase}
  @media(min-width:901px){.pr-head h1{white-space:nowrap}}
  .pr-lead{color:var(--ink-soft);font-size:var(--fs-perex);line-height:1.8;margin-top:var(--gap-heading-text);max-width:60ch}
  .pr-catalog-row{margin-top:26px}
  .pr-catalog-link{display:inline-flex;align-items:center;gap:8px;font-size:.9rem;font-weight:500;color:var(--ink);
    border-bottom:1px solid var(--line);padding-bottom:3px;transition:border-color .25s,color .25s}
  .pr-catalog-link:hover{border-color:var(--ink)}

  /* ====== 12 KROKŮ — číslovaný editorial seznam (styl V2 z o-nas) ====== */
  .pr-steps{margin-top:40px} /* smrsknuto 56→40 (2026-07-24) */
  .pr-phase-label{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;margin-top:46px; /* smrsknuto 74→46 */
    font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent);font-weight:500}
  .pr-phase-label .pl-sep{color:var(--line)}
  .pr-steps > .pr-phase-label:first-child{margin-top:26px} /* smrsknuto 36→26 */
  /* Kroky = jednosloupcový akordeon (čísla kroků odstraněna 07/2026 na přání klientky; velké outline číslo .pr-step-num smazáno) */
  .pr-step{display:grid;grid-template-columns:1fr;gap:10px;padding:28px 0;border-top:1px solid var(--line); /* smrsknuto 40→28 (hlavní zdroj roztažení, 12 kroků) */
    align-items:start;scroll-margin-top:100px}
  /* AKORDEONOVÁ HLAVIČKA: h2 obaluje <button> (validní + h2 pro SEO); název vlevo + ikona +/− vpravo. */
  .pr-step-title{font-size:clamp(1.2rem,2vw,1.4rem);font-weight:500;line-height:1.25;margin:0} /* odtučněno 700→500 (2026-07-24) */
  .pr-step-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;
    background:none;border:0;padding:0;margin:0;cursor:pointer;text-align:left;font:inherit;color:inherit;
    transition:color .25s}
  .pr-step-head:hover,.pr-step-head:focus-visible{color:var(--accent);outline:none}
  .pr-step-head:focus-visible{outline:2px solid var(--ink);outline-offset:2px} /* fokus i linkou, ne jen barvou textu (2026-09-18) */
  /* ikona +/− (vzor .proc-acc-ico z homepage): křížek přes ::before/::after, .open → rotace na × */
  .pr-step-ico{flex:0 0 auto;width:22px;height:22px;position:relative;transition:transform .3s ease}
  .pr-step-ico::before,.pr-step-ico::after{content:"";position:absolute;background:currentColor}
  .pr-step-ico::before{top:50%;left:0;width:100%;height:1.5px;transform:translateY(-50%)}
  .pr-step-ico::after{left:50%;top:0;width:1.5px;height:100%;transform:translateX(-50%)}
  .pr-step.open .pr-step-ico{transform:rotate(45deg)} /* + → × */
  /* SCROLL-REVEAL / akordeon: tělo kroku (text+list) sbalené; rozbalí se přidáním .open
     (IntersectionObserver při scrollu NEBO klik na hlavičku). Grid-rows 0fr→1fr = plynulý výsuv. */
  .pr-step-collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s ease}
  .pr-step.open .pr-step-collapse{grid-template-rows:1fr}
  .pr-step-collapse-inner{overflow:hidden;min-height:0}
  .pr-step-collapse-inner > :first-child{margin-top:16px} /* mezera název↔text až po rozbalení */
  .pr-step-body p{color:var(--ink-soft);font-size:1.02rem;line-height:1.8;margin-bottom:15px;text-align:justify;hyphens:auto;-webkit-hyphens:auto}
  .pr-step-body p:last-child{margin-bottom:0}
  .pr-step-list{list-style:none;margin:4px 0 0;padding:0}
  .pr-step-list li{position:relative;padding-left:22px;color:var(--ink-soft);font-size:1rem;line-height:1.7;margin-bottom:9px}
  .pr-step-list li:last-child{margin-bottom:0}
  /* puntík místo pomlčky: line-height sladěná s prvním řádkem (li line-height 1.7 → box ~2.74× u .62em fontu) → puntík vystředěný na účaří, ne u horní hrany */
  .pr-step-list li::before{content:'●';position:absolute;left:2px;top:0;font-size:.62em;line-height:2.74;color:var(--accent)}

  /* ====== EPILOG (fáze 5 — Předání a servis) ====== */
  /* .pr-epilog CSS odstraněno 07/2026 (epilog „Předání a servis" smazán na přání klientek) */

  /* ====== KOMERČNÍ PROSTORY ====== */
  .pr-commercial{margin-top:var(--space-section);background:var(--bg-deep);border:1px solid var(--line);border-radius:0; /* mezera .pr-docs→box = --space-section (72px; dřív 46px → mezera se ZVĚTŠILA, byla pod cílem). .pr-commercial JE viditelný box (bg-deep + border 1px kolem dokola) → jeho padding:clamp(28px,4vw,52px) je VNITŘNÍ odsazení obsahu od hrany boxu, NENÍ mezera mezi sekcemi → NEDOTČEN. */
    padding:clamp(28px,4vw,52px)}
  .pr-commercial .eyebrow{display:block;margin-bottom:12px}
  .pr-commercial h2{font-size:var(--fs-h1);margin-bottom:var(--gap-heading-text);max-width:24ch} /* nadpis sekce; spodní mezera = font-size nadpisu */
  .pr-commercial p{color:var(--ink-soft);font-size:1.02rem;line-height:1.78;max-width:62ch;margin-bottom:14px}
  .pr-commercial p:last-child{margin-bottom:0}
  .pr-commercial-link{display:inline-flex;align-items:center;gap:8px;font-weight:500;color:var(--ink);font-size:var(--fs-link);
    border-bottom:1px solid var(--ink);padding-bottom:2px}
  .pr-commercial-link:hover{color:var(--accent);border-color:var(--accent)}

  /* ====== UKÁZKA NÁVRHOVÉ DOKUMENTACE (galerie 6 náhledů + lightbox) ====== */
  /* BANNER mezi kroky a dokumentaci. ZADNE aspect-ratio/object-fit — fotka ma vypaleny napis EREZ
     u spodni hrany, jakykoli orez by ho usekl (stejne reseni jako .ed-hero na o-nas.html). */
  /* POZOR: spodnich 28px je PADDING, ne margin — ZAMER. Sousedni marginy KOLABUJI, takze
     margin-bottom:28px + .pr-docs margin-top:24px by dalo jen 28px (vetsi z obou), ne 52px.
     Padding s marginem nekolabuje: 28 + 24 = 52px nad hairline — presne jako mel posledni
     .pr-step (jeho padding-bottom:28px). NEPREPISOVAT zpet na margin-bottom. */
  .pr-banner{margin:var(--space-section) 0 0;padding-bottom:28px}
  .pr-banner img{display:block;width:100%;height:auto;background:var(--bg-deep)}
  .pr-docs{margin-top:calc(var(--space-section) - 48px);padding-top:48px;border-top:1px solid var(--line)} /* mezera .pr-steps→.pr-docs = 72px CELKEM (24px nad hairline + 48px pod ní). .pr-docs NENÍ box (průhledné pozadí, jen border-top) → padding-top je součást mezery, ne vnitřní odsazení; proto margin = --space-section MÍNUS těch 48px. Sjednoceno 2026-08-06, dřív 88+48=136px. */
  .pr-docs .eyebrow{display:block;margin-bottom:12px}
  .pr-docs h2{font-size:var(--fs-h1);margin-bottom:var(--gap-heading-text);text-transform:uppercase} /* KAPITÁLKY (2026-07-24, jako CENÍK/PROCES); max-width:24ch odstraněn */
  @media(min-width:901px){.pr-docs h2{white-space:nowrap}} /* desktop 1 řádek */
  .pr-docs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px} /* náhledy z administrace, libovolný počet, 2 sloupce */
  @media(max-width:900px){.pr-docs-grid{grid-template-columns:repeat(2,1fr)}}
  @media(max-width:560px){.pr-docs-grid{grid-template-columns:1fr}}
  .pr-doc{display:block;width:100%;padding:0;border:1px solid var(--line);background:var(--white);cursor:pointer;
    overflow:hidden;text-align:left;font-family:inherit;transition:border-color .25s,box-shadow .25s}
  .pr-doc:hover,.pr-doc:focus-visible{border-color:var(--accent);box-shadow:0 8px 24px rgba(0,0,0,.08);outline:none}
  .pr-doc:focus-visible{outline:2px solid var(--ink);outline-offset:2px} /* fokus = linka --ink (2026-09-18, nález #5); border-color --accent zůstává (hover dekorace) */
  /* A3 landscape rámeček (1.414/1); contain — výkres se NESMÍ ořezat. Prázdný rámeček, dokud klientky nedodají reálné výkresy. */
  .pr-doc img{width:100%;height:auto;aspect-ratio:1.414/1;object-fit:contain;object-position:center;background:var(--white); /* height:auto — wp_get_attachment_image dává atribut height, ten by přebil aspect-ratio */
    display:block;transition:transform .4s ease}
  .pr-doc:hover img{transform:scale(1.03)}
  /* .pr-doc-cap (popisek pod náhledem) ODSTRANĚN 2026-08-11 — v mřížce jsou samotné náhledy.
     Titulek v lightboxu (.doc-lb-cap) zůstává. */
  /* sekundární outline button „Stáhnout PDF" pod galerií (slabší než hlavní plná CTA) */
  .pr-docs-pdf{display:inline-block;margin-top:28px;background:transparent;color:var(--ink);border:1px solid var(--ink);
    padding:13px 26px;border-radius:999px;font-family:var(--font-body);font-size:var(--fs-link);font-weight:500;
    cursor:pointer;transition:background .25s,color .25s,transform .3s}
  .pr-docs-pdf:hover,.pr-docs-pdf:focus-visible{background:var(--ink);color:var(--bg);transform:translateY(-2px);outline:none}

  /* lightbox — nad vším (nad cta-float 500 i lead modalem 600); bílá tlačítka nad tmavým podkladem */
  .doc-lightbox{position:fixed;inset:0;z-index:650;display:none;align-items:center;justify-content:center;padding:24px;
    background:rgba(20,18,14,.9);backdrop-filter:blur(4px)}
  .doc-lightbox.open{display:flex}
  .doc-lightbox img{max-width:min(1200px,94vw);max-height:86vh;object-fit:contain;background:#fff;
    box-shadow:0 24px 70px rgba(0,0,0,.5)}
  .doc-lb-cap{position:absolute;bottom:20px;left:0;right:0;text-align:center;color:#fff;font-size:.85rem;letter-spacing:.04em}
  .doc-lb-close{position:absolute;top:16px;right:18px;width:46px;height:46px;border:none;border-radius:50%;cursor:pointer;
    background:rgba(255,255,255,.14);color:#fff;font-size:1.7rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .2s}
  .doc-lb-close:hover{background:rgba(255,255,255,.28)}
  .doc-lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border:none;border-radius:50%;cursor:pointer;
    background:rgba(255,255,255,.14);color:#fff;font-size:1.5rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .2s}
  .doc-lb-nav:hover{background:rgba(255,255,255,.28)}
  .doc-lb-prev{left:20px}.doc-lb-next{right:20px}
  @media(max-width:560px){.doc-lb-nav{width:44px;height:44px}.doc-lb-prev{left:8px}.doc-lb-next{right:8px}}

  /* ====== ZÁVĚREČNÉ CTA ====== */
  .pr-cta{text-align:center;padding:var(--space-section) 0 40px} /* horní mezera k CTA = --space-section (72px, sjednoceno 2026-08-06; dřív 96px). POZOR: cenik.html má vlastní override 36px — do této dávky NEPATŘÍ. */
  .pr-cta .eyebrow{display:block;margin-bottom:14px}
  .pr-cta h2{font-size:var(--fs-h1);max-width:22ch;margin:0 auto var(--gap-heading-text)}
  .pr-cta p{color:var(--ink-soft);font-size:var(--fs-perex);margin-bottom:26px;max-width:44ch;margin-left:auto;margin-right:auto}
  /* Kapitálky buttonu — 1:1 s homepage (.proc-consult .btn) i s cenik.html (2026-08-11).
     Pravidla .pr-cta .eyebrow/h2/p výše jsou nově mrtvá (sekce má jen button), ponechána. */
  .pr-cta .btn{text-transform:uppercase;letter-spacing:.04em}

  @media(prefers-reduced-motion:reduce){
    /* kroky rovnou otevřené (bez výsuvu) — přístupnost */
    .pr-step-collapse{grid-template-rows:1fr!important;transition:none!important}
  }

  /* odsazení pod fixní navigací (sdílené) */
  main{padding-top:66px}
  @media(min-width:861px){main{padding-top:96px}}
  .main-uvod{padding-top:0} /* úvodní stránka: <main> začíná celoplošným herem pod PRŮHLEDNOU navigací, odsazení pod nav tu nepatří */

  /* ====== STRÁNKA O NÁS (o-nas.html) ====== */
  /* ====== HERO (týmová fotka — bez wordmarku i gradientu, fotka ma napis vypaleny v JPG) ====== */
  /* hero uvnitř 1200px kontejneru (ne full-bleed) — začíná/končí na svislici loga a poslední položky menu */
  .ed-hero{position:relative;overflow:hidden;margin-top:22px}
  /* Fotka jede ve SVEM pomeru — zadny aspect-ratio ani object-fit: ma vypaleny napis EREZ ATELIER,
     ktery by jakykoli orez usekl. Vysku si urcuje sama, .ed-hero se ji prizpusobi. */
  .ed-hero img{width:100%;height:auto;display:block;background:var(--bg-deep)}

  /* ====== ZÁVĚREČNÉ CTA (sdílené oběma variantami) ====== */
  .ap-cta{text-align:center;padding:var(--space-section) 0 40px} /* mezera .v1-team → CTA = --space-section (72px, sjednoceno 2026-08-06; dřív 96px). .ap-cta je JEN na o-nas (není sdílená s .pr-cta). */
  .ap-cta .eyebrow{display:block;margin-bottom:14px}
  .ap-cta h2{font-size:var(--fs-h1);max-width:20ch;margin:0 auto var(--gap-heading-text)} /* CTA nadpis O nás → 30px; spodní mezera = font-size nadpisu */
  .ap-cta p{color:var(--ink-soft);font-size:var(--fs-perex);margin-bottom:26px;max-width:44ch;margin-left:auto;margin-right:auto}

  /* =====================================================================
     VARIANTA 1 — „Klasik"
     ===================================================================== */
  .v1-head{padding:54px 0 0}
  /* H1 „O NÁS" = STANDARDNÍ nadpis 30px (var(--fs-h1)) jako jinde na webu, kapitálky zachovány
     (styl = kapitálkové nadpisy home: font-head, weight 400, letter-spacing .05em). Mezera 30px k fotce pod ním. */
  .v1-title{font-family:var(--font-head);font-size:var(--fs-h1);font-weight:400;letter-spacing:.05em;text-transform:uppercase;line-height:1.08;color:var(--ink);margin:0 0 30px}
  /* hero (fotka+EREZ wordmark) sedí obkročmo, ale intro dostane PLNÝ vzduch (korekce 07/2026) */
  /* intro zarovnané VLEVO (levý okraj na svislici loga/eyebrow, ne centrované) */
  /* intro přes celou šířku kontejneru (od hrany k hraně fotky), zarovnané vlevo */
  .v1-intro{max-width:none;margin:40px 0 0;padding:0}
  /* všech 5 odstavců intra vizuálně stejných (bez lead zvýraznění 1. odstavce, 07/2026) */
  .v1-intro p{color:var(--ink-soft);font-size:var(--fs-perex);line-height:1.8;margin-bottom:22px;text-align:justify;hyphens:auto;-webkit-hyphens:auto} /* perex O nás → 15px */
  .v1-intro p:last-child{margin-bottom:0}

  .v1-why{margin-top:var(--space-section)} /* mezera MEZI sekcemi = 72px (sjednoceno 2026-08-06; dřív 96px) */
  .v1-why h2{font-size:var(--fs-h1);margin-bottom:var(--gap-heading-text)}
  /* AKORDEON „Proč" — mechanika 1:1 z proces.html (.pr-step): grid-rows 0fr→1fr plynulý výsuv;
     hlavička = <button> uvnitř <h3> (číslo+titulek vlevo, ikona +/− vpravo), hover/focus → accent. */
  .v1-why-item{padding:34px 0;border-top:1px solid var(--line)}
  .v1-why-title{margin:0;font-size:1.3rem;font-weight:400;line-height:1.25} /* AUDIT FIX: 700 → 400 (explicitní, nezdědila by) */
  .v1-why-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;
    background:none;border:0;padding:0;margin:0;cursor:pointer;text-align:left;font:inherit;color:inherit;transition:color .25s}
  .v1-why-head:hover,.v1-why-head:focus-visible{color:var(--accent);outline:none}
  .v1-why-head:focus-visible{outline:2px solid var(--ink);outline-offset:2px} /* fokus i linkou, ne jen barvou textu (2026-09-18) */
  .v1-why-head-text{display:flex;align-items:baseline;gap:14px;min-width:0}
  .v1-why-ico{flex:0 0 auto;width:22px;height:22px;position:relative;transition:transform .3s ease}
  .v1-why-ico::before,.v1-why-ico::after{content:"";position:absolute;background:currentColor}
  .v1-why-ico::before{top:50%;left:0;width:100%;height:1.5px;transform:translateY(-50%)}
  .v1-why-ico::after{left:50%;top:0;width:1.5px;height:100%;transform:translateX(-50%)}
  .v1-why-item.open .v1-why-ico{transform:rotate(45deg)}
  .v1-why-collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s ease}
  .v1-why-item.open .v1-why-collapse{grid-template-rows:1fr}
  .v1-why-collapse-inner{overflow:hidden;min-height:0}
  .v1-why-collapse-inner > :first-child{margin-top:16px}
  .v1-why-collapse-inner p{color:var(--ink-soft);font-size:1rem;line-height:1.75;text-align:justify;hyphens:auto;-webkit-hyphens:auto}

  .v1-team{margin-top:var(--space-section)} /* mezera MEZI sekcemi = 72px (sjednoceno 2026-08-06; dřív 100px) */
  .v1-team h2{font-size:var(--fs-h1);margin-bottom:var(--gap-heading-text)}
  /* medailonky VEDLE SEBE — kruhové portréty, text na střed (07/2026; dřív vertikální sticky+flip) */
  .v1-team-grid{display:grid;grid-template-columns:1fr;gap:52px 40px;margin-top:48px;align-items:start}
  @media(min-width:761px){.v1-team-grid{grid-template-columns:repeat(3,1fr)}}
  .v1-med{text-align:center} /* jméno + role na střed nad bio */
  .v1-med-photo-wrap{width:100%;max-width:220px;margin:0 auto 22px}
  .v1-med-photo{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center top;border-radius:50%;background:var(--bg-deep)}
  .v1-med-name{font-size:clamp(1.4rem,2.4vw,1.7rem);line-height:1.1;margin:0}
  .v1-med-role{font-family:var(--font-body);font-weight:500;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-top:10px;line-height:1.5}
  /* specializace pod titulem (druhá půlka funkce, focus ze stránky nastavení O nás, erez-core) — celá, na tolik řádků kolik potřebuje */
  .v1-med-focus{font-family:var(--font-body);font-size:.9rem;line-height:1.5;color:var(--ink-soft);margin-top:6px}
  /* plné bio (více odstavců, bio ze stránky nastavení O nás, erez-core) — zarovnané VLEVO pod kruhem pro čitelnost; sloupce různě vysoké (align-items:start) */
  .v1-med-bio{margin-top:18px;text-align:left}
  .v1-med-bio p{color:var(--ink-soft);font-size:var(--fs-perex);line-height:1.72;margin-bottom:13px;text-align:justify;hyphens:auto;-webkit-hyphens:auto}
  .v1-med-bio p:last-child{margin-bottom:0}

  /* prefers-reduced-motion — vypnout vysuv akordeonu „Proc" a prechod portretu (z o-nas.html;
     .reveal resi sdilene pravidlo tematu vyse) */
  @media(prefers-reduced-motion:reduce){
    .v1-med-photo{transition:none!important}
    /* akordeon „Proc" rovnou otevreny (bez vysuvu) — pristupnost, 1:1 z proces.html */
    .v1-why-collapse{grid-template-rows:1fr!important;transition:none!important}
  }

  /* ====== STRÁNKA CENÍK (cenik.html) ====== */
  /* ====== CENÍK — BALÍČKY ====== */
  /* 2 sloupce: ZDARMA box přes celou šířku (grid-column 1/-1), dva hlavní balíčky vedle sebe.
     align-items:start → různě dlouhé karty (10 vs 16 položek) zarovnané k HORNÍ hraně, spodky se nekryjí (záměr). */
  .ce-pkgs{margin-top:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start} /* minmax(0,1fr) = stejně široké sloupce; nowrap dlouhé položky NEROZTÁHNOU track (řeší fitPricingRows zmenšením fontu) */
  .ce-pkg{border:1px solid var(--line);border-radius:0;background:var(--white);padding:clamp(24px,3.5vw,40px);
    transition:border-color .25s,box-shadow .25s}
  .ce-pkg:hover{border-color:var(--accent);box-shadow:0 10px 30px rgba(0,0,0,.05)}
  .ce-pkg--free{background:var(--bg-deep);grid-column:1 / -1} /* úvodní konzultace zdarma — jemné odlišení + přes celou šířku nad dvojicí balíčků */
  /* Ztenčení výšky ZDARMA boxu — 2. kolo 2026-08-11: svislý padding 22 → 11px (box o ~22px nižší).
     Přepisuje JEN svislý padding z obecného .ce-pkg (clamp(24px,3.5vw,40px)); vodorovný zůstává
     z toho shorthandu. Texty ani font-size nedotčeny. */
  .ce-pkg--free{padding-top:clamp(8px,0.9vw,11px);padding-bottom:clamp(8px,0.9vw,11px)}
  /* CELÝ ZDARMA BOX JE KLIKACÍ (2026-08-11) → otevře #leadModal rovnou na „Detailní poptávce".
     Přístupnost (2026-09-17): klikací prvek je skutečné <button class="ce-pkg-btn"> uvnitř karty, roztažené přes celou
     plochu (position:absolute; inset:0 → karta position:relative). Navenek nic: bez pozadí, rámečku, textu (text je
     v .sr-only pro odečítače). Kurzor zůstává jako dřív. Hover karty funguje dál (:hover se dědí z tlačítka na rodiče).
     Rámeček fokusu se kreslí kolem CELÉ karty přes :has(), tlačítko samo outline nemá; linka --ink (2026-09-18, dřív --accent).
     @supports = pojistka pro prohlížeče bez :has() (rámeček na tlačítku, které kartu pokrývá). */
  .ce-pkg--free{cursor:pointer;position:relative}
  .ce-pkg-btn{position:absolute;inset:0;margin:0;padding:0;border:0;border-radius:0;background:none;color:transparent;font:inherit;
    cursor:pointer;-webkit-appearance:none;appearance:none}
  .ce-pkg-btn:focus-visible{outline:none}
  .ce-pkg--free:has(.ce-pkg-btn:focus-visible){outline:3px solid var(--ink);outline-offset:2px}
  @supports not selector(:has(a)){
    .ce-pkg-btn:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
  }
  .ce-pkg-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px 32px;flex-wrap:wrap}
  /* ZDARMA box: obsah svisle VYCENTROVANÝ (2026-08-11) — cena „ZDARMA" se zarovná na střed bloku
     nadpis + „40 minut", ne k jeho horní hraně. Hlavních balíčků se to NETÝKÁ (mají flex-start,
     aby cena seděla vpravo nahoře u dlouhého seznamu položek). */
  .ce-pkg--free .ce-pkg-head{align-items:center}
  .ce-pkg-head-main{flex:1 1 320px;min-width:0}
  /* VELKÝ dominantní nadpis dlaždice (2026-07-24, finální hierarchie): ZDARMA box „Úvodní online konzultace",
     hlavní balíčky „Studie interiéru" / „Návrh interiéru" (= p.kicker v datech). Bázový clamp ~29px. */
  .ce-pkg-title{font-size:clamp(1.35rem,2.6vw,1.8rem);font-weight:400;line-height:1.2}
  /* PODNADPIS pod velkým nadpisem: ZDARMA „40 minut" (15px perex, --ink-soft); hlavní balíčky
     „Návrh bez/včetně technické dokumentace" (16px --fs-tile — stejná velikost jako dřívější řádek). */
  .ce-pkg-sub{font-size:var(--fs-perex);color:var(--ink-soft);line-height:1.4;margin-top:6px}
  .ce-pkg:not(.ce-pkg--free) .ce-pkg-sub{font-size:var(--fs-tile)}
  /* DESKTOP (≥861px, karty vedle sebe): velký nadpis i podnadpis hlavních balíčků na JEDEN řádek (oba se
     pohodlně vejdou do šířky karty) → obě karty symetrické; na mobilu (<861px) se smí zalomit přirozeně. */
  @media(min-width:861px){
    .ce-pkg:not(.ce-pkg--free) .ce-pkg-title,
    .ce-pkg:not(.ce-pkg--free) .ce-pkg-sub{white-space:nowrap}
  }
  .ce-pkg-price{flex:0 0 auto;text-align:right;font-family:var(--font-head);font-size:clamp(1.3rem,2.4vw,1.7rem);font-weight:500;color:var(--ink);white-space:nowrap;letter-spacing:-.01em}
  /* SEZNAM položek — BEZ dělících čar (2026-07-24), kompaktní rytmus, řádky těsně pod sebou.
     Dlouhé položky drží na jednom řádku JS fitPricingRows() (nowrap + drobné zmenšení fontu jen tam,
     kde by přetekl); base font .98rem = normální velikost krátkých položek. */
  .ce-pkg-items{list-style:none;margin:16px 0 0;padding:0}
  .ce-pkg-items li{position:relative;padding:5px 0 5px 26px;color:var(--ink-soft);font-size:.98rem;line-height:1.5}
  .ce-pkg-items li::before{content:'—';position:absolute;left:0;top:5px;color:var(--accent)}
  @media(max-width:860px){
    .ce-pkgs{grid-template-columns:1fr!important} /* úzký viewport → balíčky pod sebe (ZDARMA full-width díky 1/-1); !important přebije i cv-b (cv-c už je 1fr) */
  }
  @media(max-width:560px){
    .ce-pkg-head{gap:6px}
    .ce-pkg-price{text-align:left;width:100%}
  }

  /* ====== SEZNAMY BALÍČKŮ TEČOU SAMOSTATNĚ (2026-07-24, korekce) ======
     ZRUŠENO dřívější subgridové zarovnávání řádků mezi sloupci (span-2 „Kniha…", display:contents,
     --cmp-rows, align-items:stretch) — klientky NECHTĚJÍ dorovnávací mezery. Každý sloupec teče
     nezávisle, řádky TĚSNĚ pod sebou (konstantní malý rozestup z .ce-pkg-items li padding). Levý
     sloupec (Studie, míň položek) tak SKONČÍ VIDITELNĚ DŘÍV než pravý (Návrh) — žádoucí, ukazuje rozdíl.
     ZDARMA box je full-width přes obě kolony (grid-column:1/-1 v base), dva hlavní balíčky vedle sebe
     a k HORNÍ hraně (.ce-pkgs align-items:start). Dlouhé položky na jeden řádek řeší JS fitPricingRows()
     (nowrap + drobné zmenšení fontu jen u přetékajících řádků; viz skript). */
  @media(min-width:861px){
    .ce-pkg-head{padding-bottom:14px}
  }

  /* ====== CENÍK — OSTATNÍ SLUŽBY ====== */
  .ce-extras{margin-top:48px;padding-top:0} /* kompaktnější + bez horní dělicí čáry (2026-07-24) */
  .ce-extras .eyebrow{display:block;margin-bottom:12px}
  .ce-extras h2{font-size:var(--fs-h1);margin-bottom:var(--gap-heading-text)} /* nadpis sekce; spodní mezera = font-size nadpisu; max-width:24ch odstraněn 2026-07-24 (lámal „Doplňkové služby a hodinové sazby") */
  @media(min-width:901px){.ce-extras h2{white-space:nowrap}} /* na desktopu jeden řádek (text ~495px se pohodlně vejde do šířky obsahu); mobil zalomí */
  .ce-extras-list{margin-top:20px}
  .ce-extra{padding:22px 0;border-bottom:1px solid var(--line);
    display:grid;grid-template-columns:1fr auto;gap:6px 28px;align-items:baseline}
  .ce-extra:first-child{border-top:1px solid var(--line)}
  .ce-extra-title{font-family:var(--font-head);font-weight:400;font-size:1.1rem;color:var(--ink)}
  .ce-extra-price{text-align:right;font-weight:500;color:var(--ink);white-space:nowrap}
  .ce-extra-note{grid-column:1/-1;color:var(--ink-soft);font-size:.9rem;line-height:1.65;max-width:72ch;margin-top:2px}
  @media(max-width:560px){
    .ce-extra{grid-template-columns:1fr;gap:4px}
    .ce-extra-price{text-align:left}
  }

  /* ====== CENÍK — FINEPRINT ====== */
  .ce-fine{margin-top:36px;padding-top:0} /* kompaktnější + bez horní dělicí čáry (2026-07-24) */

  /* ====== ÚVODNÍ NARATIV PŘESUNUTÝ NA KONEC (title + lead z window.PRICING.intro) ====== */
  .ce-intro-close{margin-top:56px}
  .ce-intro-close h2{font-size:var(--fs-h1);line-height:1.1;margin-bottom:var(--gap-heading-text);max-width:24ch}
  /* text přes CELOU šířku + justify (2026-07-24); hyphens pro české dělení (lang="cs") — na plné šířce vznikne 2–3 řádky */
  .ce-intro-close p{color:var(--ink-soft);font-size:var(--fs-perex);line-height:1.8;text-align:justify;hyphens:auto;-webkit-hyphens:auto}
  .ce-fine ul{list-style:none;margin:0;padding:0;max-width:70ch}
  .ce-fine li{position:relative;padding-left:18px;color:var(--ink-soft);font-size:.85rem;line-height:1.7;margin-bottom:7px}
  .ce-fine li:last-child{margin-bottom:0}
  .ce-fine li::before{content:'·';position:absolute;left:4px;top:-1px;color:var(--accent);font-size:1.1rem;line-height:1.4}

  /* --- Kolize s Procesem: .pr-cta a .pr-head h1 sdili obe stranky, ale maji jine hodnoty.
     Tema drzi verzi z proces.html (vyse). Ceník ma vlastni, scopovane na body.page-cenik.
     .pr-cta padding 36px = zamerna vyjimka z 24. 7. 2026 (kompaktni cenik, aby byly obe cenove
     dlazdice i ceny videt bez scrollu na 1440). NEDOROVNAVAT na --space-section (72px).
     POZOR: tridu page-cenik WordPress sam NEGENERUJE (body_class dava jen page / page-id-N /
     page-template-default) — musi ji doplnit filtr body_class v functions.php, jinak jsou
     obe pravidla nize MRTVA a Cenik pojede s hodnotami Procesu. --- */
  body.page-cenik .pr-cta{text-align:center;padding:36px 0 40px}
  body.page-cenik .pr-head h1{font-size:var(--fs-h1);line-height:1.05;max-width:20ch;margin-bottom:var(--gap-heading-text);text-transform:uppercase}

  /* ===== DETAIL REALIZACE (single-realizace.php) — přeneseno z realizace.html.
     Mozaika se přenáší samostatně. ===== */

  /* hero = full-bleed fotka (100vw + margin-left:-50vw); body má overflow-x:hidden */
  .rz-hero{position:relative;width:100vw;left:50%;margin-left:-50vw;height:62vh;min-height:380px;overflow:hidden;background:var(--card) center/cover no-repeat}
  .rz-hero img{width:100%;height:100%;object-fit:cover;display:block} /* hero je <img> kvůli srcset, ne background-image */
  .rz-detail-head{padding:0}
  .rz-detail-head h1{font-size:var(--fs-h1);line-height:1.04;color:var(--ink);margin-top:12px;
    text-transform:uppercase;font-weight:400;letter-spacing:.05em}
  .rz-detail{display:grid;grid-template-columns:1.7fr 1fr;gap:48px;padding:clamp(36px,6vh,64px) 0 54px}
  .rz-popis{font-size:1.06rem;line-height:1.7;color:var(--ink);max-width:60ch;margin-top:var(--gap-heading-text);
    text-align:justify;hyphens:auto;-webkit-hyphens:auto}
  .rz-meta{align-self:start;position:sticky;top:96px;background:var(--card);border:1px solid var(--line);border-radius:0;padding:26px}
  .rz-meta h2{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);font-weight:500;margin-bottom:16px}
  .rz-meta table{width:100%;border-collapse:collapse;font-size:.95rem}
  .rz-meta td{padding:11px 0;border-bottom:1px solid var(--line);vertical-align:top}
  .rz-meta tr:last-child td{border-bottom:0}
  .rz-meta td:first-child{color:var(--ink-soft);width:42%}
  .rz-meta td:last-child{text-align:right;font-weight:500;white-space:nowrap} /* hodnota vždy na 1 řádek → tabulka opticky srovnaná */

  .rz-more .sec-link{margin-top:0}
  .rz-more{padding:var(--space-section) 0 var(--space-section)}
  .rz-more h2{font-size:var(--fs-h1);margin-bottom:var(--gap-heading-text);text-transform:uppercase;font-weight:400} /* nadpis sekce kapitálkami, jako CENÍK/PROCES */

  /* before/after reveal slider (vanilla); je to dlaždice gridu (span přes inline style) */
  .rz-ba{position:relative;overflow:hidden;background:var(--card);
    touch-action:pan-y;cursor:ew-resize;user-select:none;-webkit-user-select:none}
  .rz-ba--interier{aspect-ratio:3/2}  /* interiér = velká dlaždice span 3 → stejná výška jako sousední fotka 3/2 */
  .rz-ba--pudorys{aspect-ratio:16/9}   /* půdorys = full-width dlaždice span 6; širší poměr → rozumná výška, contain neořízne */
  .rz-ba-img{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none;-webkit-user-drag:none}
  .rz-ba--interier .rz-ba-img{object-fit:cover}
  .rz-ba--pudorys .rz-ba-img{object-fit:contain} /* půdorys se NESMÍ ořezat */
  .rz-ba-before{z-index:1}
  .rz-ba-after{z-index:2;clip-path:inset(0 0 0 50%)} /* výchozí dělení 50 %; JS mění clip + pozici čáry */
  .rz-ba-divider{position:absolute;top:0;bottom:0;left:50%;width:2px;margin-left:-1px;background:var(--accent);z-index:3;pointer-events:none}
  .rz-ba-handle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    width:38px;height:38px;border-radius:50%;background:var(--accent);border:2px solid var(--bg);
    box-shadow:0 2px 10px rgba(0,0,0,.25)}
  /* dvě šipky (‹ ›) uvnitř úchytu — barva z palety (var(--bg)), žádný hardcode */
  .rz-ba-handle::before,.rz-ba-handle::after{content:'';position:absolute;top:50%;width:0;height:0;border:5px solid transparent}
  .rz-ba-handle::before{left:8px;transform:translateY(-50%);border-right-color:var(--bg)}
  .rz-ba-handle::after{right:8px;transform:translateY(-50%);border-left-color:var(--bg)}
  .rz-ba-cap{position:absolute;bottom:10px;z-index:4;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;
    color:var(--ink-soft);background:color-mix(in srgb,var(--bg) 84%,transparent);padding:3px 9px;pointer-events:none}
  .rz-ba-cap-l{left:10px}
  .rz-ba-cap-r{right:10px}

  @media(max-width:860px){
    .rz-detail{grid-template-columns:1fr;gap:30px;padding:24px 0 36px}
    .rz-meta{position:static}
  }
  @media(max-width:600px){
    .rz-ba--pudorys{aspect-ratio:4/3} /* mobil: půdorys o něco vyšší = čitelnější */
  }

  /* ===== DETAIL REALIZACE — MOZAIKA (zarovnané řádky) =====
     Každá dlaždice nese --r = šířka/výška fotky (z PHP). flex-grow i flex-basis jsou úměrné --r,
     takže fotky v jednom řádku vyjdou stejně vysoké a vyplní šířku. ::after drží poslední řádek
     v cílové výšce (jinak by osamocená fotka narostla přes celou šířku). */
  .rz-mozaika{position:relative;width:100vw;left:50%;margin-left:-50vw;margin-top:8px;
    display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px;background:var(--bg);--row-h:340px}
  .rz-mozaika::after{content:'';flex:999999 1 0px}
  .rz-moz-tile{position:relative;margin:0;min-width:0;overflow:hidden;background:var(--bg-deep);
    flex:var(--r) 1 calc(var(--r) * var(--row-h));aspect-ratio:var(--r)}
  .rz-moz-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
  @media(max-width:900px){ .rz-mozaika{--row-h:320px} }
  @media(max-width:600px){ .rz-mozaika{--row-h:300px} }
  /* s JS nastavuje rozměry skript — vypnout CSS dopočet */
  .rz-mozaika.is-js::after{display:none}
  .rz-mozaika.is-js .rz-moz-tile{aspect-ratio:auto}
  .rz-mozaika.is-js{justify-content:center} /* nevyplněný poslední řádek uprostřed; plné řádky vyplňují šířku, na ně to nemá vliv */

  /* ===== DETAIL REALIZACE — SLIDERY V MOZAICE A PŮDORYSY ===== */
  .rz-pudorysy{position:relative;width:100vw;left:50%;margin-left:-50vw;margin-top:6px;display:flex;flex-direction:column;gap:6px}
  .rz-pudorysy .rz-ba{width:100%}
  /* posuvník pro klávesnici a čtečku — neviditelný, myš a dotyk řeší box */
  .rz-ba-range{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;pointer-events:none;z-index:5}
  .rz-ba:focus-within .rz-ba-handle{outline:2px solid var(--ink);outline-offset:3px}

  /* ===== VÝPIS REALIZACÍ (page-realizace.php) — přeneseno z realizace.html ===== */
  .rz-head{padding-top:44px}
  .rz-head .eyebrow{display:block;margin-bottom:14px} /* mezera eyebrow → nadpis */
  .rz-head h1{font-size:var(--fs-h1);line-height:1.05;text-transform:uppercase;margin:0 0 var(--gap-heading-text);font-weight:400;letter-spacing:.05em}
  .rz-list{padding-bottom:var(--space-section)} /* mezera nad patičkou */
  .rz-empty{text-align:center;color:var(--ink-soft)}

  /* ===== DETAIL ČLÁNKU (single-clanek.php) — přeneseno z blog-clanek.html ===== */
  .art{max-width:820px;margin:0 auto}
  .art-meta{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:16px}
  .art-title{font-family:var(--font-head);font-weight:400;font-size:var(--fs-h1);line-height:1.06;letter-spacing:-.02em;color:var(--ink);max-width:22ch}
  .art-hero{margin:clamp(32px,5vw,56px) 0;aspect-ratio:16/10;overflow:hidden}
  .art-hero img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.95)}
  .art-gallery{margin:clamp(32px,5vw,56px) 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .art-gallery img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;display:block;filter:saturate(.95)}
  .art-body{max-width:none}
  .art-body p{color:var(--ink-soft);font-size:clamp(1.02rem,1.4vw,1.14rem);line-height:1.85;margin-bottom:24px;text-align:justify;hyphens:auto;-webkit-hyphens:auto}
  .art-body p:last-child{margin-bottom:0}
  .art-back{display:inline-block;margin-top:clamp(40px,6vw,64px);font-size:var(--fs-link);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
  .art-back:hover{color:var(--ink)}
  @media(max-width:600px){ .art-gallery{grid-template-columns:1fr} }

  /* sdílení článku */
  .blog-share{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:clamp(38px,5vw,54px)}
  .blog-share-label{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}
  .blog-share-btns{display:flex;gap:10px;flex-wrap:wrap}
  .blog-share-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;
    border:1px solid var(--line);background:transparent;color:var(--ink-soft);cursor:pointer;padding:0;font-family:inherit;
    transition:border-color .25s,color .25s,background .25s}
  .blog-share-btn:hover,.blog-share-btn:focus-visible{border-color:var(--ink);color:var(--ink);outline:none}
  .blog-share-btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
  .blog-share-btn svg{width:18px;height:18px;display:block}

  /* další články */
  .blog-related{margin-top:calc(var(--space-section) - 48px);padding-top:48px;border-top:1px solid var(--line)}
  .blog-related-head{margin-bottom:clamp(24px,3vw,40px)}
  .blog-related-head .eyebrow{display:block;margin-bottom:10px}
  .blog-related-head h2{font-family:var(--font-head);font-weight:400;font-size:var(--fs-h1);line-height:1.1;letter-spacing:-.01em;color:var(--ink);text-transform:uppercase}
  .blog-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,1.8vw,24px)}
  .blog-related-card{position:relative;overflow:hidden;display:block;aspect-ratio:4/3;background:var(--ink);color:#fff;text-decoration:none}
  .blog-related-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:saturate(.95)}
  .blog-related-card::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.1) 0%,rgba(0,0,0,0) 42%,rgba(0,0,0,.62) 100%);transition:background .35s ease}
  .blog-related-card:hover::after,.blog-related-card:focus-visible::after{background:linear-gradient(180deg,rgba(0,0,0,.3) 0%,rgba(0,0,0,.18) 42%,rgba(0,0,0,.82) 100%)}
  .blog-related-in{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding:clamp(16px,1.6vw,22px);gap:6px}
  .blog-related-name{font-family:var(--font-head);font-weight:500;font-size:var(--fs-tile);line-height:1.22;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.7),0 2px 16px rgba(0,0,0,.6)}
  .blog-related-card:focus-visible{outline:none} /* fokus = dvojitá linka přes ::before, viz .serv-tile:focus-visible (outline pod potomky nebyl vidět) */
  .blog-related-card:focus-visible::before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;box-shadow:inset 0 0 0 3px var(--ink),inset 0 0 0 5px var(--bg)}
  @media(max-width:760px){ .blog-related-grid{grid-template-columns:1fr} }

  /* formátování textu z editoru (v prototypu nebylo — editor umí víc než odstavce) */
  .art-body h2{font-size:1.5rem;line-height:1.25;font-weight:400;margin:2em 0 .6em;letter-spacing:.01em}
  .art-body h3{font-size:1.18rem;line-height:1.3;font-weight:500;margin:1.6em 0 .5em}
  .art-body ul,.art-body ol{margin:0 0 1.1em;padding-left:1.4em}
  .art-body li{margin-bottom:.4em}
  .art-body a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
  .art-body strong{font-weight:600}
  .art-body blockquote{margin:1.6em 0;padding-left:20px;border-left:2px solid var(--accent);color:var(--ink-soft);font-style:italic}
  .art-body img{max-width:100%;height:auto;display:block;margin:1.6em 0}
  .art-body h2:first-child,.art-body h3:first-child{margin-top:0}

  /* ===== VÝPIS ČLÁNKŮ (page-blog.php) — přeneseno z blog.html ===== */
  .blog-lookbook{display:block}
  .lb-unit{display:block;color:var(--ink);text-decoration:none}
  .lb-unit+.lb-unit{margin-top:clamp(64px,11vh,104px)}
  .lb-head{display:flex;align-items:baseline;justify-content:flex-start;gap:18px;flex-wrap:wrap;margin-bottom:clamp(16px,2.4vw,28px)}
  .lb-head-meta{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}
  .lb-main{display:grid;grid-template-columns:40% 1fr;column-gap:clamp(28px,4vw,56px);align-items:start}
  .lb-unit.lb-mirror .lb-main{grid-template-columns:1fr 40%}
  .lb-unit.lb-mirror .lb-media{order:1}
  .lb-unit.lb-mirror .lb-left{order:2}
  .lb-title{font-family:var(--font-head);font-weight:400;font-size:clamp(1.6rem,3vw,2.5rem);line-height:1.08;letter-spacing:-.02em;margin:0 0 16px;color:var(--ink)}
  .lb-desc{color:var(--ink-soft);font-size:var(--fs-perex);line-height:1.65;max-width:44ch}
  .lb-more{display:inline-block;margin-top:20px;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
  .lb-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .lb-grid img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;filter:saturate(.95)}
  .lb-single-img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;filter:saturate(.95)}
  .lb-unit:hover .lb-title{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:5px}
  .lb-unit:focus-visible{outline:2px solid var(--ink);outline-offset:6px}
  @media(max-width:860px){
    .lb-main,.lb-unit.lb-mirror .lb-main{grid-template-columns:1fr!important;row-gap:22px}
    .lb-left,.lb-media{order:0!important}
    .lb-unit+.lb-unit{margin-top:56px}
  }
  .lb-grid img,.lb-single-img{height:100%;object-fit:cover} /* WP doplňuje atribut height, přebil by aspect-ratio */
  .lb-unit.is-hidden{display:none}
  .blog-more-wrap{text-align:center;padding:clamp(28px,3.4vw,44px) 0 0}

  /* ===== RECENZE — rozbalení celého textu ===== */
  .rev-toggle{background:transparent;border:0;padding:6px 0;margin-top:6px;cursor:pointer;font-family:var(--font-body);font-size:var(--fs-link);color:var(--accent);letter-spacing:.02em}
  .rev-toggle:hover{text-decoration:underline}
  .rev-full[hidden]{display:none}
  .rev-text{font-family:var(--font-body);font-weight:400;font-size:1.05rem;line-height:1.5;margin:0 0 16px} /* stejné hodnoty jako .rev p — text už není v <p> */

  /* honeypot — pole pro roboty, člověk ho nevidí */
  .erez-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

  /* O nás z administrace (09/2026): obrázky jdou přes wp_get_attachment_image → mají atribut height, proto height:auto
     (jinak by atribut přebil aspect-ratio). Hero 2400/1030 s ořezem, portrét čtverec. */
  .ed-hero img{height:auto;aspect-ratio:2400/1030;object-fit:cover}
  .v1-med-photo{height:auto;aspect-ratio:1/1;object-fit:cover}

  /* ===== COOKIES — lišta souhlasu (markup a logika: erez-core includes/cookies.php + assets/cookies.js) =====
     Nenápadná lišta u spodní hrany, bez tmavého překryvu (obsah za ní zůstává čitelný), max. 70 % výšky okna
     s vlastním posuvníkem. Výchozí stav je co nejnižší: na desktopu text vlevo a tři tlačítka vpravo v JEDNOM
     řádku (.ck-in je flex, .ck-panel má order:3 a flex-basis 100 % → po rozbalení Nastavení jde na vlastní řádek
     pod obojí), nadpis je jen pro odečítače (vizuálně skrytý, aria-labelledby na něj dál ukazuje). Na mobilu
     text i tlačítka pod sebou s malým písmem. Tři tlačítka Přijmout / Odmítnout / Nastavení jsou vizuálně
     rovnocenná (jedna třída .ck-btn, vzor .btn-outline) — Odmítnout nesmí být menší ani šedivější.
     z-index 700 = nad plovoucím CTA (500) i modaly (600/650): rozhodnutí o cookies má přednost.
     Přepínače = nativní checkbox (role=switch) + kreslená dráha .ck-switch-track. */
  .ck{position:fixed;left:0;right:0;bottom:0;z-index:700;background:var(--white);color:var(--ink);
    border-top:1px solid var(--line);box-shadow:0 -10px 30px rgba(0,0,0,.08);
    max-height:70vh;overflow-y:auto;font-family:var(--font-body);outline:none}
  .ck[hidden]{display:none}
  .ck-in{max-width:1200px;margin:0 auto;padding:14px var(--space-inner) 14px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 32px}
  .ck-head{flex:1 1 480px;min-width:0}
  /* nadpis jen pro odečítače (aria-labelledby) — vizuálně skrytý, ne display:none */
  .ck-title{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
  .ck-text{color:var(--ink-soft);font-size:.8125rem;line-height:1.5;margin:0;max-width:76ch}
  .ck-link{color:var(--ink);text-decoration:underline;text-underline-offset:3px;white-space:nowrap}
  .ck-link:hover{color:var(--accent)}
  .ck-actions{display:flex;flex-wrap:wrap;gap:8px;flex:0 0 auto;margin-left:auto}
  .ck-btn{display:inline-block;background:transparent;color:var(--ink);border:1px solid var(--ink);
    padding:9px 18px;border-radius:999px;font-family:var(--font-body);font-size:.8125rem;font-weight:500;line-height:1.2;
    cursor:pointer;transition:background .25s ease,color .25s ease;white-space:nowrap}
  .ck-btn:hover{background:var(--ink);color:var(--bg)}
  .ck-btn:focus-visible,.ck-link:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
  .ck-btn[hidden]{display:none}
  /* kategorie (po klepnutí na Nastavení) — vlastní řádek pod textem i tlačítky */
  .ck-panel{order:3;flex:1 1 100%;display:grid;grid-template-columns:repeat(3,1fr);gap:14px 28px;padding-top:12px;border-top:1px solid var(--line)}
  .ck-panel[hidden]{display:none}
  /* s rozbaleným nastavením jdou tlačítka POD kategorie (vlastní řádek, zarovnané vpravo) — panel je v DOM před .ck-actions */
  .ck-panel:not([hidden]) ~ .ck-actions{order:4;flex:1 1 100%;justify-content:flex-end;margin-left:0}
  /* plovoucí CTA „Chci návrh“ (z-index 500) by nad nízkou lištou vykukovalo — dokud je lišta otevřená, schovat (dřív ho lišta celé zakrývala) */
  body.ck-open .cta-float{visibility:hidden}
  .ck-cat-head{display:flex;align-items:center;gap:10px;min-height:22px}
  .ck-cat-name{font-weight:500;font-size:.875rem;color:var(--ink)}
  .ck-cat-always{font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
  .ck-cat-desc{color:var(--ink-soft);font-size:.8125rem;line-height:1.5;margin:5px 0 0}
  .ck-switch{cursor:pointer;position:relative}
  .ck-switch input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
  .ck-switch-track{flex:0 0 auto;width:38px;height:22px;border-radius:999px;background:var(--line);position:relative;transition:background .25s ease}
  .ck-switch-track::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--white);box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .25s ease}
  .ck-switch input:checked + .ck-switch-track{background:var(--ink)}
  .ck-switch input:checked + .ck-switch-track::after{transform:translateX(16px)}
  .ck-switch input:focus-visible + .ck-switch-track{outline:3px solid var(--ink);outline-offset:3px}
  @media(max-width:860px){
    .ck-panel{grid-template-columns:1fr;gap:12px}
  }
  @media(max-width:600px){
    .ck{max-height:85vh}
    .ck-in{padding:12px var(--space-inner) 12px;gap:10px}
    .ck-head{flex-basis:100%}
    .ck-text{font-size:.8125rem;line-height:1.45}
    .ck-actions,.ck-panel:not([hidden]) ~ .ck-actions{flex:1 1 100%;flex-direction:column;gap:6px;margin-left:0}
    .ck-btn{width:100%;padding:10px 18px}
    .ck-panel{padding-top:10px;gap:10px}
    .ck-cat-desc{font-size:.78rem;line-height:1.4;margin-top:3px}
  }

  /* patička: tlačítko „Nastavení cookies“ v .foot-bottom (justify-content:space-between → vpravo vedle copyrightu);
     vzhled jako odkaz v patičce. Otevírá lištu (erez-core, [data-cookies-otevrit]). */
  /* právní odkazy hned za copyrightem, oddělené středovou tečkou „·“ (stejný oddělovač jako v H1 úvodu „Interiérové studio · Praha“);
     tečka je kreslená pseudo-prvkem → pro odečítače tichá (content s alternativním textem ""). */
  .foot-legal{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 0}
  .foot-legal > *::before{content:"·";content:"·" / "";margin:0 10px;color:var(--ink-soft);opacity:.7}
  @media(max-width:600px){ /* mobil: copyright / zásady / cookies každé na vlastním řádku vlevo, boxy jen na šířku textu (žádný nedosáhne pod plovoucí CTA), bez oddělovačů.
     Tady, ne v mobilním bloku patičky výše — ten je v souboru dřív a při stejné specificitě by ho základní pravidla přebila. */
    .foot-legal{flex-basis:100%;flex-direction:column;align-items:flex-start;gap:4px}
    .foot-legal > *::before{content:none}
  }
  .foot-zasady,.foot-cookies{background:transparent;border:0;padding:0;margin:0;cursor:pointer;font-family:var(--font-body);font-size:.78rem;color:var(--ink-soft);transition:color .3s;text-decoration:none}
  .foot-zasady:hover,.foot-cookies:hover{color:var(--ink)}
  .foot-zasady:focus-visible,.foot-cookies:focus-visible{outline:2px solid var(--ink);outline-offset:3px}

  /* ===== ZÁSADY ZPRACOVÁNÍ (page-zasady-zpracovani-osobnich-udaju.php) — text z wysiwyg; nadpisy, odrážky, tučné a odkazy
     sdílí třídy článku (.art-body), tady jen šířka řádku (jako detail článku), mezera pod H1 a věta o účinnosti. */
  .zs{max-width:820px;margin-top:var(--gap-heading-text);padding-bottom:var(--space-section)}
  .zs-ucinnost{margin:40px 0 0;color:var(--ink-soft);font-size:.875rem}
