/* Glamping Slapy Shop — design systém v2 „plátno & les".
   Paleta převzatá z pracovního návrhu (krém / lesní zeleň / soumraková oranž),
   layout, komponenty i animace vlastní. Unbounded / Manrope. */

:root{
  --bg:#efe9dc;
  --card:#faf6ec;
  --les:#242b1e;
  --les-2:#2d3524;
  --mech:#4a5d3a;
  --mech-sv:#96a67f;
  --ink:#26221a;
  --muted:#5c564a;
  --faint:#8f8878;
  --accent:#a8703d;
  --accent-deep:#7c4f26;
  --tint:#e9dcc6;
  --tint-soft:rgba(168,112,61,.12);
  --line:#d8cfba;
  --line-soft:#e5ddca;
  --line-dark:#3a4230;
  --sv-text:#f1ecdf;
  --sv-muted:rgba(241,236,223,.62);
  --r-sm:12px;
  --r:20px;
  --r-lg:30px;
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-spring:cubic-bezier(.34,1.56,.64,1);
  --font-d:"Unbounded",system-ui,sans-serif;
  --font-t:"Manrope",system-ui,sans-serif;
  /* aliasy pro komponenty ze šablon (v1 názvy → v2 paleta) */
  --panel:var(--card);
  --glass:#ffffff;
  --glass-2:var(--bg);
  --amber:var(--accent);
  --amber-soft:var(--tint-soft);
  --amber-deep:var(--accent-deep);
  --moss:var(--mech-sv);
  --ok:#3f7d4e;
  --bg-2:var(--card);
  --text:var(--ink);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-t);font-size:16px;line-height:1.65;
  background:var(--bg);
  color:var(--ink);-webkit-font-smoothing:antialiased;
  overflow-x:hidden;   /* prolnutí stránek dělá @view-transition, druhý fade přes opacity dával celý dokument do render surface */
}
@keyframes body-in{from{opacity:0}to{opacity:1}}

/* ————— interaktivní geodetické pozadí (canvas, kreslí site.js) ————— */
/* výška velkého viewportu — schovávající se adresní řádek na mobilu plátno nezmenšuje (a nespouští přestavbu sítě) */
.geo-bg{position:fixed;top:0;left:0;width:100%;height:100vh;height:100lvh;z-index:-1;pointer-events:none;background:var(--bg)}
.geo-bg canvas{width:100%;height:100%;display:block}

@view-transition{navigation:auto}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
}
img{max-width:100%;display:block}
a{color:inherit}
::selection{background:var(--accent);color:#fff}

/* ————— layout ————— */
.wrap{width:min(1220px,calc(100% - 2*clamp(18px,4vw,48px)));margin-inline:auto}
section{padding-block:clamp(56px,9vw,116px)}
.eyebrow{
  font:700 11.5px/1 var(--font-t);letter-spacing:.24em;text-transform:uppercase;
  color:var(--mech);display:flex;align-items:center;gap:12px;margin-bottom:18px;
}
.eyebrow::before{content:"";width:26px;height:2px;border-radius:2px;background:var(--mech-sv)}

/* ————— přírodní dekor: vrstevnice + les silueta ————— */
.topo{position:relative}
.topo::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='440' height='280' viewBox='0 0 440 280'%3E%3Cg fill='none' stroke='%2333513b' stroke-opacity='.08' stroke-width='1.4'%3E%3Cpath d='M0 210 C80 170 150 235 230 200 S380 150 440 180'/%3E%3Cpath d='M0 165 C95 125 160 190 250 155 S395 105 440 135'/%3E%3Cpath d='M0 120 C105 82 170 145 270 112 S410 62 440 92'/%3E%3Cpath d='M0 252 C75 222 155 262 235 242 S385 202 440 222'/%3E%3C/g%3E%3C/svg%3E") repeat;
}
.topo>*{position:relative}
.les-pruh{
  height:66px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='190' height='66' viewBox='0 0 190 66'%3E%3Cg fill='%2333513b' fill-opacity='.16'%3E%3Cpath d='M18 66 L5 66 L18 16 L31 66Z'/%3E%3Cpath d='M50 66 L41 66 L50 36 L59 66Z'/%3E%3Cpath d='M94 66 L77 66 L94 4 L111 66Z'/%3E%3Cpath d='M136 66 L127 66 L136 40 L145 66Z'/%3E%3Cpath d='M167 66 L155 66 L167 22 L179 66Z'/%3E%3C/g%3E%3C/svg%3E") repeat-x bottom / auto 100%;
}
h1,h2,h3{font-family:var(--font-d);font-weight:500;line-height:1.12;letter-spacing:-.01em;text-wrap:balance;color:var(--ink)}
h1{font-size:clamp(30px,4.8vw,60px);font-weight:300}
h2{font-size:clamp(24px,3.2vw,42px);font-weight:300;margin-bottom:14px}
h3{font-size:clamp(16px,1.6vw,20px);line-height:1.3}
.lead{color:var(--muted);max-width:58ch;font-size:clamp(15px,1.25vw,17.5px)}
strong{font-weight:700}

