/* ============================================================================
   Tvoj Expert — ENGINE 3 DIZAJNOVÝCH VERZIÍ (layout archetypov)
   Kanonický súbor servovaný z hubu (tvoj.expert), načítaný absolútnou URL na
   demo stránkach segmentov. Zmena tu = zmena na všetkých demách naraz.

   Layout je VIBE-NEUTRÁLNY — osobnosť segmentu nesie TÉMA (CSS premenné nižšie),
   ktorú definuje každá demo stránka vo svojom :root. Tu sú len fallback hodnoty.

   Archetypy:  split (Klasik)  ·  editorial (Magazín)  ·  minimal (Minimal)
   Renderuje te-versions.js do #stage; prepínač = #te-switcher.
   ========================================================================== */

/* ---- univerzálny reset (každá demo stránka je plne engine-renderovaná) ---- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

/* ---- TÉMA: fallback tokeny (segment ich prepisuje vo svojom :root) ---- */
:root{
  --te-bg:#faf7f4; --te-surface:#ffffff;
  --te-ink:#1c1a1e; --te-ink-2:#6b6570; --te-muted:#a9a2ac;
  --te-line:rgba(28,26,30,.12); --te-line-d:rgba(28,26,30,.08);
  --te-primary:#c07f86; --te-primary-d:#a85f68; --te-primary-l:#e2b4b8;
  --te-dark:#241a20; --te-dark-ink:#ffffff; --te-dark-line:rgba(255,255,255,.12);
  --te-dark-rgb:36,26,32;               /* pre editorial overlay gradient */
  --te-font-head:'Fraunces',Georgia,serif;
  --te-font-body:'Jost',system-ui,sans-serif;
  --te-head-weight:400;
  --te-em-style:italic;                 /* zvýraznené slovo v nadpise: italic | normal */
  --te-radius:20px;                     /* karty */
  --te-radius-btn:40px;                 /* tlačidlá: 40px pill | 4px hranaté */
  --te-radius-hero:24px;                /* hero foto */
  --te-radius-logo:50%;                 /* logo značka: 50% | 8px | 0 */
  --te-radius-sec:44px;                 /* zaoblenie editorial sekcie */
  --te-ease:cubic-bezier(.22,1,.28,1);
  --te-maxw:1180px;
  --te-sh-sm:0 1px 3px rgba(20,18,22,.06),0 0 0 1px rgba(20,18,22,.03);
  --te-sh-md:0 22px 50px -20px rgba(20,18,22,.24);
  --te-sh-lg:0 40px 80px -30px rgba(20,18,22,.34);
  --te-top:40px;                        /* rezerva pod te-cta.js horný panel */
}

/* ---- základ stránky (globálne, riadené archetypom na <html data-arch>) ---- */
html{background:var(--te-bg);scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html[data-arch="editorial"]{background:var(--te-dark)}
html[data-arch="minimal"]{background:#fff}
body{font-family:var(--te-font-body);background:var(--te-bg);color:var(--te-ink);
  line-height:1.65;padding-top:var(--te-top);overflow-x:hidden;-webkit-font-smoothing:antialiased}
html[data-arch="minimal"] body{background:#fff}
#stage a{color:inherit;text-decoration:none}
#stage img{max-width:100%;display:block}
#stage h1,#stage h2,#stage h3,#stage h4{font-family:var(--te-font-head);font-weight:var(--te-head-weight);letter-spacing:.005em}
.te-wrap{width:100%;max-width:var(--te-maxw);margin:0 auto;padding:0 26px}
.te-em{font-style:var(--te-em-style);color:var(--te-primary-d)}

/* ---- stage / morf ---- */
#stage{position:relative;min-height:60vh}
#stage [data-morph]{will-change:transform}
#stage .te-morphing{position:relative}

/* ============================ SPOLOČNÉ ============================ */
#stage .te-btn{display:inline-flex;align-items:center;gap:9px;font-family:var(--te-font-body);
  font-weight:600;font-size:.95rem;cursor:pointer;border:none;text-align:center;
  transition:transform .25s var(--te-ease),background .25s,color .25s,box-shadow .25s}
#stage .te-btn-p{background:linear-gradient(135deg,var(--te-primary),var(--te-primary-d));color:#fff;
  padding:15px 30px;border-radius:var(--te-radius-btn);box-shadow:0 14px 30px -12px color-mix(in srgb,var(--te-primary-d) 70%,transparent)}
#stage .te-btn-p:hover{transform:translateY(-3px)}
#stage .te-btn-o{background:transparent;color:var(--te-ink);padding:15px 28px;
  border-radius:var(--te-radius-btn);border:1.5px solid var(--te-line)}
#stage .te-btn-o:hover{border-color:var(--te-primary);color:var(--te-primary-d)}
/* Eyebrow je malé verzálkové písmo — potrebuje čitateľnejší odtieň než ceny, ktoré
   sú veľké. Weby klientov dostanú --te-primary-t (dopočítaný na normu), ukážky
   majú tokeny natvrdo a spadnú na pôvodné --te-primary-d, takže sa nemenia. */
#stage .te-eyebrow{font-family:var(--te-font-body);font-weight:600;font-size:.72rem;
  letter-spacing:.3em;text-transform:uppercase;color:var(--te-primary-t,var(--te-primary-d))}

/* logo */
#stage .te-logo{display:flex;align-items:center;gap:12px;color:var(--te-ink);cursor:pointer}
#stage .te-logo:focus-visible{outline:2px solid var(--te-primary);outline-offset:6px;border-radius:6px}
#stage .te-logo-mk{width:42px;height:42px;border-radius:var(--te-radius-logo);
  background:linear-gradient(150deg,var(--te-primary),var(--te-primary-d));display:grid;place-items:center;
  flex:none;box-shadow:0 8px 20px -8px color-mix(in srgb,var(--te-primary-d) 70%,transparent);position:relative}
#stage .te-logo-mk b{font-family:var(--te-font-head);color:#fff;font-size:1.25rem;position:relative;z-index:2;font-weight:600}
/* Nahraté logo klienta namiesto písmenového znaku. Znak nesmie mať farebné pozadie
   ani tieň — logo býva priehľadné a farebný krúžok pod ním vyzerá ako chyba. */
#stage .te-logo-mk.has-img{background:none;box-shadow:none}
#stage .te-logo-mk.has-img img{width:100%;height:100%;object-fit:contain;display:block}
/* Názov značky ani podnadpis sa nesmú lámať: kým sa dočíta písmo, kreslí sa
   náhradným a to má iné šírky znakov — pri zlome by sa hlavička o riadok
   zväčšila a po zámene písma zase zmenšila, čo posunie celú stránku. */
#stage .te-logo .nm{font-family:var(--te-font-head);font-weight:var(--te-head-weight);font-size:1.5rem;line-height:1;display:block;white-space:nowrap}
#stage .te-logo .sub{display:block;font-size:.54rem;letter-spacing:.34em;color:var(--te-primary-d);margin-top:3px;text-transform:uppercase;white-space:nowrap}
/* Na úzkom displeji podnadpis značky nezmestí — a keďže sa (kvôli posunu
   rozloženia) už nesmie lámať, tlačil by hlavičku do vodorovného rolovania.
   Rovnako ho skrýva aj prilepená lišta. */
