@import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@600;700;800&family=Inter:wght@400;500;600;700&family=Space+Mono:wght@400;700&display=swap');

:root{
  --swamp-dark:#0F231B;
  --swamp:#1E4638;
  --leaf:#4C9A6B;
  --leaf-soft:#DCEEE0;
  --sun:#F2B705;
  --coral:#FF6B4A;
  --paper:#EFF4EC;
  --paper-2:#E4ECE2;
  --ink:#132019;
  --ink-soft:#3E5348;
  --line:#C9D9CB;
  --white:#FFFFFF;

  --display:'Baloo 2', sans-serif;
  --body:'Inter', sans-serif;
  --mono:'Space Mono', monospace;

  --radius:18px;
  --radius-sm:10px;
  --shadow:0 12px 30px -14px rgba(15,35,27,.35);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--body);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img,svg{display:block; max-width:100%;}
a{color:inherit;}
h1,h2,h3,h4{
  font-family:var(--display);
  color:var(--swamp-dark);
  margin:0 0 .5em;
  line-height:1.08;
  letter-spacing:-0.01em;
}
p{margin:0 0 1em; color:var(--ink-soft);}
.container{width:min(1120px, 92%); margin-inline:auto;}
.eyebrow{
  font-family:var(--mono);
  font-size:.78rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--leaf);
  display:inline-flex;
  align-items:center;
  gap:.5em;
  margin-bottom:.9em;
}
.eyebrow::before{
  content:"";
  width:22px; height:2px;
  background:var(--coral);
  display:inline-block;
}

/* NAV */
.site-nav{
  position:sticky; top:0; z-index:50;
  background:rgba(239,244,236,.86);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.site-nav .row{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 0;
}
.brand{
  display:flex; align-items:center; gap:.55em;
  font-family:var(--display); font-weight:800; font-size:1.28rem;
  color:var(--swamp-dark); text-decoration:none;
}
.brand .nav-mark{width:40px; height:40px; object-fit:contain;}
.nav-links{
  display:flex; align-items:center; gap:28px;
  list-style:none; margin:0; padding:0;
}
.nav-links a{
  text-decoration:none; font-weight:600; font-size:.94rem;
  color:var(--swamp); position:relative;
}
.nav-links a.current, .nav-links a:hover{color:var(--coral);}
.nav-cta{
  background:var(--swamp-dark); color:var(--white)!important;
  padding:.6em 1.15em; border-radius:100px; font-weight:700;
  font-size:.9rem; text-decoration:none;
}
.nav-actions{display:flex; align-items:center; gap:12px;}
.menu-toggle{
  display:none;
  flex-direction:column; justify-content:center; align-items:stretch; gap:6px;
  width:38px; height:38px; padding:8px;
  background:none; border:none; cursor:pointer; flex-shrink:0;
}
.menu-toggle span{
  display:block; height:2px; width:100%; background:var(--swamp-dark);
  border-radius:2px; transition:transform .2s ease, opacity .2s ease;
}
.menu-toggle.is-open span:nth-child(1){transform:translateY(8px) rotate(45deg);}
.menu-toggle.is-open span:nth-child(2){opacity:0;}
.menu-toggle.is-open span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}

/* BUTTONS */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5em;
  padding:.85em 1.5em; border-radius:100px;
  font-weight:700; font-size:.98rem; text-decoration:none;
  border:2px solid transparent; cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease;
}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--coral); color:var(--white); box-shadow:var(--shadow);}
.btn-ghost{background:transparent; border-color:var(--swamp-dark); color:var(--swamp-dark);}
.btn-dark{background:var(--swamp-dark); color:var(--white);}