/* ————— navigace (plovoucí pill) ————— */
.nav{
  position:fixed;z-index:50;top:14px;left:50%;transform:translateX(-50%);
  width:min(1220px,calc(100% - 2*clamp(12px,3vw,28px)));
  background:rgba(255,255,255,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid var(--line);border-radius:99px;
  box-shadow:0 18px 45px -25px rgba(22,36,28,.35);
  padding-inline:clamp(14px,2vw,22px);
  transition:transform .5s var(--ease),box-shadow .3s;overflow:hidden;
}
.nav.hid{transform:translate(-50%,calc(-100% - 18px))}
/* na dotykových zařízeních je GPU blur pozadí nejdražší a hero pod navigací stále běží — plná výplň místo bluru */
@media (hover:none){.nav{background:rgba(255,255,255,.92);backdrop-filter:none;-webkit-backdrop-filter:none}}
.nav-prog{position:absolute;left:0;bottom:0;height:2.5px;background:var(--accent);width:100%;transform:scaleX(0);transform-origin:left}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-block:10px}
.nav .wrap{width:100%}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand-plaketa{
  display:block;background:var(--les);border-radius:14px;padding:8px 18px;
  transition:transform .4s var(--ease-spring),background .25s;
}
.brand:hover .brand-plaketa{transform:scale(1.04) rotate(-1.5deg);background:var(--mech)}
.brand-plaketa img{height:52px;width:auto;display:block}
@media (max-width:940px){.brand-plaketa{padding:6px 12px}.brand-plaketa img{height:40px}}
.brand-mark{
  width:38px;height:38px;border-radius:11px;background:var(--les);
  display:grid;place-items:center;color:var(--tint);flex:none;
  transition:transform .4s var(--ease-spring),background .25s;
}
.brand:hover .brand-mark{transform:rotate(-8deg) scale(1.06);background:var(--mech)}
.brand-mark svg{width:20px;height:20px}
.brand-name{font:500 15px/1.2 var(--font-d);letter-spacing:.01em;color:var(--ink)}
.brand-sub{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--faint)}
.menu{display:flex;align-items:center;gap:2px;list-style:none}
.menu a{
  position:relative;text-decoration:none;color:var(--muted);font-weight:600;font-size:14px;
  padding:9px 14px;border-radius:99px;transition:color .2s;
}
.menu a::after{
  content:"";position:absolute;left:14px;right:14px;bottom:5px;height:2px;border-radius:2px;
  background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease);
}
.menu a:hover{color:var(--ink)}
.menu a:hover::after{transform:scaleX(1)}
.menu a.on{color:var(--ink)}
.menu a.on::after{transform:scaleX(1)}
.menu a.cta-mini{border:1.5px solid var(--les);color:var(--les);font-weight:700;margin-left:8px}
.menu a.cta-mini::after{display:none}
.menu a.cta-mini:hover,.menu a.cta-mini.on{background:var(--les);color:var(--sv-text)}
.jazyky{display:flex;align-items:center;gap:2px;border:1px solid var(--line);border-radius:99px;padding:3px;margin-left:auto}
.jazyky a{
  font:700 11px/1 var(--font-t);letter-spacing:.06em;text-decoration:none;color:var(--faint);
  padding:7px 10px;border-radius:99px;transition:color .2s,background .2s;
}
.jazyky a:hover{color:var(--ink)}
.jazyky a.on{background:var(--les);color:var(--sv-text)}
@media (max-width:940px){.jazyky{margin-left:auto;margin-right:10px;padding:2px}.jazyky a{padding:6px 8px;font-size:10px}.nav-prog{display:none}}
.nav-burger{display:none;background:none;border:1px solid var(--line);border-radius:10px;color:var(--ink);width:42px;height:42px;font-size:18px;cursor:pointer}
@media (max-width:940px){
  .nav-burger{display:grid;place-items:center}
  .nav{overflow:visible}
  .menu{
    position:absolute;top:calc(100% + 10px);right:0;flex-direction:column;align-items:stretch;
    background:var(--card);border:1px solid var(--line);border-radius:16px;padding:10px;
    min-width:230px;display:none;box-shadow:0 30px 70px -25px rgba(22,36,28,.35);
  }
  .menu a::after{display:none}
  .menu a.on{background:var(--tint-soft)}
  .menu.open{display:flex;animation:menu-in .35s var(--ease-spring) both}
  @keyframes menu-in{from{opacity:0;transform:translateY(-8px) scale(.97)}to{opacity:1;transform:none}}
}
main{padding-top:114px}
@media (max-width:940px){main{padding-top:96px}}