@media(max-width:430px){#stage .te-logo .sub{display:none}}

/* nav */
#stage .te-nav{display:flex;align-items:center;justify-content:space-between;padding:22px 0}
#stage .te-nav-menu{display:flex;gap:28px;align-items:center}
#stage .te-nav-menu a{font-size:.92rem;color:var(--te-ink-2);transition:.2s}
#stage .te-nav-menu a:hover{color:var(--te-primary-d)}
@media(max-width:860px){#stage .te-nav-menu{display:none}}

/* ==================================================================== */
/* ARCHETYP 1 — SPLIT (Klasik)                                          */
/* ==================================================================== */
html[data-arch="split"] #stage .a-hero{padding:30px 0 70px}
html[data-arch="split"] #stage .a-hero-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center}
html[data-arch="split"] #stage .a-h1{font-size:clamp(2.6rem,6vw,4.6rem);line-height:1.02;margin:20px 0}
html[data-arch="split"] #stage .a-lead{font-size:1.12rem;color:var(--te-ink-2);max-width:480px;margin-bottom:30px}
html[data-arch="split"] #stage .a-cta{display:flex;gap:14px;flex-wrap:wrap}
/* Na úzkom displeji dve tlačidlá vedľa seba tesne vychádzajú alebo nevychádzajú
   podľa toho, aké písmo je práve vykreslené — a keď sa zalomia až po dočítaní
   značkového písma, posunie sa celý zvyšok stránky. Pod 560 px ich preto
   ukladáme pod seba natvrdo: rozloženie je rovnaké pred aj po zámene písma. */
@media(max-width:560px){html[data-arch="split"] #stage .a-cta{flex-direction:column;align-items:stretch}
  html[data-arch="split"] #stage .a-cta .te-btn{justify-content:center}}
html[data-arch="split"] #stage .a-stats{display:flex;gap:38px;margin-top:44px;flex-wrap:wrap}
html[data-arch="split"] #stage .a-stats b{font-family:var(--te-font-head);font-weight:var(--te-head-weight);font-size:2rem;color:var(--te-primary-d);display:block;line-height:1}
html[data-arch="split"] #stage .a-stats span{font-size:.8rem;color:var(--te-ink-2);letter-spacing:.04em}
html[data-arch="split"] #stage .a-heroimg{position:relative;aspect-ratio:4/5;border-radius:var(--te-radius-hero);overflow:hidden;box-shadow:var(--te-sh-lg)}
html[data-arch="split"] #stage .a-heroimg img{width:100%;height:100%;object-fit:cover}
html[data-arch="split"] #stage .a-badge{position:absolute;left:-18px;bottom:40px;background:var(--te-surface);padding:14px 20px;border-radius:16px;box-shadow:var(--te-sh-md);display:flex;align-items:center;gap:12px}
html[data-arch="split"] #stage .a-badge .n{font-family:var(--te-font-head);font-weight:var(--te-head-weight);font-size:1.5rem;color:var(--te-primary-d)}
html[data-arch="split"] #stage .a-badge small{font-size:.72rem;color:var(--te-ink-2)}
@media(max-width:860px){html[data-arch="split"] #stage .a-hero-grid{grid-template-columns:1fr;gap:36px}
  html[data-arch="split"] #stage .a-heroimg{aspect-ratio:4/4;max-width:460px}}

/* --- Klasik s fotkou NA POZADÍ ---
   Text leží na fotke cez celú šírku. Prekryv je tmavý, preto sa všetko, čo v
   pôvodnom rozložení berie farbu z --te-ink, prepína na svetlé — vrátane
   obrysového tlačidla, ktoré má inak tmavý text aj linku. */
html[data-arch="split"] #stage .a-hero-bg{position:relative;overflow:hidden;padding:0;
  min-height:min(78vh,720px);display:flex;align-items:center}
html[data-arch="split"] #stage .a-herobg{position:absolute;inset:0}
html[data-arch="split"] #stage .a-herobg img{width:100%;height:100%;object-fit:cover}
html[data-arch="split"] #stage .a-herobg::after{content:'';position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(var(--te-dark-rgb),.9) 0%,rgba(var(--te-dark-rgb),.74) 42%,rgba(var(--te-dark-rgb),.42) 78%,rgba(var(--te-dark-rgb),.32) 100%)}
html[data-arch="split"] #stage .a-hero-bg .te-wrap{position:relative;z-index:2;padding-top:64px;padding-bottom:64px}
html[data-arch="split"] #stage .a-hero-bg .a-hero-grid{grid-template-columns:minmax(0,.72fr) minmax(0,.28fr)}
html[data-arch="split"] #stage .a-hero-bg .a-h1{color:#fff;text-shadow:0 2px 26px rgba(0,0,0,.4);max-width:17ch}
html[data-arch="split"] #stage .a-hero-bg .a-h1 .te-em{color:var(--te-primary-l)}
html[data-arch="split"] #stage .a-hero-bg .te-eyebrow{color:var(--te-primary-l);text-shadow:0 1px 10px rgba(0,0,0,.55)}
html[data-arch="split"] #stage .a-hero-bg .a-lead{color:rgba(255,255,255,.9);text-shadow:0 1px 10px rgba(0,0,0,.5);max-width:52ch}
html[data-arch="split"] #stage .a-hero-bg .a-stats b{color:var(--te-primary-l)}
html[data-arch="split"] #stage .a-hero-bg .a-stats span{color:rgba(255,255,255,.78)}
html[data-arch="split"] #stage .a-hero-bg .te-btn-o{color:#fff;border-color:rgba(255,255,255,.5)}
html[data-arch="split"] #stage .a-hero-bg .te-btn-o:hover{border-color:#fff;color:#fff;background:rgba(255,255,255,.1)}
@media(max-width:860px){
  /* Výšku úvodu tu NEnulujeme. Keď ju určuje len obsah, dočítanie písma zmení
     výšku textu, úvod sa prispôsobí a s ním sa posunie celá stránka pod ním —
     namerané CLS 0,50 (limit je 0,1). Rezerva posun absorbuje. */
  html[data-arch="split"] #stage .a-hero-bg{min-height:78vh;min-height:78svh}
  html[data-arch="split"] #stage .a-hero-bg .a-hero-grid{grid-template-columns:1fr}
  html[data-arch="split"] #stage .a-hero-bg .te-wrap{padding-top:44px;padding-bottom:48px}
  html[data-arch="split"] #stage .a-hero-bg .a-herobg::after{
    background:linear-gradient(175deg,rgba(var(--te-dark-rgb),.82) 0%,rgba(var(--te-dark-rgb),.9) 100%)}
}

/* ==================================================================== */
/* ARCHETYP 2 — EDITORIAL (Magazín)                                     */
/* ==================================================================== */
html[data-arch="editorial"] #stage .a-hero{position:relative;min-height:88vh;display:flex;align-items:flex-end;overflow:hidden}
html[data-arch="editorial"] #stage .ed-bg{position:absolute;inset:0}
html[data-arch="editorial"] #stage .ed-bg img{width:100%;height:100%;object-fit:cover}
html[data-arch="editorial"] #stage .ed-bg::after{content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(var(--te-dark-rgb),.45) 0%,rgba(var(--te-dark-rgb),.28) 34%,rgba(var(--te-dark-rgb),.86) 74%,rgba(var(--te-dark-rgb),.96) 100%)}
html[data-arch="editorial"] #stage .ed-nav{position:absolute;top:0;left:0;right:0;z-index:5}
html[data-arch="editorial"] #stage .ed-nav .te-logo,
html[data-arch="editorial"] #stage .ed-nav .te-nav-menu a,
html[data-arch="editorial"] #stage .ed-nav .te-logo .nm{color:#fff}
html[data-arch="editorial"] #stage .ed-hero-c{position:relative;z-index:4;padding-bottom:64px;color:#fff}
/* Prekryv počíta s tmavou fotkou. Pri svetlej (napr. béžová kožušina) sa biely
   text aj zlatý eyebrow strácajú — tieň bol dovtedy len v mobilnom bloku. */
/* Hero Magazínu je tmavý prekryv — eyebrow tam patrí svetlý odtieň, rovnako ako
   v ostatných tmavých sekciách (`.dark .te-eyebrow`). Tmavozlatá sa na fotke stráca. */
html[data-arch="editorial"] #stage .ed-hero-c .te-eyebrow{color:var(--te-primary-l);text-shadow:0 1px 10px rgba(0,0,0,.55)}
html[data-arch="editorial"] #stage .ed-hero-c .a-h1{text-shadow:0 2px 24px rgba(0,0,0,.42)}
html[data-arch="editorial"] #stage .ed-hero-c .a-lead{text-shadow:0 1px 10px rgba(0,0,0,.5)}
html[data-arch="editorial"] #stage .a-h1{font-size:clamp(3rem,9vw,7rem);line-height:.98;color:#fff;max-width:14ch}
html[data-arch="editorial"] #stage .a-h1 .te-em{color:var(--te-primary-l)}
html[data-arch="editorial"] #stage .a-lead{font-size:1.18rem;color:rgba(255,255,255,.82);max-width:540px;margin:22px 0 30px}
html[data-arch="editorial"] #stage .a-heroimg,html[data-arch="editorial"] #stage .a-badge{display:none}
html[data-arch="editorial"] #stage .ed-section{background:var(--te-bg);border-radius:var(--te-radius-sec) var(--te-radius-sec) 0 0;margin-top:-2px;position:relative;z-index:2}
html[data-arch="editorial"] #stage .ed-row{display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:center;padding:30px 0;border-bottom:1px solid var(--te-line)}
html[data-arch="editorial"] #stage .ed-row .no{font-family:var(--te-font-head);font-weight:var(--te-head-weight);font-size:2.4rem;color:var(--te-primary-l);width:74px}
html[data-arch="editorial"] #stage .ed-row h3{font-size:1.8rem}
html[data-arch="editorial"] #stage .ed-row p{color:var(--te-ink-2);font-size:.98rem;max-width:520px;margin-top:4px}
html[data-arch="editorial"] #stage .ed-row .pr{font-family:var(--te-font-head);font-weight:var(--te-head-weight);font-size:1.5rem;color:var(--te-primary-d);white-space:nowrap}
@media(max-width:640px){html[data-arch="editorial"] #stage .ed-row{grid-template-columns:auto 1fr;gap:16px}
  html[data-arch="editorial"] #stage .ed-row .pr{grid-column:2;text-align:left}}

/* ==================================================================== */
/* ARCHETYP 3 — MINIMAL (Čisté)                                         */
/* ==================================================================== */
html[data-arch="minimal"] #stage .a-hero{padding:70px 0 40px;text-align:center}
html[data-arch="minimal"] #stage .min-nav{justify-content:center;flex-direction:column;gap:14px;border-bottom:1px solid var(--te-line-d);padding-bottom:26px}
html[data-arch="minimal"] #stage .a-h1{font-size:clamp(2.8rem,7vw,5.4rem);line-height:1.04;max-width:16ch;margin:26px auto 22px}
html[data-arch="minimal"] #stage .a-lead{font-size:1.15rem;color:var(--te-ink-2);max-width:540px;margin:0 auto 32px}
html[data-arch="minimal"] #stage .a-heroimg{max-width:940px;margin:50px auto 0;aspect-ratio:21/9;border-radius:var(--te-radius);overflow:hidden;box-shadow:var(--te-sh-md)}
html[data-arch="minimal"] #stage .a-heroimg img{width:100%;height:100%;object-fit:cover}
html[data-arch="minimal"] #stage .a-badge{display:none}
html[data-arch="minimal"] #stage .min-list{max-width:720px;margin:0 auto}
html[data-arch="minimal"] #stage .min-item{display:flex;align-items:baseline;justify-content:space-between;gap:20px;padding:20px 0;border-bottom:1px solid var(--te-line-d)}
html[data-arch="minimal"] #stage .min-item h3{font-size:1.35rem;font-weight:500}
html[data-arch="minimal"] #stage .min-item .d{font-size:.9rem;color:var(--te-ink-2);flex:1;padding:0 24px}
html[data-arch="minimal"] #stage .min-item .pr{font-family:var(--te-font-head);font-weight:var(--te-head-weight);font-size:1.3rem;color:var(--te-primary-d)}
@media(max-width:640px){html[data-arch="minimal"] #stage .min-item .d{display:none}}

/* ============================ SPOLOČNÉ SEKCIE ============================ */
#stage .sec{padding:78px 0}
#stage .sec-head{max-width:640px;margin-bottom:44px}
#stage .sec-head.ctr{margin-left:auto;margin-right:auto;text-align:center}
#stage .sec-h2{font-size:clamp(2rem,4.6vw,3.2rem);line-height:1.05;margin:12px 0}
#stage .sec-lead{color:var(--te-ink-2);font-size:1.05rem}

#stage .cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media(max-width:900px){#stage .cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){#stage .cards{grid-template-columns:1fr}}
#stage .card{background:var(--te-surface);border:1px solid var(--te-line);border-radius:var(--te-radius);overflow:hidden;transition:transform .3s var(--te-ease),box-shadow .3s}
#stage .card:hover{transform:translateY(-6px);box-shadow:var(--te-sh-md)}
#stage .card .cimg{aspect-ratio:4/3;overflow:hidden}
#stage .card .cimg img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
#stage .card:hover .cimg img{transform:scale(1.06)}
#stage .card .cb{padding:20px}
#stage .card h3{font-size:1.25rem;margin-bottom:6px}
#stage .card .pr{color:var(--te-primary-d);font-family:var(--te-font-head);font-weight:var(--te-head-weight);font-size:1.2rem}
#stage .card p{font-size:.9rem;color:var(--te-ink-2);margin-top:6px}

#stage .dark{background:var(--te-dark);color:var(--te-dark-ink)}
#stage .dark .sec-h2{color:var(--te-dark-ink)}
#stage .dark .te-eyebrow{color:var(--te-primary-l)}
#stage .dark .sec-lead{color:rgba(255,255,255,.75)}
#stage .ai-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
/* Počet stĺpcov podľa počtu dlaždíc: 6 položiek v štvorstĺpcovej mriežke vyzerá
   ako 4 + 2 osirelé. Pravidlá sú v min-width bloku zámerne — na mobile musia
   vyhrať užšie rozloženia nižšie (`:has()` má vyššiu špecificitu než holá trieda). */
@media(min-width:901px){
  #stage .ai-grid:has(> :nth-child(2):last-child){grid-template-columns:repeat(2,1fr)}
  #stage .ai-grid:has(> :nth-child(3):last-child),
  #stage .ai-grid:has(> :nth-child(5):last-child),
  #stage .ai-grid:has(> :nth-child(6):last-child){grid-template-columns:repeat(3,1fr)}
}
@media(max-width:900px){#stage .ai-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){#stage .ai-grid{grid-template-columns:1fr}}
#stage .ai-it{background:rgba(255,255,255,.05);border:1px solid var(--te-dark-line);border-radius:18px;padding:24px}
#stage .ai-it .ic{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--te-primary),var(--te-primary-d));display:grid;place-items:center;margin-bottom:14px;font-size:1.2rem}
#stage .ai-it h4{font-family:var(--te-font-head);font-weight:var(--te-head-weight);font-size:1.15rem;margin-bottom:6px}
#stage .ai-it p{font-size:.88rem;color:rgba(255,255,255,.7)}

#stage .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
@media(max-width:820px){#stage .steps{grid-template-columns:repeat(2,1fr)}}
#stage .step{text-align:center}
#stage .step .no{width:52px;height:52px;border-radius:50%;border:1.5px solid var(--te-primary);color:var(--te-primary-d);font-family:var(--te-font-head);font-weight:var(--te-head-weight);font-size:1.2rem;display:grid;place-items:center;margin:0 auto 14px}
#stage .step h4{font-family:var(--te-font-head);font-weight:var(--te-head-weight);font-size:1.15rem;margin-bottom:4px}
#stage .step p{font-size:.86rem;color:var(--te-ink-2)}

#stage .gal{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:640px){#stage .gal{grid-template-columns:repeat(2,1fr)}}
#stage .gal img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px}

#stage .cta-band{background:linear-gradient(135deg,var(--te-primary),var(--te-primary-d));color:#fff;border-radius:28px;padding:56px;text-align:center}
#stage .cta-band h2{color:#fff;font-size:clamp(1.9rem,4vw,2.8rem);margin-bottom:14px}
#stage .cta-band p{color:rgba(255,255,255,.85);margin-bottom:26px}
#stage .cta-band .te-btn-p{background:#fff;color:var(--te-primary-d)}

#stage .foot{padding:44px 0;border-top:1px solid var(--te-line);color:var(--te-ink-2);font-size:.85rem}
#stage .foot .in{display:flex;justify-content:space-between;width:100%;gap:16px;flex-wrap:wrap}
html[data-arch="editorial"] #stage .foot,html[data-arch="editorial"] #stage .sec:not(.dark){color:var(--te-ink)}

/* ============================ MOBIL (≤560px) ============================ */
@media(max-width:560px){
  #stage .te-wrap{padding:0 20px}
  /* kompaktná navigácia — logo + malé CTA sa zmestia bez orezania */
  #stage .te-nav{padding:16px 0;gap:10px}
  /* CTA v hlavičke sa na úzkom displeji lámalo na dva riadky a pill sa roztiahol
     do výšky — popis nechávame na jednom riadku a radšej skrátime odsadenie. */
  #stage .te-nav .te-btn-p{padding:10px 15px;font-size:.8rem;white-space:nowrap}
  #stage .te-logo{gap:9px}
  #stage .te-logo-mk{width:36px;height:36px}
  #stage .te-logo-mk b{font-size:1.05rem}
  #stage .te-logo .nm{font-size:1.2rem}
  #stage .te-logo .sub{font-size:.5rem;letter-spacing:.26em}
  /* minimal má centrovanú nav — logo centruj ako celok (nie stretch → orezanie) */
  #stage .min-nav{align-items:center}
  /* hero nadpisy — primeraná veľkosť, žiadne preliezanie */
  html[data-arch="split"] #stage .a-h1{font-size:clamp(2.1rem,8vw,3rem)}
  html[data-arch="editorial"] #stage .a-h1{font-size:clamp(2.3rem,9vw,3.4rem);max-width:none}
  html[data-arch="minimal"] #stage .a-h1{font-size:clamp(2.1rem,8vw,3rem)}
  /* editorial hero: eyebrow/lead nad fotkou čitateľnejšie */
  html[data-arch="editorial"] #stage .ed-hero-c .te-eyebrow{text-shadow:0 1px 10px rgba(0,0,0,.5)}
  html[data-arch="editorial"] #stage .ed-hero-c .a-lead{text-shadow:0 1px 10px rgba(0,0,0,.4)}
  html[data-arch="editorial"] #stage .ed-hero-c{padding-bottom:44px}
  /* jemnejšie odsadenia sekcií a CTA na malom displeji */
  #stage .sec{padding:54px 0}
  #stage .cta-band{padding:40px 22px}
  #stage .a-stats{gap:26px}
  #stage .a-stats b{font-size:1.7rem}
}
@media(max-width:380px){
  #stage .te-nav .te-btn-p{padding:9px 12px;font-size:.74rem}
  #stage .te-logo .nm{font-size:1.1rem}
}

/* ==================== RECENZIE ==================== */
/* Masonry cez CSS columns — recenzie majú veľmi nerovnakú dĺžku a v mriežke by
   krátke karty ostali s obrovským prázdnym miestom. `break-inside` drží kartu vcelku. */
#stage .te-revs{columns:3;column-gap:20px}
@media(max-width:900px){#stage .te-revs{columns:2}}
@media(max-width:560px){#stage .te-revs{columns:1}}
#stage .te-rev{break-inside:avoid;-webkit-column-break-inside:avoid;display:inline-block;width:100%;
  background:var(--te-surface);border:1px solid var(--te-line);border-radius:var(--te-radius);
  padding:26px 24px;margin:0 0 20px;box-shadow:var(--te-sh-sm)}
#stage .te-rev blockquote{font-family:var(--te-font-body);font-size:.95rem;line-height:1.65;color:var(--te-ink);position:relative}
#stage .te-rev blockquote::before{content:'“';font-family:var(--te-font-head);font-size:3rem;line-height:0;
  color:var(--te-primary);opacity:.35;display:block;margin-bottom:14px}
#stage .te-rev figcaption{margin-top:16px;padding-top:14px;border-top:1px solid var(--te-line-d);
  font-family:var(--te-font-body);font-size:.84rem;display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
#stage .te-rev figcaption b{color:var(--te-ink);font-weight:600}
#stage .te-rev figcaption span{color:var(--te-muted);font-size:.78rem}
#stage .dark .te-rev{background:rgba(255,255,255,.05);border-color:var(--te-dark-line);box-shadow:none}
#stage .dark .te-rev blockquote{color:rgba(255,255,255,.82)}
#stage .dark .te-rev figcaption b{color:var(--te-dark-ink)}

/* ==================== CENNÍK ==================== */
/* Karty služieb predávajú, cenník informuje — preto tu nie sú fotky ani odstavce,
   ale súpis: kategória, riadok, cena vpravo. Skupiny sú v CSS columns (nie grid),
   lebo majú veľmi nerovnaký počet riadkov a v mriežke by kratšie kategórie nechali
   pod sebou prázdne pásy. `break-inside` drží kategóriu vcelku.
   Zvýraznená skupina (.hi) = balíčky a akcie; podfarbenie sa mieša zo značkovej
   farby a povrchu, takže sadne aj na tmavú tému, kde by pevný svetlý odtieň svietil. */
#stage .te-cen{columns:2;column-gap:22px}
@media(max-width:820px){#stage .te-cen{columns:1}}
#stage .te-cgrp{break-inside:avoid;-webkit-column-break-inside:avoid;display:inline-block;width:100%;
  background:var(--te-surface);border:1px solid var(--te-line);border-radius:var(--te-radius);
  padding:24px 24px 8px;margin:0 0 22px;box-shadow:var(--te-sh-sm)}
#stage .te-cgrp.hi{border:2px solid var(--te-primary);background:color-mix(in srgb,var(--te-primary) 7%,var(--te-surface));box-shadow:var(--te-sh-md)}
#stage .te-cgh{font-family:var(--te-font-head);font-weight:var(--te-head-weight);font-size:1.45rem;
  line-height:1.2;color:var(--te-ink);margin:0 0 4px}
#stage .te-cgn{font-family:var(--te-font-body);font-size:.84rem;color:var(--te-muted);line-height:1.55;margin:0 0 6px}
#stage .te-crows{list-style:none;margin:0;padding:0}
#stage .te-crow{display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  padding:13px 0;border-bottom:1px dashed var(--te-line-d)}
#stage .te-crow:last-child{border-bottom:0}
#stage .te-ci{min-width:0}
#stage .te-cn{display:block;font-family:var(--te-font-body);font-weight:600;font-size:.97rem;
  line-height:1.4;color:var(--te-ink)}
#stage .te-cd{display:block;font-family:var(--te-font-body);font-size:.82rem;line-height:1.55;
  color:var(--te-ink-2);margin-top:4px}
#stage .te-ctag{display:inline-block;vertical-align:middle;margin-left:8px;padding:2px 8px;
  border-radius:999px;background:var(--te-primary);color:var(--te-on-primary,#fff);
  font-size:.63rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}
#stage .te-cprice{white-space:nowrap;text-align:right}
#stage .te-cprice b{font-family:var(--te-font-head);font-weight:var(--te-head-weight);
  font-size:1.22rem;color:var(--te-primary-d)}
#stage .te-cwas{display:inline-block;margin-right:8px;font-family:var(--te-font-body);
  font-size:.82rem;color:var(--te-muted)}
#stage .te-cnote{max-width:760px;margin:6px auto 0;text-align:center;font-family:var(--te-font-body);
  font-size:.82rem;line-height:1.6;color:var(--te-muted)}