/* SECTIONS */
section{padding:96px 0;}
.section-tight{padding:64px 0;}
.section-dark{background:var(--swamp-dark); color:var(--paper);}
.section-dark h2, .section-dark h3{color:var(--white);}
.section-dark p{color:#C7D8CC;}
.section-leaf{background:var(--leaf-soft);}

.grid{display:grid; gap:28px;}
.grid-2{grid-template-columns:1fr 1fr;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}

.card{
  background:var(--white);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:28px;
}

.step-num{
  font-family:var(--mono); font-weight:700; font-size:.85rem;
  color:var(--white); background:var(--swamp);
  width:34px; height:34px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:14px;
}

.icon-wrap{
  width:52px; height:52px; border-radius:14px;
  background:var(--leaf-soft); color:var(--swamp);
  display:flex; align-items:center; justify-content:center;
  margin-bottom:16px;
}
.icon-wrap svg{width:26px; height:26px;}

.pill{
  display:inline-block; padding:.35em .9em; border-radius:100px;
  background:var(--sun); color:var(--swamp-dark); font-weight:700; font-size:.8rem;
}

footer.site-footer{
  background:var(--swamp-dark); color:#C7D8CC; padding:56px 0 28px;
}
.site-footer a{text-decoration:none; color:#DCEEE0;}
.site-footer a:hover{color:var(--sun);}
.footer-grid{
  display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:32px;
  padding-bottom:36px; border-bottom:1px solid rgba(255,255,255,.12);
}
.footer-grid h4{color:var(--white); font-family:var(--body); font-size:.85rem; text-transform:uppercase; letter-spacing:.08em; margin-bottom:1em;}
.footer-grid ul{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.65em; font-size:.92rem;}
.footer-bottom{
  display:flex; justify-content:space-between; align-items:center;
  padding-top:22px; font-size:.82rem; color:#8FA898; flex-wrap:wrap; gap:10px;
}

/* LEGAL DOC LAYOUT */
.legal-hero{
  background:var(--swamp-dark); color:var(--white); padding:76px 0 56px;
}
.legal-hero p{color:#C7D8CC;}
.legal-wrap{
  display:grid; grid-template-columns:260px 1fr; gap:56px;
  padding:64px 0 100px; align-items:start;
}
.legal-toc{
  position:sticky; top:96px;
  border-left:2px solid var(--line);
  padding-left:20px;
}
.legal-toc a{
  display:block; padding:6px 0; text-decoration:none;
  color:var(--ink-soft); font-size:.9rem; font-weight:600;
}
.legal-toc a:hover{color:var(--coral);}
.legal-body h2{
  font-size:1.5rem; margin-top:2.2em; padding-top:.3em;
  border-top:1px solid var(--line);
}
.legal-body h2:first-child{border-top:none; margin-top:0;}
.legal-body ul{color:var(--ink-soft); padding-left:1.2em;}
.legal-body li{margin-bottom:.5em;}
.legal-body table{width:100%; border-collapse:collapse; margin:1.2em 0;}
.legal-body th, .legal-body td{
  text-align:left; padding:10px 12px; border:1px solid var(--line); font-size:.92rem;
}
.legal-body th{background:var(--paper-2); font-family:var(--body); font-weight:700;}
.note-box{
  background:var(--leaf-soft); border:1px solid var(--leaf);
  border-radius:var(--radius-sm); padding:16px 20px; font-size:.92rem; color:var(--swamp-dark);
  margin:1.4em 0;
}
.note-box.warn{background:#FFF1E9; border-color:var(--coral);}
.updated{font-family:var(--mono); font-size:.85rem; color:var(--sun);}

/* CONVERSION STRIP (hero visual above "Postup") */
.conversion-strip{
  display:flex; align-items:center; justify-content:center;
  gap:22px; flex-wrap:nowrap; padding:12px 0;
}
.conv-badge{
  background:var(--white); border:1px solid var(--line);
  border-radius:100px; padding:16px 30px; text-align:center;
  box-shadow:var(--shadow); min-width:126px; flex-shrink:0;
}
.conv-badge .conv-value{
  display:block; font-family:var(--mono); font-weight:700; font-size:1.9rem;
  color:var(--swamp-dark); line-height:1.1;
}
.conv-food .conv-value{color:var(--sun);}
.conv-distance .conv-value{color:var(--coral);}
.conv-badge .conv-unit{
  display:block; font-family:var(--mono); font-size:.75rem; color:var(--ink-soft);
  text-transform:uppercase; letter-spacing:.1em; margin-top:2px;
}
.conv-line{
  flex:1; min-width:32px; max-width:180px; height:3px; border-radius:3px;
  background-image:linear-gradient(to right, var(--leaf) 0 10px, transparent 10px 22px);
  background-size:22px 3px; background-repeat:repeat-x;
}
.conv-mascot{
  width:132px; height:132px; object-fit:contain; flex-shrink:0;
  filter:drop-shadow(0 14px 22px rgba(15,35,27,.18));
}

/* RESPONSIVE */
@media (max-width: 880px){
  .grid-2, .grid-3, .grid-4{grid-template-columns:1fr;}
  .site-nav .row{flex-wrap:wrap;}
  .menu-toggle{display:flex;}
  .nav-links{
    display:none;
    order:10; flex-basis:100%; width:100%;
    flex-direction:column; align-items:stretch; gap:0;
    margin-top:12px; padding-top:10px; border-top:1px solid var(--line);
  }
  .nav-links.is-open{display:flex;}
  .nav-links li{width:100%;}
  .nav-links a{display:block; padding:12px 4px;}
  .legal-wrap{grid-template-columns:1fr;}
  .legal-toc{position:relative; top:0;}
  .footer-grid{grid-template-columns:1fr;}
  section{padding:64px 0;}
  .conversion-strip{flex-direction:column;}
  .conv-line{width:3px; height:32px; max-width:none; min-width:0;
    background-image:linear-gradient(to bottom, var(--leaf) 0 10px, transparent 10px 22px);
    background-size:3px 22px; background-repeat:repeat-y;}
}
@media (prefers-reduced-motion: reduce){
  *{animation:none!important; transition:none!important;}
}