/* ---------- PÄTIČKA: firemné údaje + odkazy ---------- */
footer.foot .wrap.foot-rows{display:block;padding-top:24px;padding-bottom:24px}
.foot-company{
  font-size:.84rem;line-height:1.75;color:rgba(255,255,255,.5);
  padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid rgba(255,255,255,.1);
}
.foot-company b{color:rgba(255,255,255,.78);font-weight:600}
.foot-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}

.foot-links{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.foot-links a,
.foot-link-btn{
  color:inherit;font:inherit;background:none;border:none;padding:0;cursor:pointer;
  text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.28);
  transition:color .2s,text-decoration-color .2s;
}
.foot-links a:hover,
.foot-link-btn:hover{color:#fff;text-decoration-color:rgba(255,255,255,.7)}
.foot-links .sep{opacity:.45}
.foot-link-btn:focus-visible,
.foot-links a:focus-visible{outline:2px solid var(--aqua);outline-offset:3px;border-radius:3px}

/* ---------- HLAVIČKA PRÁVNEJ STRÁNKY ---------- */
.legal-hero{padding:56px 0 34px;border-bottom:1px solid var(--line)}
.legal-hero h1{font-size:clamp(2rem,4vw,3rem);margin-top:16px;max-width:20ch}
.legal-meta{
  margin-top:20px;display:flex;flex-wrap:wrap;gap:8px 26px;
  font-size:.92rem;color:var(--ink-soft);
}
.legal-meta b{color:var(--ink);font-weight:600}

/* ---------- OBSAH (TOC) ---------- */
.legal-layout{display:grid;grid-template-columns:250px 1fr;gap:56px;align-items:start;padding:52px 0 84px}
.legal-toc{position:sticky;top:96px}
.legal-toc h2{font-size:.78rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--teal);font-family:"Hanken Grotesk",system-ui,sans-serif;margin-bottom:14px}
.legal-toc ol{list-style:none;counter-reset:toc;display:grid;gap:9px}
.legal-toc li{counter-increment:toc}
.legal-toc a{
  display:flex;gap:10px;font-size:.94rem;color:var(--ink-soft);line-height:1.4;
  border-left:2px solid var(--line);padding-left:12px;transition:color .2s,border-color .2s;
}
.legal-toc a::before{content:counter(toc) ".";color:var(--aqua);font-weight:600;flex:none}
.legal-toc a:hover{color:var(--ink);border-color:var(--aqua)}

/* ---------- TELO DOKUMENTU ---------- */
.legal-body{max-width:74ch}
.legal-body section{scroll-margin-top:96px}
.legal-body section + section{margin-top:52px}
.legal-body h2{
  font-size:clamp(1.35rem,2.2vw,1.75rem);padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:20px;
}
.legal-body h3{font-size:1.14rem;margin:28px 0 8px}
.legal-body p{color:var(--ink-soft);font-size:1.03rem;margin-top:14px}
.legal-body p:first-of-type{margin-top:0}
.legal-body strong{color:var(--ink);font-weight:600}
.legal-body a:not(.btn){color:var(--teal);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(0,113,213,.35)}
.legal-body a:not(.btn):hover{text-decoration-color:var(--teal)}
.legal-body ul,.legal-body ol{margin:14px 0 0 1.1em;color:var(--ink-soft);font-size:1.03rem}
.legal-body li{margin-top:8px;padding-left:4px}
.legal-body li::marker{color:var(--aqua)}

/* zvýraznený rámček pre poznámky a upozornenia */
.note{
  margin-top:20px;background:var(--porcelain);border-radius:14px;padding:20px 22px;
  border-left:3px solid var(--aqua);
}
.note p{margin-top:10px;font-size:.99rem}
.note p:first-child{margin-top:0}
.note.warn{border-left-color:#C2410C;background:#FEF6F1}
.note .note-title{font-family:"Bricolage Grotesque",sans-serif;font-weight:600;font-size:1.02rem;color:var(--ink);display:block;margin-bottom:6px}

/* miesta, ktoré musí prevádzkovateľ doplniť */
.todo{
  background:#FFF3C4;color:#6B4E00;font-weight:600;padding:.1em .45em;border-radius:5px;
  box-decoration-break:clone;-webkit-box-decoration-break:clone;
}

/* ---------- TABUĽKY ---------- */
.legal-table-wrap{margin-top:20px;overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--white)}
table.legal-table{width:100%;border-collapse:collapse;font-size:.95rem;min-width:560px}
table.legal-table th,
table.legal-table td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:top}
table.legal-table thead th{
  font-family:"Bricolage Grotesque",sans-serif;font-weight:600;font-size:.86rem;color:var(--ink);
  background:var(--porcelain);border-bottom:1px solid var(--line);
}
table.legal-table tbody tr:last-child td{border-bottom:none}
table.legal-table td{color:var(--ink-soft)}
table.legal-table td b,table.legal-table td strong{color:var(--ink);font-weight:600}
table.legal-table code{
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.87em;
  background:var(--porcelain);padding:.12em .4em;border-radius:5px;color:var(--deep);
}