@media(max-width:520px){
  #stage .te-cgrp{padding:20px 18px 6px}
  #stage .te-crow{gap:12px}
  #stage .te-cprice b{font-size:1.1rem}
}

/* ==================== DOPYTOVÝ FORMULÁR UKÁŽKY ==================== */
/* Všetko cez premenné témy — formulár tak sadne do palety každého segmentu
   bez jediného riadku navyše na konkrétnej stránke. */
#stage .te-form-sec .te-formcard{max-width:760px;margin:0 auto;background:var(--te-surface);
  border:1px solid var(--te-line);border-radius:var(--te-radius);padding:34px 32px;
  box-shadow:var(--te-sh-md);position:relative}
#stage .te-fgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
#stage .te-fld{display:flex;flex-direction:column;gap:7px;min-width:0}
#stage .te-fld.wide{grid-column:1/-1}
#stage .te-fld label{font-family:var(--te-font-body);font-weight:600;font-size:.82rem;color:var(--te-ink-2)}
#stage .te-fld input,#stage .te-fld select,#stage .te-fld textarea{
  font-family:var(--te-font-body);font-size:.95rem;color:var(--te-ink);background:var(--te-bg);
  border:1.5px solid var(--te-line);border-radius:var(--te-radius-btn);padding:13px 16px;width:100%;
  transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