/* ————— geodetické vzory: síť trojúhelníků + hexagony ————— */
.geo-sit{position:relative}
.geo-hex-tm{position:relative}
.geo-hex-tm::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97' viewBox='0 0 56 97'%3E%3Cg fill='none' stroke='%23f2efe6' stroke-opacity='.06' stroke-width='1.2'%3E%3Cpath d='M28 1 55 16.5v31L28 63 1 47.5v-31zM28 63v34M55 47.5 55 81M1 47.5 1 81'/%3E%3C/g%3E%3C/svg%3E") repeat;
}
.geo-hex-tm>*{position:relative}

/* ————— geodetický útvar: na hover se rozpadne a zase složí ————— */
.geo-utvar{display:inline-block;cursor:pointer}
.geo-utvar svg{display:block;overflow:visible}
.geo-utvar path{
  transition:transform .6s var(--ease-spring);
  transform-origin:50px 50px;transform-box:view-box;
}
.geo-utvar:hover .gd1{transform:translate(-13px,-9px) rotate(-16deg)}
.geo-utvar:hover .gd2{transform:translate(11px,-12px) rotate(12deg)}
.geo-utvar:hover .gd3{transform:translate(15px,4px) rotate(-9deg)}
.geo-utvar:hover .gd4{transform:translate(9px,13px) rotate(18deg)}
.geo-utvar:hover .gd5{transform:translate(-12px,11px) rotate(-12deg)}
.geo-utvar:hover .gd6{transform:translate(-16px,-2px) rotate(9deg)}

