// ============================================================
// Right sidebar: tips panel + tip modal (mobile)
// ============================================================

const Tips = ({ activeArticle, activeTipKey, clearTipKey, doctype }) => {
  const TIPS = {
    'header-sud': {
      head: 'Tip advokáta · Výber súdu',
      body: <>Ak si nie ste istý, ktorý súd je príslušný na vaše konanie, nevyberajte teraz nič. V ďalšom kroku (bod 1.2) vám systém pomôže určiť miestnu príslušnosť pomocou jednoduchých otázok. Súdu môžete návrh poslať <strong>poštou doporučene</strong>, doručiť osobne na podateľňu alebo elektronicky cez slovensko.sk (ak máte eID s elektronickým podpisom).</>,
      cite: '§ 92 ods. 1 zák. č. 160/2015 Z. z. – CSP',
    },
    'header-poplatok': {
      head: 'Tip advokáta · Súdny poplatok',
      body: <>Súdny poplatok za návrh na rozvod je <strong>100 €</strong> (položka 7a sadzobníka zákona č. 71/1992 Zb. o súdnych poplatkoch). Môžete ho uhradiť kolkom — kúpite ho na pošte alebo na pobočke Slovenskej pošty pomocou QR kódu a pripojíte k návrhu. Pri elektronickom podaní cez portál slovensko.sk je poplatok <strong>znížený na 50 €</strong> — vyžaduje sa však kvalifikovaný elektronický podpis. Ak poplatok neuhradíte spolu s návrhom, súd vás vyzve a pošle číslo účtu s variabilným symbolom (zvyčajne do 3–4 týždňov od podania).</>,
      cite: 'Zák. č. 71/1992 Zb. — položka 7a',
    },
    '1.1': {
      head: 'Tip advokáta · Údaje o manželstve',
      body: <>Údaje o uzavretí manželstva — dátum, miesto, matričný úrad, zväzok, ročník, strana a poradové číslo — nájdete v <strong>sobášnom liste</strong>. Sobášny list je <strong>povinnou prílohou návrhu</strong> — bez neho súd nemôže manželstvo rozviesť. Ak ste sobášny list stratili, požiadajte o duplikát na matričnom úrade kde bol sobáš zapísaný (poplatok 5 €, vybavenie obyčajne na počkanie).</>,
      cite: '',
    },
    '1.2-q1': {
      head: 'Tip advokáta · Spoločné bydlisko',
      body: <>Spoločné bydlisko znamená spoločnú adresu, kde ste s manželom <strong>skutočne žili</strong> — nie len formálnu adresu trvalého pobytu. Bydlisko a trvalý pobyt nie sú to isté: trvalý pobyt je administratívny údaj zapísaný v evidencii obyvateľov, kým <strong>bydlisko je miesto, kde fakticky bývate</strong>. Ak ste mali počas manželstva viacero spoločných adries, uvádzajte poslednú z nich.</>,
      cite: '',
    },
    '1.2-q3': {
      head: 'Tip advokáta · Trvalý pobyt na Slovensku',
      body: <>Ak odporca žije v zahraničí, miestna príslušnosť sa určuje podľa § 92 ods. 1 CSP — alternatívne podľa trvalého pobytu navrhovateľa. Pri rozvodoch s <strong>cudzím prvkom</strong> (napr. odporca je cudzinec alebo má bydlisko v inej krajine EÚ) môže byť potrebné posúdiť aj nariadenie <strong>Rím III</strong> a <strong>Brusel IIa</strong> o medzinárodnej príslušnosti — v takých prípadoch dôrazne odporúčame konzultáciu s advokátom.</>,
      cite: '§ 92 ods. 1 CSP; nar. Rím III; nar. Brusel IIa',
    },
    'volitelne-body': {
      head: 'Tip advokáta · Voliteľné body dohody',
      body: <>Voliteľné body, ktoré tu vyberiete, sú dôležitou súčasťou dohody medzi rodičmi, ale POZOR — súd ich pri schvaľovaní dohody do svojho rozhodnutia spravidla <strong>NEPRENESIE</strong>. Dôvod: tieto body nie sú jednoznačne vykonateľné, t. j. pri ich porušení sa nedá podať návrh na výkon rozhodnutia, ako je to napríklad pri výživnom alebo styku. Súd schvaľuje a do výroku rozhodnutia preberá iba zverenie do osobnej starostlivosti, výživné, styk a zastupovanie/správu majetku — všetko ostatné je tzv. gentlemanská dohoda medzi rodičmi. Tieto voliteľné body si zachovávajú morálnu silu a v prípade porušenia môžu slúžiť ako dôkaz správania rodiča v budúcom konaní o zmenu starostlivosti, ale samé osebe nie sú právne vynútiteľné.</>,
      cite: '§ 24 ods. 3 zákona č. 36/2005 Z. z. o rodine',
    },
    'art-1-predmet': {
      head: 'Tip advokáta · Predmet dohody',
      body: <>Dohoda rodičov o úprave výkonu rodičovských práv a povinností sa uzatvára podľa <strong>§ 24 zákona č. 36/2005 Z. z. o rodine</strong>. Vykonateľnou sa stáva až po jej schválení súdom v konaní vo veciach starostlivosti o maloletých (§ 100 a nasl. zákona č. 161/2015 Z. z. — Civilný mimosporový poriadok). Schvaľovanie dohody je <strong>oslobodené od súdneho poplatku</strong>. Príslušným je okresný súd v obvode, v ktorom má maloleté dieťa bydlisko (§ 112 ods. 1 CMP).</>,
      cite: '§ 24 ods. 3 ZoR, § 100 a § 112 ods. 1 CMP',
    },
    'kids-section': doctype === 'dohoda' ? {
      head: 'Tip advokáta · Maloleté deti v dohode rodičov',
      body: <>V tejto dohode rodičia spoločne upravujú výkon rodičovských práv a povinností k maloletým deťom (vrátane osvojených detí). <strong>Plnoleté deti</strong> (deti, ktoré dovŕšili 18 rokov) sa do dohody NEUVÁDZAJÚ — vyživovacia povinnosť a iné záležitosti vo vzťahu k plnoletým deťom nie sú predmetom tejto dohody. Dohoda je vykonateľná až po jej schválení súdom v zmysle § 24 ods. 3 zákona č. 36/2005 Z. z. o rodine.</>,
      cite: '§ 24 ods. 3 zákona č. 36/2005 Z. z. o rodine',
    } : {
      head: 'Tip advokáta · Maloleté deti v návrhu na rozvod',
      body: <>Pri rozvode manželstva, z ktorého pochádzajú maloleté deti (vrátane osvojených), súd v zmysle § 24 ods. 1 zákona č. 36/2005 Z. z. o rodine v jedinom rozsudku zároveň upraví výkon rodičovských práv a povinností na čas po rozvode — určí, komu sa deti zverujú do osobnej starostlivosti, ako sa upraví výživné a styk druhého rodiča. Ide o tzv. <strong>spojené konanie</strong>. <strong>Plnoleté deti</strong> (deti, ktoré dovŕšili 18 rokov) sa do návrhu na rozvod NEUVÁDZAJÚ a súd o nich v rozvodovom konaní nerozhoduje — ich vyživovacia povinnosť ani iné záležitosti nie sú predmetom rozvodu.</>,
      cite: '§ 24 ods. 1 zákona č. 36/2005 Z. z. o rodine',
    },
    'art-2': {
      head: 'Tip advokáta · Rozvrat manželstva',
      body: <>Súd v rozvodovom konaní skúma, či je manželstvo <strong>hlboko a trvalo rozvrátené</strong> v zmysle § 23 ods. 1 zákona č. 36/2005 Z. z. o rodine. V opise rozvratu uveďte konkrétne príčiny a okolnosti — všeobecné formulácie typu „nerozumeli sme si" súd nepresvedčia. Ideálne je opísať: kedy nastali problémy, čo ich spôsobilo, aké pokusy ste urobili na ich riešenie a prečo už obnovenie spolužitia nie je možné.</>,
      cite: '§ 23 ods. 1 zák. č. 36/2005 Z. z.',
    },
    '2.1': {
      head: 'Tip advokáta · História manželstva',
      body: <>V tejto časti súd zaujíma najmä: <strong>ako dlho ste sa poznali pred sobášom</strong>, či ste mali pred manželstvom partnerský vzťah a aké boli vaše predstavy o manželstve. Tieto údaje pomáhajú súdu posúdiť, či manželstvo malo reálny základ a kedy sa začali objavovať problémy.</>,
      cite: '',
    },
    '2.2': {
      head: 'Tip advokáta · Vznik problémov',
      body: <>Najdôležitejšie je opísať <strong>konkrétne príčiny rozvratu</strong> — nezhody v hodnotách, neveru, závislosť, fyzické či psychické násilie, ekonomické nezhody, problémy s rodinou jedného z manželov a podobne. Ak ste manželstvo riešili u psychológa, mediátora alebo v partnerskej poradni, výslovne to uveďte — súd to vníma pozitívne. Vyhnite sa <strong>obviňovaniu druhej strany</strong> — opisujte fakty a vlastné prežívanie.</>,
      cite: '',
    },
    '2.3': {
      head: 'Tip advokáta · Súčasný stav',
      body: <>Súd skúma <strong>faktický stav</strong> manželstva — či účastníci ešte spolu žijú, hospodária, komunikujú, majú intímny vzťah. Konkrétne časové údaje (napr. „od minulého roka spolu nehospodárime") <strong>zvyšujú dôveryhodnosť</strong> tvrdení. Ak žijete v spoločnej domácnosti ale fakticky oddelene, opíšte to — to je častý prípad pred rozvodom.</>,
      cite: '',
    },
    '2.4': {
      head: 'Tip advokáta · Pokusy o obnovu',
      body: <>Pokusy o obnovu manželstva sú <strong>dôležitým kritériom</strong> — ak boli neúspešné, posilňujú argument, že rozvrat je trvalý. Uveďte konkrétne: či ste navštívili psychológa, mediátora alebo manželskú poradňu, koľko sedení ste absolvovali, či ste sa pokúsili o spoločnú dovolenku alebo iný spôsob oživenia vzťahu. Ak ste o obnovu nepokúsili, vysvetlite prečo (napr. odporca odmietol účasť na poradni).</>,
      cite: '',
    },
    'art-3': {
      head: 'Tip advokáta · Maloleté deti',
      body: <>Článok III je pri rozvode s deťmi <strong>najdôležitejšou časťou</strong> návrhu. Súd v zmysle § 24 ods. 1 zákona o rodine rozhoduje o zverení detí, výživnom a styku <strong>v jedinom rozsudku</strong> spolu s rozvodom. Skutkový opis vzťahu k deťom by mal byť konkrétny a podložený udalosťami, nie všeobecnými tvrdeniami.</>,
      cite: '§ 24 ods. 1 zákona č. 36/2005 Z. z. o rodine',
    },
    '3.3-zastupovanie': {
      head: 'Tip advokáta · Zastupovanie a správa majetku',
      body: <>Rodičia si môžu nastaviť, kto bude maloleté dieťa zastupovať a spravovať jeho majetok. Súd v praxi spravidla rozhoduje tak, že obaja rodičia zostávajú zákonnými zástupcami a spravujú majetok dieťaťa <strong>spoločne</strong>, čo zabezpečuje, že obaja majú rovnaké práva v zásadných otázkach týkajúcich sa dieťaťa (vzdelávanie, zdravotná starostlivosť, cestovanie). Iný režim je výnimočný a vyžaduje osobitné odôvodnenie.</>,
      cite: '§ 28 ods. 1 a § 31 ods. 1 zákona č. 36/2005 Z. z. o rodine',
    },
    '3.3-forma': {
      head: 'Tip advokáta · Forma osobnej starostlivosti',
      body: <><strong>Striedavá starostlivosť</strong> (§ 24 ods. 2) vyžaduje, aby boli obaja rodičia spôsobilí a aby žili v dohľadnej vzdialenosti. <strong>Spoločná starostlivosť</strong> (§ 24 ods. 2) vyžaduje dohodu rodičov a fungujúcu komunikáciu. Pri konflikte medzi rodičmi súd často volí osobnú starostlivosť jedného rodiča s upraveným stykom druhého. Pri striedavke aj osobnej starostlivosti jedného rodiča sa <strong>prázdninový režim</strong> (letné, zimné, veľkonočné) v rozsudku spravidla upravuje detailne — uveďte konkrétne dátumy a časy, aby bolo zrejmé, kde má dieťa byť. Vyhnete sa tým budúcim sporom medzi rodičmi.</>,
      cite: '§ 24 ods. 2 zákona č. 36/2005 Z. z.',
    },
    '3.4-vyzivne': {
      head: 'Tip advokáta · Výživné',
      body: <>Výživné sa určuje podľa § 62 ods. 2 zákona o rodine s prihliadnutím na <strong>potreby dieťaťa a možnosti rodiča</strong>. Pri určovaní sumy je užitočné zohľadniť priemerné výdavky na dieťa v príslušnom veku — bývanie, stravu, oblečenie, krúžky a zdravotnú starostlivosť. Ak chcete vedieť výšku výživného v percentách z príjmu rodiča, kliknite sem: <a href="/tabulkove-vyzivne" target="_blank" rel="noopener noreferrer" style={{ color: 'var(--oxblood)', textDecoration: 'underline', fontWeight: 600 }}>Tabuľkové výživné</a>.</>,
      cite: '§ 62 ods. 2 zákona č. 36/2005 Z. z. o rodine',
    },
    '3.5-styk': {
      head: 'Tip advokáta · Úprava styku',
      body: <>Pri osobnej starostlivosti jedného rodiča súd v zmysle § 25 zákona o rodine spravidla upraví styk druhého rodiča s deťmi. Konkrétny rozsah by mal zohľadniť <strong>vek detí, ich denný režim, vzdialenosť bývania rodičov a školské povinnosti</strong>. Vzorový text v tomto návrhu obsahuje <strong>bežný styk</strong> (víkendy + utorky) a <strong>prázdninový režim</strong> (letné, zimné, veľkonočné) s presným rozdelením sviatočných dní pre prehľadnosť — konkrétne hodiny a dátumy si môžete prispôsobiť potrebám rodiny.</>,
      cite: '§ 25 zákona č. 36/2005 Z. z. o rodine',
    },
    '4.1-vydavky-mesacne': {
      head: 'Tip advokáta · Mesačné výdavky',
      body: <>Mesačné výdavky uvedené v tabuľke sú <strong>len orientačné</strong> — môžete ich upraviť, doplniť alebo vymazať podľa skutočnej situácie Vášho dieťaťa. Súd posudzuje odôvodnené potreby každého dieťaťa individuálne (§ 62 ods. 2 zákona č. 36/2005 Z. z. o rodine). Pridajte aj výdavky, ktoré sme neuviedli — napríklad lieky, špeciálne diéty, vzdelávacie pomôcky, terapie alebo iné individuálne potreby dieťaťa.</>,
      cite: '§ 62 ods. 2 zákona č. 36/2005 Z. z. o rodine',
    },
    '4.2-vydavky-rocne': {
      head: 'Tip advokáta · Mimoriadne a ročné výdavky',
      body: <>Mimoriadne výdavky uvedené v tabuľke sú <strong>len orientačné</strong> — môžete ich upraviť alebo doplniť. Patria sem všetky výdavky, ktoré nevznikajú každý mesiac, ale počítajú sa za celý kalendárny rok — letné a zimné dovolenky, sezónne oblečenie, učebnice na nový školský rok, stomatologická starostlivosť, ortodontické pomôcky alebo elektronika pre školu. Pri výpočte priemerného mesačného výživného sa ročná suma delí dvanástimi.</>,
      cite: '§ 62 ods. 2 zákona č. 36/2005 Z. z. o rodine',
    },
    '4-dokazy': {
      head: 'Tip advokáta · Dôkazy k pomerom rodičov',
      body: <>Súd v zmysle vyšetrovacej zásady (článok 6 základných princípov zákona č. 161/2015 Z. z. — Civilný mimosporový poriadok) musí zistiť skutkový stav. Uveďte všetky dôkazy, ktoré preukazujú Vaše majetkové pomery a pomery odporcu. Pri zamestnancoch je to <strong>potvrdenie o priemernom čistom zárobku</strong> od zamestnávateľa. Pri SZČO <strong>daňové priznanie</strong> a potvrdenie z daňového úradu. Pri nezamestnaných potvrdenie z úradu práce. Pri vlastníctve nehnuteľností výpis z katastra. Každý dôkaz uveďte na samostatný riadok — automaticky sa premietne do prílohy návrhu.</>,
      cite: 'článok 6 základných princípov zákona č. 161/2015 Z. z. (CMP)',
    },
    'art-4-pomery': {
      head: 'Tip advokáta · Pomery rodičov a výdavky',
      body: <>Aj keď výživné nenavrhujete, súd v zmysle zákona č. 161/2015 Z. z. (Civilný mimosporový poriadok) musí zistiť <strong>odôvodnené potreby dieťaťa</strong> a <strong>majetkové pomery rodičov</strong>. Uvedením výdavkov a vlastných pomerov v návrhu zrýchlite konanie a znížite počet výziev súdu na doplnenie.</>,
      cite: 'zákon č. 161/2015 Z. z. (CMP), § 62 ods. 2 zákona č. 36/2005 Z. z. o rodine',
    },
    '4.4-pomery-navrh': {
      head: 'Tip advokáta · Majetkové pomery navrhovateľa',
      body: <>Pri zamestnancoch je rozhodujúci <strong>priemerný čistý mesačný príjem za posledných 12 mesiacov</strong>, doložený potvrdením od zamestnávateľa. Pri SZČO je dôkazom <strong>daňové priznanie a potvrdenie z daňového úradu</strong> — hotovostné príjmy bez evidencie sú nepriaznivé pri preukazovaní možností podľa § 62 ods. 2 zákona o rodine. Pri spoločníkoch a konateľoch sa zohľadňuje aj podiel na zisku spoločnosti. Súd posudzuje aj majetok a iné vyživovacie povinnosti.</>,
      cite: '§ 62 ods. 2, § 63, § 75 zákona č. 36/2005 Z. z. o rodine',
    },
    '4.5-pomery-odp': {
      head: 'Tip advokáta · Majetkové pomery odporcu',
      body: <>Navrhovateľ <strong>nemusí poznať presné majetkové pomery</strong> druhého rodiča — postačuje uviesť, čo o nich vie. Súd v zmysle vyšetrovacej zásady (§ 117 CMP) zistí presné údaje sám, a to najmä výzvou na predloženie potvrdenia o príjme a daňového priznania. Odporca je povinný tieto dôkazy predložiť — ak ich odmietne, súd môže výživné určiť na základe odhadu zo všeobecne známych skutočností.</>,
      cite: '§ 117 zákona č. 161/2015 Z. z. (CMP)',
    },
    '5.3': {
      head: 'Tip advokáta · Návrh výroku rozsudku',
      body: <>Petit (návrh výroku) musí <strong>presne zodpovedať</strong> údajom o uzavretí manželstva uvedeným v Čl. I bode 1.1. Ak by sa údaje líšili, súd vás vyzve na opravu. V petite návrhu sa údaje automaticky synchronizujú — to znamená, že ak zmeníte hodnotu v niektorom z bodov, tak sa tie zmeny premietnu aj tu do petitu.</>,
      cite: '',
    },
    'prilohy': {
      head: 'Tip advokáta · Prílohy a podanie návrhu',
      // Doctype-aware body — bezdetný variant zachováva pôvodný text;
      // navrh-deti spomína § 24 ZoR, rodné listy a úpravu rodičovských práv.
      body: doctype === 'navrh-deti' ? (
        <>Pri návrhu na rozvod manželstva s úpravou výkonu rodičovských práv a povinností (§ 24 a nasl. zákona č. 36/2005 Z. z. o rodine) sú povinnými prílohami <strong>sobášny list</strong> a <strong>rodné listy maloletých detí</strong>. Voliteľné dôkazy: potvrdenie o čistom mesačnom príjme od zamestnávateľa, daňové priznanie (pri SZČO), korešpondencia preukazujúca rozvrat, lekárske správy, potvrdenia z partnerskej poradne. Konkrétny zoznam závisí od povahy vašej situácie. Pred podaním na súd skontrolujte: (1) všetky polia sú vyplnené, (2) údaje o sobáši a maloletých deťoch sú zhodné s matričnými dokladmi, (3) máte pripravené všetky prílohy v kópii, (4) ak je súd v inom meste než vy, posielajte poštou doporučene s doručenkou, (5) urobte si kópiu kompletného návrhu. Ak ste si neist-ý/-á akýmkoľvek aspektom, môžete si <a href="https://ficek.sk/dohodnut-termin-konzultacie.html" target="_blank" rel="noopener noreferrer" style={{ color: 'var(--oxblood)', textDecoration: 'underline' }}>dohodnúť konzultáciu s advokátom</a> z advokátskej kancelárie Ficek &amp; Partners.</>
      ) : (
        <>Bežné dôkazy v rozvodovom konaní: sobášny list, voliteľné sú korešpondencia (e-maily, SMS) preukazujúca rozvrat, ak by sa protistrana nechcela rozviesť, lekárske správy (pri násilí), potvrdenia z partnerskej poradne. Konkrétny zoznam závisí od povahy vašej situácie. Pred podaním na súd skontrolujte: (1) všetky polia sú vyplnené, (2) údaje o sobáši sú zhodné s vaším sobášnym listom, (3) máte pripravené všetky prílohy v kópii, (4) ak je súd v inom meste než vy, posielajte poštou doporučene s doručenkou, (5) urobte si kópiu kompletného návrhu. Ak ste si neist-ý/-á akýmkoľvek aspektom, môžete si <a href="https://ficek.sk/dohodnut-termin-konzultacie.html" target="_blank" rel="noopener noreferrer" style={{ color: 'var(--oxblood)', textDecoration: 'underline' }}>dohodnúť konzultáciu s advokátom</a> z advokátskej kancelárie Ficek &amp; Partners.</>
      ),
      cite: doctype === 'navrh-deti' ? '§ 24 a nasl. zákona č. 36/2005 Z. z. o rodine' : '',
    },
  };
  // Doctype-only-divorce — žiadne suffix-fallback nepotrebujeme, kľúč použijeme priamo.
  const activeKey = activeTipKey || activeArticle;
  const tip = TIPS[activeKey] || {
    head: 'Tip advokáta',
    body: <>Kliknite na ikonu <strong>TIP</strong> pri ktoromkoľvek bode, aby sa tu zobrazili odporúčania advokáta.</>,
    cite: ''
  };
  return (
    <div className="tip-box">
      <div className="tip-author">
        <div className="tip-author-img">
          <img src="/assets/milan-ficek.jpg" alt="JUDr. Milan Ficek" />
        </div>
        <div className="tip-author-meta">
          <div className="tip-author-name">JUDr. Milan Ficek</div>
          <div className="tip-author-role">Advokát · Ficek &amp; Partners</div>
        </div>
      </div>
      <div className="tip-head">
        <span className="pilcrow">§</span>
        <span>{tip.head}</span>
      </div>
      <p className="tip-body">{tip.body}</p>
      {tip.cite && <div className="tip-cite">Zdroj: {tip.cite}</div>}
    </div>
  );
};
window.POINT_TIP_KEYS = [
  'header-sud', 'header-poplatok',
  '1.1', '1.2-q1', '1.2-q3',
  'kids-section',
  'art-1-predmet',
  'art-2',
  '2.1', '2.2', '2.3', '2.4',
  'art-3', '3.3-forma', '3.3-zastupovanie', '3.4-vyzivne', '3.5-styk',
  'art-4-pomery', '4.1-vydavky-mesacne', '4.2-vydavky-rocne', '4.4-pomery-navrh', '4.5-pomery-odp', '4-dokazy',
  'volitelne-body',
  '5.3',
  'prilohy',
];

const RightSidebar = ({ doctype, activeArticle, activeTipKey, clearTipKey }) => {
  return (
    <aside className="sidebar-r" aria-label="Pomocník a voliteľné klauzuly">
      <Tips doctype={doctype} activeArticle={activeArticle} activeTipKey={activeTipKey} clearTipKey={clearTipKey} />

      <div className="panel">
        <div className="panel-head">
          <span>Potrebujete pomôcť?</span>
        </div>
        <div style={{ padding: '16px' }}>
          <p style={{ fontSize: '0.88em', color: 'var(--ink-2)', margin: '0 0 12px', lineHeight: 1.5 }}>
            Máte otázky k Vášmu konkrétnemu prípadu? Naša advokátska kancelária Vám rada pomôže.
          </p>
          <a
            href="https://ficek.sk/dohodnut-termin-konzultacie.html"
            target="_blank"
            rel="noopener noreferrer"
            style={{
              display: 'block',
              padding: '12px 20px',
              background: 'var(--oxblood)',
              color: 'var(--paper, #fff)',
              textAlign: 'center',
              textDecoration: 'none',
              fontWeight: 600,
              fontSize: '0.92em',
              borderRadius: '6px',
              transition: 'background 120ms ease, box-shadow 120ms ease',
            }}
            onMouseEnter={(e) => { e.currentTarget.style.background = 'var(--oxblood-2, #4a1818)'; e.currentTarget.style.boxShadow = '0 2px 8px rgba(0,0,0,0.15)'; }}
            onMouseLeave={(e) => { e.currentTarget.style.background = 'var(--oxblood)'; e.currentTarget.style.boxShadow = 'none'; }}
          >Opýtajte sa advokáta</a>
        </div>
      </div>

      <div className="author-mini" style={{ display: 'none' }}>
        <div className="author-mini-img">
          <img src="/assets/milan-ficek.jpg" alt="JUDr. Milan Ficek" />
        </div>
        <div className="author-mini-text">
          <strong>JUDr. Milan Ficek</strong>
          Riadiaci partner · 16 rokov praxe v občianskom a nájomnom práve
        </div>
      </div>
    </aside>
  );
};

window.RightSidebar = RightSidebar;
window.Tips = Tips;

// Bottom-sheet modal pre tip — používa sa len na mobile (≤768px).
// Viditeľnosť riadi CSS (`.tip-modal { display: none }` mimo media query),
// takže komponent vždy renderuje DOM keď je `tipKey` set, ale na desktope
// je skrytý a tip sa naďalej zobrazuje v pravom sidebari.
const TipModal = ({ doctype, tipKey, onClose }) => {
  // Iba Escape handler — body scroll lock zámerne nerobíme. Bol fragile pri
  // rýchlych re-renderoch (scroll-spy v Paper) a navyše modal sám pokrýva
  // celý viewport, takže scroll pozadia neprekáža. Prípadný scroll vnútri
  // bottom sheetu rieši `overflow-y: auto` na `.tip-modal-sheet`.
  React.useEffect(() => {
    if (!tipKey) return;
    const onKey = (e) => { if (e.key === 'Escape') onClose(); };
    window.addEventListener('keydown', onKey);
    return () => window.removeEventListener('keydown', onKey);
  }, [tipKey, onClose]);

  if (!tipKey) return null;

  return (
    <div className="tip-modal no-copy" role="dialog" aria-modal="true" aria-label="Tip advokáta">
      <div className="tip-modal-overlay" onClick={onClose} />
      <div className="tip-modal-sheet">
        <button type="button" className="tip-modal-close" onClick={onClose} aria-label="Zatvoriť tip">×</button>
        <Tips doctype={doctype} activeArticle={null} activeTipKey={tipKey} clearTipKey={onClose} />
      </div>
    </div>
  );
};

window.TipModal = TipModal;