#stage .te-fld textarea{border-radius:var(--te-radius);resize:vertical;min-height:118px}
#stage .te-fld select{background-image:linear-gradient(45deg,transparent 50%,var(--te-ink-2) 50%),linear-gradient(135deg,var(--te-ink-2) 50%,transparent 50%);
  background-position:calc(100% - 20px) calc(50% + 2px),calc(100% - 15px) calc(50% + 2px);
  background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:42px}
#stage .te-fld input:focus,#stage .te-fld select:focus,#stage .te-fld textarea:focus{
  outline:none;border-color:var(--te-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--te-primary) 22%,transparent)}
#stage .te-fbtn{margin-top:22px}
#stage .te-formcard button[type=submit]:disabled{opacity:.6;cursor:default;transform:none}
#stage .te-form-msg{margin-top:14px;font-family:var(--te-font-body);font-size:.9rem;font-weight:600;min-height:0}
#stage .te-form-msg.ok{color:var(--te-primary-d)}
#stage .te-form-msg.err{color:#b3261e}
#stage .te-form-note{margin-top:12px;font-family:var(--te-font-body);font-size:.76rem;color:var(--te-muted);line-height:1.5}
#stage .te-form-priv{color:var(--te-primary-t);text-decoration:underline;text-underline-offset:2px}
#stage .te-form-priv:hover{color:var(--te-primary-d)}
@media(max-width:640px){
  #stage .te-form-sec .te-formcard{padding:24px 18px}
  #stage .te-fgrid{grid-template-columns:1fr;gap:14px}
}