/* ————— tvarosloví kupole + editorial utility ————— */
.arch{border-radius:999px 999px var(--r) var(--r);overflow:hidden}
.outline-txt{color:transparent;-webkit-text-stroke:1.5px rgba(51,81,59,.35);text-stroke:1.5px rgba(51,81,59,.35)}
.giant-line{
  overflow:hidden;white-space:nowrap;pointer-events:none;user-select:none;
  font:300 clamp(70px,13vw,170px)/1 var(--font-d);letter-spacing:.02em;
}
.giant-line>div{display:inline-flex;gap:.6em;animation:marq 38s linear infinite}
.giant-line span{color:transparent;-webkit-text-stroke:1.5px rgba(51,81,59,.22)}
.giant-line b{font-weight:300;color:var(--tint);-webkit-text-stroke:0}
.snap-row{
  display:grid;grid-auto-flow:column;grid-auto-columns:min(300px,74vw);gap:16px;
  overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;
  padding:14px 6px 20px;align-items:stretch;
  scrollbar-width:none;cursor:grab;
  -webkit-mask:linear-gradient(90deg,transparent,#000 3.5%,#000 96.5%,transparent);
          mask:linear-gradient(90deg,transparent,#000 3.5%,#000 96.5%,transparent);
}
.snap-row::-webkit-scrollbar{display:none}
.snap-row.tahne{cursor:grabbing;scroll-snap-type:none}
.snap-row>*{scroll-snap-align:start}
.sec-num{
  font:300 clamp(64px,9vw,120px)/1 var(--font-d);
  color:transparent;-webkit-text-stroke:1.5px rgba(150,79,8,.45);flex:none;
}

/* ————— tlačítka ————— */
.btn{
  position:relative;overflow:hidden;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font:700 14.5px/1 var(--font-t);letter-spacing:.01em;text-decoration:none;cursor:pointer;
  padding:17px 28px;border-radius:99px;border:1.5px solid transparent;
  transition:transform .2s var(--ease-spring),box-shadow .25s,background .2s,color .2s,border-color .2s;
}
.btn::before{ /* lesk přejíždějící po hoveru */
  content:"";position:absolute;inset:0;
  background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);
  transform:translateX(-110%);transition:transform .7s var(--ease);
}
.btn:hover::before{transform:translateX(110%)}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0) scale(.98)}
.btn-amber{background:var(--accent);color:#fff;box-shadow:0 14px 30px -12px rgba(150,79,8,.55)}
.btn-amber:hover{background:var(--accent-deep);box-shadow:0 20px 40px -14px rgba(150,79,8,.6)}
.btn-ghost{border-color:var(--line-dark);color:var(--les)}
.btn-ghost:hover{background:var(--les);color:var(--sv-text)}
.btn-ghost.sv{border-color:rgba(242,239,231,.5);color:var(--sv-text)}
.btn-ghost.sv:hover{background:var(--sv-text);color:var(--les)}
.btn:focus-visible{outline:2px solid var(--accent-deep);outline-offset:3px}

/* ————— karty & mřížky ————— */
.grid{display:grid;gap:14px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:980px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.g4,.g3,.g2{grid-template-columns:1fr}}
.card{
  background:var(--card);border:1px solid var(--line-soft);border-radius:var(--r);
  padding:clamp(18px,2.4vw,26px);
  transition:transform .35s var(--ease),box-shadow .35s,border-color .25s;
}
.card:hover{transform:translateY(-4px);border-color:var(--line);box-shadow:0 26px 50px -30px rgba(22,36,28,.35)}
.num{font:300 clamp(26px,2.6vw,36px)/1.1 var(--font-d);color:var(--ink)}
.num small{font-size:.45em;color:var(--faint);font-family:var(--font-t);font-weight:500}
.tag{
  display:inline-block;font:700 10.5px/1 var(--font-t);letter-spacing:.16em;text-transform:uppercase;
  color:var(--mech);background:rgba(51,81,59,.08);border:1px solid rgba(51,81,59,.22);
  padding:6px 11px;border-radius:99px;
}
.tag-amber{color:var(--accent-deep);background:var(--tint-soft);border-color:rgba(232,145,47,.4)}

/* ————— foto ————— */
.ph{border-radius:var(--r);overflow:hidden;position:relative}
.ph img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease);filter:saturate(1.22) contrast(1.03)}
.ph:hover img{transform:scale(1.045)}

/* ————— animace: reveal + stagger + čítače ————— */
.rv{opacity:0;transform:translateY(26px);transition:opacity .75s var(--ease),transform .85s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv-l{opacity:0;transform:translateX(-30px);transition:opacity .75s var(--ease),transform .85s var(--ease)}
.rv-l.in{opacity:1;transform:none}
.rv-s{opacity:0;transform:scale(.94);transition:opacity .7s var(--ease),transform .8s var(--ease-spring)}
.rv-s.in{opacity:1;transform:none}
[data-stagger]>*{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .8s var(--ease)}
[data-stagger].in>*{opacity:1;transform:none}

/* ————— marquee pás ————— */
.marq{
  overflow:hidden;white-space:nowrap;border-block:1px solid var(--line);
  padding-block:16px;background:rgba(255,255,255,.55);
}
.marq-in{display:inline-flex;gap:0;animation:marq 32s linear infinite}
.marq:hover .marq-in{animation-play-state:paused}
.marq span{
  display:inline-flex;align-items:center;gap:18px;padding-inline:18px;
  font:500 clamp(14px,1.4vw,18px)/1 var(--font-d);color:var(--mech);letter-spacing:.02em;
}
.marq b{color:var(--accent);font-weight:500}
@keyframes marq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marq-in{animation:none}}