/* ---------- ZDROJE ---------- */
.sources{margin-top:16px;font-size:.93rem;color:var(--ink-soft);display:grid;gap:9px}
.sources a{word-break:break-word}

/* ---------- COOKIE LIŠTA ---------- */
.cc{
  position:fixed;left:0;right:0;bottom:0;z-index:120;
  background:var(--white);border-top:1px solid var(--line);
  box-shadow:0 -20px 50px -30px rgba(8,73,140,.55);
  padding:22px 0 calc(22px + env(safe-area-inset-bottom,0px));
  transform:translateY(100%);transition:transform .35s cubic-bezier(.2,.7,.3,1);
}
.cc.show{transform:none}
.cc[hidden]{display:none}
.cc-inner{max-width:var(--maxw);margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center}
.cc h2{font-size:1.16rem;margin-bottom:6px}
.cc p{font-size:.96rem;color:var(--ink-soft);max-width:70ch}
.cc p a{color:var(--teal);text-decoration:underline;text-underline-offset:3px}
.cc-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
/* Prijať a Odmietnuť majú zámerne rovnakú vizuálnu váhu — požiadavka
   Úradu pre reguláciu elektronických komunikácií na neklamlivý dizajn. */
.cc-actions .btn-solid,
.cc-actions .btn-reject{
  background:var(--deep);color:#fff;box-shadow:0 10px 24px -12px rgba(8,73,140,.8);
}
.cc-actions .btn-reject:hover{transform:translateY(-2px)}
.cc-actions .btn-link{
  background:none;border:none;cursor:pointer;font-family:"Hanken Grotesk",system-ui,sans-serif;
  font-size:.95rem;font-weight:500;color:var(--ink-soft);text-decoration:underline;
  text-underline-offset:3px;padding:.7em .4em;
}
.cc-actions .btn-link:hover{color:var(--teal)}

/* druhá vrstva — nastavenia */
.cc-panel{display:none;margin-top:22px;padding-top:22px;border-top:1px solid var(--line);grid-column:1/-1}
.cc.open .cc-panel{display:block}
.cc-cat{display:flex;gap:16px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--line)}
.cc-cat:last-of-type{border-bottom:none}
.cc-cat .cc-txt h3{font-size:1.02rem;margin-bottom:4px}
.cc-cat .cc-txt p{font-size:.92rem}
.cc-switch{flex:none;margin-top:3px;position:relative;width:46px;height:26px}
.cc-switch input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.cc-switch .track{
  position:absolute;inset:0;background:rgba(18,34,46,.18);border-radius:999px;transition:background .22s;pointer-events:none;
}
.cc-switch .track::after{
  content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;
  background:#fff;box-shadow:0 2px 6px -1px rgba(8,73,140,.45);transition:transform .22s;
}
.cc-switch input:checked + .track{background:var(--teal)}
.cc-switch input:checked + .track::after{transform:translateX(20px)}
.cc-switch input:disabled + .track{background:var(--aqua);opacity:.45}
.cc-switch input:focus-visible + .track{outline:3px solid var(--aqua);outline-offset:3px}
.cc-panel-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}

@media(max-width:860px){
  .legal-layout{grid-template-columns:1fr;gap:34px;padding:36px 0 64px}
  .legal-toc{position:static}
  .legal-toc ol{grid-template-columns:1fr 1fr;display:grid}
  .cc-inner{grid-template-columns:1fr;gap:16px}
  .cc-actions .btn{flex:1 1 auto;justify-content:center}
}
@media(max-width:560px){
  .legal-toc ol{grid-template-columns:1fr}
  .legal-hero{padding:36px 0 26px}
  .foot-bar{flex-direction:column;align-items:flex-start;gap:10px}
}
@media(prefers-reduced-motion:reduce){
  .cc{transition:none}
  .cc-switch .track,.cc-switch .track::after{transition:none}
}