/* ==================== REZERVAČNÝ WIDGET ==================== */
/* Widget si nesie vlastný vzhľad v Shadow DOM — tu len miesto, kam sa namontuje. */
#stage .te-book-mount{max-width:760px;margin:0 auto;min-height:120px;display:flex;justify-content:center}
#stage .te-book-mount>*{width:100%;max-width:560px}

/* ==================== INTERAKTÍVNA UKÁŽKA ==================== */
#stage .te-panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:22px;align-items:start}
#stage .te-panel{background:var(--te-surface);border:1px solid var(--te-line);border-radius:var(--te-radius);
  padding:26px 24px;box-shadow:var(--te-sh-md)}
#stage .te-panel-h{font-family:var(--te-font-head);font-weight:var(--te-head-weight);font-size:1.15rem;
  color:var(--te-ink);display:flex;align-items:center;gap:9px;margin-bottom:4px}
#stage .te-panel-h::before{content:'';width:9px;height:9px;border-radius:50%;flex:none;
  background:var(--te-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--te-primary) 22%,transparent)}
#stage .te-panel-sub{font-family:var(--te-font-body);font-size:.84rem;color:var(--te-muted);margin-bottom:18px;line-height:1.5}
#stage .te-cfld{display:block;font-family:var(--te-font-body);font-weight:600;font-size:.8rem;
  color:var(--te-ink-2);margin:16px 0 8px}
#stage .te-rv{color:var(--te-primary-d);font-weight:700}

/* segmentové prepínače + čipy */
#stage .te-seg,#stage .te-chips{display:flex;flex-wrap:wrap;gap:8px}
#stage .te-segb,#stage .te-chip{font-family:var(--te-font-body);font-weight:600;font-size:.84rem;cursor:pointer;
  padding:9px 15px;border-radius:var(--te-radius-btn);border:1.5px solid var(--te-line);
  background:var(--te-bg);color:var(--te-ink-2);transition:.2s}
#stage .te-segb:hover,#stage .te-chip:hover{border-color:var(--te-primary);color:var(--te-primary-d)}
#stage .te-segb.on,#stage .te-chip.on{background:linear-gradient(135deg,var(--te-primary),var(--te-primary-d));
  border-color:transparent;color:#fff}

/* posuvník */
#stage .te-range{width:100%;-webkit-appearance:none;appearance:none;height:5px;border-radius:4px;
  background:var(--te-line);outline:none;margin:2px 0 4px}
#stage .te-range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;cursor:pointer;
  background:linear-gradient(135deg,var(--te-primary),var(--te-primary-d));box-shadow:0 3px 10px -2px color-mix(in srgb,var(--te-primary-d) 70%,transparent)}
#stage .te-range::-moz-range-thumb{width:22px;height:22px;border:none;border-radius:50%;cursor:pointer;
  background:var(--te-primary-d)}

/* výstup kalkulačky */
#stage .te-price{margin-top:22px;padding:18px 20px;border-radius:var(--te-radius);
  background:var(--te-bg);border:1px dashed var(--te-line)}
#stage .te-price small{display:block;font-family:var(--te-font-body);font-size:.74rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--te-muted);margin-bottom:5px}
#stage .te-price b{font-family:var(--te-font-head);font-weight:var(--te-head-weight);
  font-size:clamp(1.5rem,3.4vw,2.1rem);color:var(--te-primary-d);display:block;line-height:1.1}
#stage .te-price em{display:block;font-style:normal;font-size:.76rem;color:var(--te-muted);margin-top:7px;line-height:1.5}

/* konzola s odhaľovanými riadkami */
#stage .te-airun{margin-top:18px;padding:12px 24px;font-size:.88rem}
#stage .te-console{margin-top:18px;background:var(--te-dark);border-radius:var(--te-radius);padding:18px 20px;min-height:96px}
#stage .te-console-empty{font-family:var(--te-font-body);font-size:.84rem;color:rgba(255,255,255,.55);line-height:1.6}
#stage .te-cline{display:flex;gap:14px;padding:9px 0;border-bottom:1px solid var(--te-dark-line);
  opacity:0;transform:translateY(6px);transition:opacity .35s ease,transform .35s var(--te-ease)}
#stage .te-cline.show{opacity:1;transform:none}
#stage .te-cline:last-child{border-bottom:none}
#stage .te-cline .k{flex:0 0 34%;font-family:var(--te-font-body);font-size:.76rem;letter-spacing:.06em;
  text-transform:uppercase;color:rgba(255,255,255,.5);padding-top:2px}
#stage .te-cline .v{flex:1;font-family:var(--te-font-body);font-size:.9rem;color:var(--te-dark-ink);line-height:1.5}
#stage .te-badge{display:inline-block;padding:3px 11px;border-radius:30px;font-size:.78rem;font-weight:700}
#stage .te-badge.b-hot{background:#fde2e0;color:#a3231a}
#stage .te-badge.b-warm{background:#fdf0d5;color:#8a5a06}
#stage .te-badge.b-cold{background:#dff1e6;color:#1c6b3f}

/* filter galérie */
#stage .te-galf{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:26px}
#stage .te-galf button{font-family:var(--te-font-body);font-weight:600;font-size:.82rem;cursor:pointer;
  padding:8px 16px;border-radius:var(--te-radius-btn);border:1.5px solid var(--te-line);
  background:transparent;color:var(--te-ink-2);transition:.2s}