/* ————— tabulky ————— */
.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
table{width:100%;border-collapse:collapse;font-size:14.5px;min-width:560px}
th,td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--line-soft);font-variant-numeric:tabular-nums}
th{font:700 11px/1.3 var(--font-t);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);background:var(--bg)}
tbody tr{transition:background .2s}
tbody tr:hover{background:var(--tint-soft)}
tr:last-child td{border-bottom:none}
td.c-am{color:var(--accent-deep);font-weight:700}

/* ————— tmavé sekce (les) ————— */
.sec-les{
  background:linear-gradient(120deg,rgba(22,36,28,.96) 25%,rgba(22,36,28,.88)),url("hero-noc.webp") center/cover;
  color:var(--sv-text)}
.sec-les h2,.sec-les h3{color:var(--sv-text)}
.sec-les .lead{color:var(--sv-muted)}
.sec-les .eyebrow{color:var(--accent)}
.sec-les .card{background:var(--les-2);border-color:var(--line-dark)}
.sec-les .card:hover{box-shadow:0 26px 50px -28px rgba(0,0,0,.55);border-color:#3a5443}
.sec-les .krok p,.sec-les .card p{color:var(--sv-muted)!important}

/* ————— patička ————— */
footer{
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97' viewBox='0 0 56 97'%3E%3Cg fill='none' stroke='%23f2efe6' stroke-opacity='.05' stroke-width='1.2'%3E%3Cpath d='M28 1 55 16.5v31L28 63 1 47.5v-31zM28 63v34M55 47.5 55 81M1 47.5 1 81'/%3E%3C/g%3E%3C/svg%3E") repeat,
    var(--les);
  color:var(--sv-text);padding-block:48px 28px;margin-top:0}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:26px;margin-bottom:30px}
@media (max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.foot-grid{grid-template-columns:1fr}}
.foot-h{font:700 11px/1 var(--font-t);letter-spacing:.2em;text-transform:uppercase;color:var(--mech-sv);margin-bottom:14px}
.foot-l{list-style:none;display:flex;flex-direction:column;gap:9px}
.foot-l a{color:var(--sv-muted);text-decoration:none;font-size:14px;transition:color .2s,padding-left .25s var(--ease)}
.foot-l a:hover{color:var(--accent);padding-left:6px}
footer .brand-name{color:var(--sv-text)}
footer .brand-mark{background:rgba(242,239,231,.1);color:var(--tint)}
.foot-note{color:rgba(242,239,231,.45);font-size:12.5px;line-height:1.6;border-top:1px solid var(--line-dark);padding-top:18px;display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:space-between}
.foot-note a{color:var(--sv-muted)}
.foot-giant{
  /* min v clamp nesmí přerůst šířku mobilu — jinak se „Glamping Shop" ořízne */
  font:300 clamp(24px,8.2vw,118px)/1 var(--font-d);letter-spacing:.01em;white-space:nowrap;
  color:transparent;-webkit-text-stroke:1.5px rgba(242,239,231,.16);
  margin:6px 0 26px;overflow:hidden;
}

/* ————— formulářové prvky ————— */
label.fl{display:block;font:700 11px/1 var(--font-t);letter-spacing:.14em;text-transform:uppercase;color:var(--faint);margin:0 0 8px}
input[type=text],input[type=email],input[type=tel],textarea,select{
  width:100%;background:var(--card);border:1px solid var(--line);border-radius:var(--r-sm);
  color:var(--ink);font:500 15px/1.4 var(--font-t);padding:13px 15px;
  transition:border-color .2s,box-shadow .2s;appearance:none;
}
textarea{min-height:150px;resize:vertical}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--tint-soft)}
select{background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-size:6px 6px;background-repeat:no-repeat}