#stage .te-galf button:hover{border-color:var(--te-primary);color:var(--te-primary-d)}
#stage .te-galf button.on{background:var(--te-ink);border-color:var(--te-ink);color:var(--te-bg)}

@media(max-width:640px){
  #stage .te-panels{grid-template-columns:1fr}
  #stage .te-panel{padding:20px 16px}
  #stage .te-cline{flex-direction:column;gap:3px}
  #stage .te-cline .k{flex:none}
}

/* ============================ PREPÍNAČ VERZIÍ ============================ */
#te-switcher{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:99991;
  background:var(--te-dark);background:rgba(28,20,26,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
  border-radius:44px;padding:6px;display:flex;gap:4px;box-shadow:0 18px 44px -12px rgba(20,18,22,.6);border:1px solid rgba(255,255,255,.1)}
#te-switcher button{border:none;background:transparent;color:rgba(255,255,255,.72);font-family:var(--te-font-body);font-weight:600;font-size:.86rem;padding:10px 20px;border-radius:40px;cursor:pointer;transition:.25s;display:flex;flex-direction:column;align-items:center;line-height:1.1;gap:2px}
#te-switcher button .vn{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;opacity:.7}
#te-switcher button.on{background:linear-gradient(135deg,var(--te-primary),var(--te-primary-d));color:#fff;box-shadow:0 6px 16px -6px color-mix(in srgb,var(--te-primary-d) 80%,transparent)}
#te-switcher button:not(.on):hover{color:#fff}
#te-swlbl{position:fixed;bottom:74px;left:50%;transform:translateX(-50%);z-index:99990;font-size:.72rem;color:#fff;background:rgba(28,20,26,.82);padding:5px 14px;border-radius:30px;box-shadow:var(--te-sh-sm);pointer-events:none;opacity:0;transition:opacity .3s}
@media(max-width:520px){#te-switcher button{padding:9px 13px;font-size:.8rem}#te-switcher{bottom:14px}}


/* ==================== PRILEPENÁ HLAVIČKA + SPÄŤ HORE ====================
   Platí na ukážkach aj na weboch klientov. Na ukážkach sa hlavička lepí POD
   horný predajný pruh z te-cta.js (jeho výška je v --te-top), na weboch klientov
   je --te-top nula, takže sedí na vrchu okna.

   Klasik: prilepí sa PÔVODNÁ hlavička, takže po odrolovaní vyzerá presne tak
   ako na začiatku — pribudne jej len linka a jemný tieň, aby sa oddelila od
   obsahu, ktorý pod ňou uteká. Aby pozadie siahalo cez celú šírku, obal sa
   roztiahne a pôvodné zarovnanie obsahu drží vnútorné odsadenie (žiadne `vw`,
   ktoré by pri zobrazenom posuvníku vyrobilo vodorovné pretečenie). */
/* Prilepená hlavička. Trieda sedí na `<header class="te-hdr">`, ktorý je
   priamym potomkom #stage — vnútorný `.te-wrap` sa o centrovanie a odsadenie
   stará sám, takže tu netreba prepisovať šírku ani padding. */
#stage .te-nav-stick{position:sticky;top:var(--te-top,0px);z-index:60;
  background:var(--te-bg);
  border-bottom:1px solid transparent;
  transition:border-color .25s,box-shadow .25s,padding .25s}
#stage .te-nav-stick.stuck{border-bottom-color:var(--te-line);
  box-shadow:0 10px 30px -24px rgba(20,18,22,.7)}
#stage .te-nav-stick.stuck .te-nav{padding-top:14px;padding-bottom:14px}
#stage .te-nav-stick .te-nav{transition:padding .25s}

/* Odkaz „preskočiť na obsah" — mimo obrazovky, kým naň nepríde fokus. Nesmie
   byť `display:none`, to by ho vyradilo aj z prechádzania klávesnicou. */
#stage .te-skip{position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--te-dark);color:var(--te-dark-ink);
  padding:12px 20px;border-radius:0 0 10px 0;font-family:var(--te-font-body);
  font-size:.9rem;font-weight:600}
#stage .te-skip:focus{left:0}
/* Patička Magazínu leží mimo <main>, ale musí vyzerať ako pokračovanie tej istej
   plochy — preto bez zaoblenia hore a bez záporného odsadenia. */
html[data-arch="editorial"] #stage .ed-section--foot{border-radius:0;margin-top:0}

/* Náhradná lišta a tlačidlo „späť hore" — na ukážkach aj na weboch klientov.
   Tlačidlo je zámerne v pravom dolnom rohu: prepínač dizajnových verzií je dole
   v strede a predajný pruh z te-cta.js na pravom okraji v strede, takže si
   nezavadzajú. Prvky vkladá engine (wireChrome), preto sú mimo #stage. */
.te-sticky{position:fixed;top:var(--te-top,0px);left:0;right:0;z-index:60;background:var(--te-bg);
  border-bottom:1px solid var(--te-line);box-shadow:0 8px 24px -18px rgba(20,18,22,.5);
  transform:translateY(-100%);transition:transform .28s var(--te-ease,cubic-bezier(.4,0,.2,1));
  will-change:transform}
.te-sticky.on{transform:translateY(0)}
.te-sticky-in{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 0}
.te-sticky .te-logo-mk{width:34px;height:34px}
.te-sticky .te-logo .nm{font-size:1.15rem}
.te-sticky .te-logo .sub{display:none}
.te-sticky .te-btn-p{padding:11px 22px;font-size:.88rem;box-shadow:none}
@media(max-width:860px){.te-sticky .te-nav-menu{display:none}}
@media(max-width:520px){.te-sticky .te-btn-p{padding:10px 16px;font-size:.82rem}}

.te-btt{position:fixed;right:20px;bottom:20px;z-index:60;width:46px;height:46px;
  border:1px solid var(--te-line);border-radius:var(--te-radius-btn);cursor:pointer;
  background:var(--te-surface);color:var(--te-primary-d);font-size:1.15rem;line-height:1;
  display:grid;place-items:center;box-shadow:var(--te-sh-md);
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity .25s,transform .25s,visibility .25s,background .2s,color .2s}
.te-btt.on{opacity:1;visibility:visible;transform:translateY(0)}
.te-btt:hover{background:var(--te-primary);color:#fff;border-color:transparent}
.te-btt:focus-visible{outline:2px solid var(--te-primary);outline-offset:3px}
@media(max-width:520px){.te-btt{right:14px;bottom:14px;width:42px;height:42px}}
@media(prefers-reduced-motion:reduce){
  .te-sticky,.te-btt{transition:none}
}

/* identifikačné údaje podnikateľa v pätičke (§3a Obchodného zákonníka) */
#stage .foot-legal{padding:0 0 22px;margin-top:-8px;font-size:.74rem;color:var(--te-muted);line-height:1.6}
html[data-arch="editorial"] #stage .foot-legal{color:rgba(255,255,255,.5)}


/* ==================== MENU V HLAVIČKE ====================
   Platí na ukážkach aj na weboch klientov — menu má všade vyzerať a správať sa
   rovnako (Lukáš 2026-08-15).

   Namiesto podčiarknutia pri každej položke má menu JEDEN spoločný indikátor,
   ktorý sa presúva pod kurzor a po odídení myši sa vráti na sekciu, v ktorej
   návštevník práve je. Poloha teda nesie informáciu, nie je to ozdoba.

   Všetky farby idú cez `currentColor` alebo tokeny témy — menu tak sadne aj na
   tmavú fotku v Magazíne, aj na svetlé pozadie Klasiku, bez zvláštnych pravidiel. */
#stage .te-nav-menu{position:relative;gap:2px;align-items:center}
#stage .te-nav-menu a{position:relative;z-index:1;padding:9px 15px;border-radius:var(--te-radius-btn);
  font-size:.875rem;font-weight:500;letter-spacing:.012em;color:var(--te-ink-2);
  transition:color .25s}