/* ————— akordeon (FAQ) ————— */
details{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--card);margin-bottom:10px;overflow:hidden;transition:box-shadow .3s}
details[open]{box-shadow:0 18px 40px -28px rgba(22,36,28,.3)}
details summary{
  cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:17px 20px;font-weight:700;font-size:15.5px;transition:background .2s;
}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+";font:300 24px/1 var(--font-d);color:var(--accent);transition:transform .4s var(--ease-spring)}
details[open] summary::after{transform:rotate(135deg)}
details summary:hover{background:var(--bg)}
details .a{padding:0 20px 18px;color:var(--muted);font-size:14.5px;max-width:75ch;animation:faq-in .45s var(--ease) both}
@keyframes faq-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* ————— stránkový hero (podstránky) ————— */
.page-head{padding:clamp(40px,6vw,72px) 0 clamp(8px,2vw,20px)}
.crumb{font-size:12.5px;color:var(--faint);margin-bottom:18px}
.crumb a{color:var(--muted);text-decoration:none}
.crumb a:hover{color:var(--accent-deep)}

/* ————— právní obsah (převzaté dokumenty) ————— */
.pravni-obsah{font-size:14.5px;color:var(--muted);line-height:1.75}
.pravni-obsah p{margin-bottom:14px}
.pravni-obsah strong{color:var(--ink)}
.pravni-obsah h2,.pravni-obsah h3,.pravni-obsah h4{color:var(--ink);font-family:var(--font-t);font-weight:700;font-size:16.5px;margin:26px 0 10px}
.pravni-obsah ol,.pravni-obsah ul{margin:0 0 16px 22px;display:flex;flex-direction:column;gap:7px}
.pravni-obsah li::marker{color:var(--accent-deep);font-weight:700}
.pravni-obsah a{color:var(--accent-deep)}
.pravni-obsah table{min-width:0;margin-bottom:16px;border:1px solid var(--line-soft);border-radius:var(--r-sm)}
.pravni-obsah td{padding:8px 12px;border-bottom:1px solid var(--line-soft)}

/* ————— cta pás (sdílený) ————— */
.cta-band{
  position:relative;overflow:hidden;
  background:linear-gradient(100deg,rgba(22,36,28,.95) 30%,rgba(22,36,28,.78)),url("areal.webp") center/cover;
  color:var(--sv-text);
  border-radius:var(--r-lg);
  padding:clamp(30px,5vw,58px);display:flex;align-items:center;justify-content:space-between;
  gap:24px;flex-wrap:wrap;
}
.cta-band::before{
  content:"";position:absolute;right:-70px;top:-70px;width:280px;height:280px;border-radius:50%;
  background:radial-gradient(circle,rgba(232,145,47,.35),transparent 65%);
  animation:dych 5.5s ease-in-out infinite;
}
@keyframes dych{50%{transform:scale(1.25);opacity:.7}}
.cta-band h2{color:var(--sv-text)}
.cta-band p{color:var(--sv-muted)}

/* ————— rozpité přechody barev pod geodetickou sítí (canvas jede průhledně) ————— */
.geo-bg{background:var(--bg)}
.geo-bg::before{
  content:"";position:absolute;inset:-22%;
  /* měkké přechody rovnou v gradientech — dřívější filter:blur(58px) nutil GPU rozmazávat
     celou obrazovku při každém snímku (na slabších PC trhalo celé stránky) */
  background:
    radial-gradient(closest-side at 16% 12%, rgba(74,93,58,.42), rgba(74,93,58,.16) 55%, transparent),
    radial-gradient(closest-side at 86% 16%, rgba(168,112,61,.32), rgba(168,112,61,.12) 55%, transparent),
    radial-gradient(closest-side at 78% 84%, rgba(150,166,127,.38), rgba(150,166,127,.14) 55%, transparent),
    radial-gradient(closest-side at 10% 80%, rgba(124,79,38,.24), rgba(124,79,38,.09) 55%, transparent),
    radial-gradient(closest-side at 50% 45%, rgba(233,220,198,.5), rgba(233,220,198,.2) 55%, transparent);
  /* bez animace: i nepatrný běžící transform nutí kompozitor skládat stránku 60× za s v naprostém klidu */
}