#stage .te-nav-menu a[href]{cursor:pointer}
#stage .te-nav-menu a[href]:hover,#stage .te-nav-menu a.on{color:var(--te-ink)}
/* položka bez cieľa (vypnutá sekcia) nesmie vyzerať klikateľne */
#stage .te-nav-menu a:not([href]){color:var(--te-muted);cursor:default}
#stage .te-nav-menu a:focus-visible{outline:2px solid var(--te-primary);outline-offset:2px}
/* bodka pod položkou = sekcia, v ktorej práve som */
#stage .te-nav-menu a.on::after{content:'';position:absolute;left:50%;bottom:3px;
  width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--te-primary)}

#stage .te-nav-ind{position:absolute;left:0;top:0;height:100%;width:0;z-index:0;
  border-radius:var(--te-radius-btn);background:color-mix(in srgb,currentColor 9%,transparent);
  opacity:0;pointer-events:none;
  transition:transform .4s var(--te-ease),width .4s var(--te-ease),opacity .25s}
#stage .te-nav-menu.ready .te-nav-ind.on{opacity:1}
@media(prefers-reduced-motion:reduce){#stage .te-nav-ind{transition:opacity .2s}}
@media(prefers-reduced-motion:reduce){
  #stage .te-nav-stick,#stage .te-nav-stick .te-nav{transition:none}
}

/* ==================== KONTAKT V PÄTIČKE ==================== */
#stage .foot-contact{display:inline-flex;flex-wrap:wrap;align-items:center;gap:0 8px}
#stage .foot-contact .sep{opacity:.5}
#stage .foot-tel,#stage .foot-map{position:relative;transition:color .2s}
#stage .foot-tel:hover,#stage .foot-map:hover{color:var(--te-primary)}
#stage .foot-tel:focus-visible,#stage .foot-map:focus-visible{outline:2px solid var(--te-primary);outline-offset:3px;border-radius:2px}
#stage .foot-map::after{content:'↗';font-size:.72em;margin-left:3px;opacity:.6}


/* ==================== KOTVY SEKCIÍ ====================
   Cieľ skoku z menu sa musí zastaviť POD prilepenou hlavičkou, inak nadpis
   sekcie skončí pod ňou. Výšku hlavičky meria engine do --te-navh; ukážky ju
   nemajú a spadnú na rezervu po hornom predajnom pruhu (--te-top). */
#stage section[id],#stage footer[id]{scroll-margin-top:calc(var(--te-navh,var(--te-top,0px)) + 16px)}

/* ==================== MOBILNÁ NAVIGÁCIA ====================
   Panel sa vysúva Z PRAVA — platformové pravidlo, rovnako ako na ostatných
   weboch. Na stránke je práve jeden a vkladá ho engine, takže ho ovláda aj
   tlačidlo v náhradnej lište. */
#stage .te-navtoggle{display:none;align-items:center;justify-content:center;
  width:42px;height:42px;flex:none;border:1px solid var(--te-line);border-radius:var(--te-radius-btn);
  background:transparent;color:var(--te-ink);cursor:pointer;transition:border-color .2s,background .2s}
#stage .te-navtoggle:hover{border-color:var(--te-primary)}
#stage .te-navtoggle:focus-visible{outline:2px solid var(--te-primary);outline-offset:3px}
#stage .te-burger{display:grid;gap:4px;width:18px}
#stage .te-burger i{display:block;height:1.6px;background:currentColor;border-radius:2px}
/* v Magazíne leží hlavička na fotke — tlačidlo musí byť svetlé ako zvyšok nav */
html[data-arch="editorial"] #stage .ed-nav .te-navtoggle{color:#fff;border-color:rgba(255,255,255,.45)}
@media(max-width:860px){#stage .te-navtoggle{display:inline-flex}}

/* `visibility` sa NEprechádza plynulo — prepína sa oneskorením: pri otváraní
   hneď (0s), pri zatváraní až po dojazde vysunutia. Bez toho je panel v okamihu
   otvorenia ešte `hidden`, takže naň nesadne ohnisko klávesnice. */
.te-mobnav-bg{position:fixed;inset:0;z-index:79;background:rgba(0,0,0,.5);
  -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
  opacity:0;visibility:hidden;transition:opacity .35s,visibility 0s .35s}
.te-mobnav-bg.on{opacity:1;visibility:visible;transition:opacity .35s,visibility 0s 0s}

/* ---- spoločná kostra ----
   Smer vysunutia je vždy z prava (platformové pravidlo), rozdiely sú vo vzhľade.
   `visibility` sa NEprechádza plynulo, preto sa prepína oneskorením — inak na
   panel v okamihu otvorenia nesadne ohnisko klávesnice. */
.te-mobnav{position:fixed;top:var(--te-top,0px);right:0;bottom:0;z-index:80;
  display:flex;flex-direction:column;padding:18px 26px 28px;
  overflow-y:auto;overscroll-behavior:contain;
  transform:translateX(100%);visibility:hidden;
  transition:transform .42s var(--te-ease,cubic-bezier(.22,1,.28,1)),visibility 0s .42s}
.te-mobnav.on{transform:translateX(0);visibility:visible;
  transition:transform .42s var(--te-ease,cubic-bezier(.22,1,.28,1)),visibility 0s 0s}

.te-mobnav-head{display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding-bottom:18px;border-bottom:1px solid currentColor}
.te-mobnav-head{border-bottom-color:color-mix(in srgb,currentColor 16%,transparent)}
/* klonovaná značka je `<a href="#">` — mimo #stage neplatí pravidlo, ktoré ruší podčiarknutie */
.te-mobnav-head .te-logo{color:inherit;pointer-events:none;text-decoration:none;
  display:flex;align-items:center;gap:11px}
.te-mobnav-head .te-logo-mk{width:34px;height:34px;flex:none;display:grid;place-items:center;
  border-radius:var(--te-radius-logo);background:linear-gradient(150deg,var(--te-primary),var(--te-primary-d))}
.te-mobnav-head .te-logo-mk.has-img{background:none}
.te-mobnav-head .te-logo-mk img{width:100%;height:100%;object-fit:contain;display:block}
.te-mobnav-head .te-logo-mk b{font-family:var(--te-font-head);color:#fff;font-size:1rem;font-weight:600}
.te-mobnav-head .te-logo .nm{font-family:var(--te-font-head);font-weight:var(--te-head-weight);font-size:1.1rem;line-height:1;display:block}
.te-mobnav-head .te-logo .sub{display:block;font-size:.46rem;letter-spacing:.3em;text-transform:uppercase;color:var(--te-primary-l);margin-top:3px}
.te-mobnav-x{flex:none;width:38px;height:38px;border-radius:50%;cursor:pointer;
  border:1px solid color-mix(in srgb,currentColor 22%,transparent);background:transparent;color:inherit;
  font-size:.9rem;line-height:1;transition:background .2s,border-color .2s}
.te-mobnav-x:hover{background:color-mix(in srgb,currentColor 10%,transparent);border-color:transparent}
.te-mobnav-x:focus-visible{outline:2px solid var(--te-primary);outline-offset:2px}

.te-mobnav-list{display:flex;flex-direction:column;padding:26px 0 8px}
.te-mobnav-list a{position:relative;display:block;text-decoration:none;color:inherit;
  opacity:0;transform:translateX(16px);
  transition:opacity .45s ease,transform .45s var(--te-ease,cubic-bezier(.22,1,.28,1))}
.te-mobnav.on .te-mobnav-list a{opacity:.72;transform:translateX(0);
  transition-delay:calc(.055s * var(--i,0) + .12s)}
.te-mobnav.on .te-mobnav-list a:hover,.te-mobnav.on .te-mobnav-list a.on{opacity:1}
.te-mobnav.on .te-mobnav-list a.mrtvy{opacity:.34;cursor:default}
.te-mobnav-list a:focus-visible{outline:2px solid var(--te-primary);outline-offset:3px;border-radius:4px}

.te-mobnav-cta{display:flex;align-items:center;justify-content:center;width:100%;margin-top:20px;
  padding:15px 24px;text-align:center;text-decoration:none;cursor:pointer;
  font-family:var(--te-font-body);font-weight:600;font-size:.95rem;color:#fff;
  border:none;border-radius:var(--te-radius-btn);
  background:linear-gradient(135deg,var(--te-primary),var(--te-primary-d));
  box-shadow:0 16px 34px -16px rgba(0,0,0,.6)}
.te-mobnav-cta:hover{filter:brightness(1.06)}
.te-mobnav-cta:focus-visible{outline:2px solid var(--te-primary);outline-offset:3px}

/* Kontakt: telefón je hlavná akcia, preto väčší a plný; e-mail a adresa tichšie. */
.te-mobnav-kontakt{margin-top:auto;padding-top:22px;display:flex;flex-direction:column;gap:12px;
  border-top:1px solid color-mix(in srgb,currentColor 16%,transparent)}
.te-mobnav-kontakt a{display:flex;align-items:center;gap:11px;text-decoration:none;
  font-family:var(--te-font-body);color:inherit;word-break:break-word;transition:color .2s,opacity .2s}
.te-mobnav-kontakt a::before{color:var(--te-primary-l);flex:none}
.te-mobnav-kontakt a.tel{font-size:1.06rem;font-weight:600}
.te-mobnav-kontakt a.tel::before{content:'✆';font-size:1.15em}
.te-mobnav-kontakt a.mail{font-size:.9rem;opacity:.72}
.te-mobnav-kontakt a.mail::before{content:'✉'}
.te-mobnav-kontakt a.mapa{font-size:.9rem;opacity:.72}
.te-mobnav-kontakt a.mapa::before{content:'⌖'}
.te-mobnav-kontakt a:hover{color:var(--te-primary-l);opacity:1}
.te-mobnav-kontakt a:focus-visible{outline:2px solid var(--te-primary);outline-offset:3px;border-radius:3px}

/* ==================== KLASIK — tmavá zásuvka ====================
   Panel stojí na tmavom tóne témy; `--te-dark-ink` je k nemu dopočítaný na
   čitateľnosť, takže to sadne aj mätovej škôlke aj tlmeným pohrebným službám. */
.te-mobnav--split{width:min(86vw,362px);background:var(--te-dark);color:var(--te-dark-ink);
  box-shadow:-30px 0 70px -30px rgba(0,0,0,.65)}
/* zvislý akcent na hrane — jediné miesto s plnou značkovou farbou */
.te-mobnav--split::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(180deg,var(--te-primary),transparent 65%)}
.te-mobnav--split .te-mobnav-list a{padding:14px 0 14px 22px;
  font-family:var(--te-font-head);font-weight:var(--te-head-weight);
  font-size:clamp(1.45rem,6.2vw,1.85rem);line-height:1.2;letter-spacing:-.01em}
/* krátka značková čiarka pri sekcii, v ktorej návštevník práve je */
.te-mobnav--split .te-mobnav-list a::before{content:'';position:absolute;left:0;top:50%;
  width:12px;height:2px;margin-top:-1px;background:var(--te-primary);
  transform:scaleX(0);transform-origin:left center;
  transition:transform .3s var(--te-ease,cubic-bezier(.22,1,.28,1))}
.te-mobnav--split .te-mobnav-list a.on::before{transform:scaleX(1)}

/* ==================== MAGAZÍN — celoplošné prevzatie ====================
   Fotka z úvodu ostáva v pozadí, položky sú číslované ako obsah v časopise —
   poradie čísel zodpovedá poradiu sekcií na stránke, čiže niečo znamená. */
.te-mobnav--editorial{width:100%;background:var(--te-dark);color:var(--te-dark-ink);
  padding-left:32px;padding-right:32px}
.te-mobnav--editorial.ma-foto::after{content:'';position:absolute;inset:0;z-index:0;
  background-image:var(--te-mob-foto);background-size:cover;background-position:center;
  opacity:.42;pointer-events:none}
.te-mobnav--editorial.ma-foto::before{content:'';position:absolute;inset:0;z-index:1;
  background:linear-gradient(155deg,rgba(var(--te-dark-rgb),.34) 0%,rgba(var(--te-dark-rgb),.78) 45%,rgba(var(--te-dark-rgb),.95) 100%);
  pointer-events:none}
.te-mobnav--editorial > *{position:relative;z-index:2}
.te-mobnav--editorial .te-mobnav-list{counter-reset:temi;padding:34px 0 10px}
.te-mobnav--editorial .te-mobnav-list a{counter-increment:temi;padding:12px 0;
  font-family:var(--te-font-head);font-weight:var(--te-head-weight);
  font-size:clamp(2rem,9.5vw,2.9rem);line-height:1.05;letter-spacing:-.02em}
.te-mobnav--editorial .te-mobnav-list a::before{content:counter(temi,decimal-leading-zero);
  display:block;font-family:var(--te-font-body);font-size:.62rem;font-weight:600;
  letter-spacing:.28em;color:var(--te-primary-l);opacity:.85;margin-bottom:2px}
.te-mobnav--editorial .te-mobnav-list a.on{opacity:1}
.te-mobnav--editorial .te-mobnav-list a.on::before{opacity:1;color:var(--te-primary)}

/* ==================== MINIMAL — svetlý a vzdušný ====================
   Žiadna tmavá plocha ani akcent na hrane: pozadie stránky, tenká linka, drobné
   verzálky na stred. Archetyp stavia na priestore, nie na kontraste. */
.te-mobnav--minimal{width:min(86vw,340px);background:var(--te-bg);color:var(--te-ink);
  border-left:1px solid var(--te-line);box-shadow:-24px 0 60px -34px rgba(20,18,22,.4);
  text-align:center}
.te-mobnav--minimal .te-mobnav-head{justify-content:center;position:relative;padding-bottom:22px;padding-right:46px}
.te-mobnav--minimal .te-mobnav-x{position:absolute;right:0;top:-4px}
.te-mobnav--minimal .te-mobnav-list{padding:34px 0 10px;gap:2px}
.te-mobnav--minimal .te-mobnav-list a{padding:15px 0;
  font-family:var(--te-font-body);font-size:.82rem;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;color:var(--te-ink-2)}
.te-mobnav.te-mobnav--minimal.on .te-mobnav-list a{opacity:1}
.te-mobnav--minimal .te-mobnav-list a.on{color:var(--te-primary-t,var(--te-primary-d))}
.te-mobnav--minimal .te-mobnav-list a::after{content:'';display:block;width:16px;height:1px;
  margin:11px auto 0;background:var(--te-line);transition:width .3s,background .3s}
.te-mobnav--minimal .te-mobnav-list a.on::after{width:34px;background:var(--te-primary)}
.te-mobnav--minimal .te-mobnav-kontakt{align-items:center;border-top-color:var(--te-line)}
.te-mobnav--minimal .te-mobnav-kontakt a{justify-content:center;color:var(--te-ink-2)}
.te-mobnav--minimal .te-mobnav-kontakt a::before{color:var(--te-primary-d)}
.te-mobnav--minimal .te-mobnav-kontakt a:hover{color:var(--te-primary-d)}
.te-mobnav--minimal .te-mobnav-cta{box-shadow:0 14px 30px -16px color-mix(in srgb,var(--te-primary-d) 60%,transparent)}

body.te-mobnav-lock{overflow:hidden}
@media(prefers-reduced-motion:reduce){
  .te-mobnav,.te-mobnav-bg,.te-mobnav-list a,.te-mobnav-list a::before,.te-mobnav-list a::after{transition:none}
  .te-mobnav.on .te-mobnav-list a{transition-delay:0s}
}
