:root{
  --paper:#fbf7ef;--ink:#223026;--muted:#516356;
  --green:#2f6b3d;--green2:#3d8b4f;--blue:#1f6f8b;--blue2:#2b93b1;
  --sand:#d8a34b;--sand2:#efc06b;
  --shadow:0 14px 35px rgba(15,43,34,.18);
  --shadow2:0 10px 24px rgba(15,43,34,.14);
  --radius:22px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--ink);
  background:var(--paper);
  overflow-x:hidden
}
.bg-sky{
  position:fixed;inset:0;
  background:
    radial-gradient(900px 400px at 20% 0%,rgba(255,255,255,.65),transparent 60%),
    radial-gradient(900px 400px at 80% 0%,rgba(255,255,255,.55),transparent 60%),
    linear-gradient(#bfe7ff 0%,#e9f6ff 25%,var(--paper) 60%,var(--paper) 100%);
  z-index:-2
}
.container{width:min(1120px,92vw);margin:0 auto}

.topbar{
  position:sticky;top:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 16px;
  backdrop-filter:blur(10px);
  background:rgba(251,247,239,.72);
  border-bottom:1px solid rgba(0,0,0,.06)
}
.brand{
  display:flex;gap:10px;align-items:center;
  text-decoration:none;color:var(--ink);font-weight:800
}
.brand img{width:38px;height:38px;object-fit:contain}
.nav{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end}
.nav a{
  text-decoration:none;color:var(--muted);font-weight:700;
  padding:8px 10px;border-radius:999px
}
.nav a:hover{background:rgba(47,107,61,.10);color:var(--green)}

.hero{padding:34px 0 22px;position:relative}
.hero-inner{
  width:min(980px,92vw);margin:0 auto;text-align:center;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(0,0,0,.06);
  border-radius:calc(var(--radius) + 10px);
  box-shadow:var(--shadow2);
  padding:26px 18px 18px
}
.hero-logo img{
  width:min(220px,56vw);
  height:auto;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.20))
}
h1{margin:10px 0 4px;font-size:clamp(28px,4.2vw,46px);letter-spacing:.3px}
.motto{margin:0;font-weight:900;color:var(--green);font-size:clamp(16px,2.3vw,22px)}
.lead{margin:14px auto 0;max-width:78ch;line-height:1.6;color:#2c3c31;font-size:16.5px}
.micro{margin:14px 0 0;color:var(--muted);font-weight:700}

.cta-grid{
  margin:18px auto 6px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  width:min(940px,100%)
}
.btn{
  text-decoration:none;
  display:flex;flex-direction:column;gap:4px;
  padding:14px;border-radius:20px;color:#fff;
  border:3px solid rgba(255,255,255,.55);
  box-shadow:var(--shadow2);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
  position:relative;overflow:hidden
}
.btn:before{
  content:"";position:absolute;inset:0;border-radius:20px;
  box-shadow:inset 0 0 0 3px rgba(0,0,0,.10);
  pointer-events:none
}
.btn:after{
  content:"";position:absolute;inset:-40px;
  background:
    radial-gradient(circle at 30% 20%,rgba(255,255,255,.25),transparent 45%),
    radial-gradient(circle at 70% 70%,rgba(0,0,0,.12),transparent 55%);
  opacity:.60;transform:rotate(-6deg);pointer-events:none
}
.btn:hover{transform:translateY(-3px) scale(1.06);box-shadow:var(--shadow);filter:saturate(1.10)}
.btn-title{font-weight:1000;letter-spacing:.2px;font-size:16px;text-transform:uppercase}
.btn-sub{font-weight:750;opacity:.92;font-size:13px}
.btn-green{background:linear-gradient(180deg,var(--green2),var(--green))}
.btn-blue{background:linear-gradient(180deg,var(--blue2),var(--blue))}
.btn-sand{background:linear-gradient(180deg,var(--sand2),var(--sand));color:#2c220f;border-color:rgba(255,255,255,.7)}
.btn.small{display:inline-flex;width:auto;padding:12px 14px;border-radius:18px}

.hero-waves{
  height:26px;margin-top:14px;
  background:
    radial-gradient(14px 10px at 10% 60%,rgba(47,107,61,.12),transparent 70%),
    radial-gradient(14px 10px at 25% 60%,rgba(31,111,139,.12),transparent 70%),
    radial-gradient(14px 10px at 40% 60%,rgba(47,107,61,.12),transparent 70%),
    radial-gradient(14px 10px at 55% 60%,rgba(31,111,139,.12),transparent 70%),
    radial-gradient(14px 10px at 70% 60%,rgba(47,107,61,.12),transparent 70%),
    radial-gradient(14px 10px at 85% 60%,rgba(31,111,139,.12),transparent 70%);
  opacity:.9
}

.section{padding:56px 0}
.section-cream{background:rgba(246,240,229,.72)}
.section-mint{background:rgba(210,235,220,.55)}
.section-white{background:rgba(255,255,255,.55)}
.section-dark{background:linear-gradient(180deg,rgba(15,43,34,.98),rgba(15,43,34,.92));color:#eaf6ef}

.section-head{text-align:center;margin-bottom:18px}
.section-head h2{margin:0;font-size:clamp(24px,3.4vw,40px)}
.subhead{margin:8px 0 0;color:var(--muted);font-weight:700}
.wave-divider{
  margin:14px auto 0;width:220px;height:14px;
  background:
    radial-gradient(22px 14px at 10% 50%,rgba(31,111,139,.25),transparent 65%),
    radial-gradient(22px 14px at 30% 50%,rgba(47,107,61,.25),transparent 65%),
    radial-gradient(22px 14px at 50% 50%,rgba(31,111,139,.25),transparent 65%),
    radial-gradient(22px 14px at 70% 50%,rgba(47,107,61,.25),transparent 65%),
    radial-gradient(22px 14px at 90% 50%,rgba(31,111,139,.25),transparent 65%)
}

.cards-2{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  align-items:stretch
}
.pond-card{
  background:rgba(255,255,255,.82);
  border:1px solid rgba(0,0,0,.06);
  border-radius:calc(var(--radius) + 6px);
  box-shadow:var(--shadow2);
  overflow:hidden
}
.pond-img{
  display:block;
  width:100%;
  height:320px;
  object-fit:cover;       /* protože oba obrázky teď budou sjednocené */
}
.pond-body{padding:16px 16px 18px}
.pond-body h3{margin:0 0 8px;font-size:22px}
.pond-body h3 span{font-weight:800;color:var(--muted);font-size:16px}
.pond-body p{margin:0 0 10px;line-height:1.55;color:#2d3e33}

.checks{margin:0;padding-left:0;list-style:none;display:grid;gap:8px}
.checks li{display:flex;gap:10px;align-items:flex-start;line-height:1.35}
.checks li:before{
  content:"✓";font-weight:1000;width:22px;height:22px;
  display:inline-grid;place-items:center;border-radius:7px;margin-top:1px
}
.checks.green li:before{background:rgba(61,139,79,.16);color:var(--green)}
.checks.blue li:before{background:rgba(43,147,177,.16);color:var(--blue)}

/* ===== PRAVIDLA – zarovnání pravého TIP boxu k horní řadě pravidel ===== */
.two-col{
  display:grid;
  grid-template-columns: 1.4fr .9fr;
  gap:24px;
  align-items:start;          /* oba sloupce začínají nahoře */
}
.two-col > div{
  padding-top: 0;
}
.rule-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:0; /* FIX: aby levý sloupec nezačínal níž než tip box */
}
.rule-box{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(0,0,0,.06);
  border-radius:var(--radius);
  box-shadow:var(--shadow2);
  padding:14px 14px 12px
}
.rule-box h4{margin:0 0 8px}
.rule-box ul{margin:0;padding-left:18px;color:#2d3e33;line-height:1.55}
.actions{margin-top:14px}

.card-side{
  background:rgba(255,255,255,.72);
  border:1px solid rgba(0,0,0,.06);
  border-radius:var(--radius);
  box-shadow:var(--shadow2);
  padding:14px;

  position: relative;   /* zruší sticky chování */
  top: auto;
  margin-top: 0;        /* zarovnání s levými boxy */
}
.side-title{margin:0;font-weight:1000}
.side-text{margin:6px 0 10px;color:var(--muted);line-height:1.55}
.mini-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.link{color:inherit;text-decoration:none;font-weight:900}
.link:hover{text-decoration:underline}
.dot{opacity:.6}

/* ===== Jednorázová povolenka sekce (samostatná) ===== */
.section-ticket{
  background:linear-gradient(180deg, rgba(250,248,242,.85), rgba(226,241,235,.85));
  padding:70px 0;
}
.ticket-wrap{
  display:grid;
  grid-template-columns: 420px 1fr;
  gap:28px;
  align-items:center;
  background:rgba(255,255,255,.85);
  border:1px solid rgba(0,0,0,.06);
  border-radius:calc(var(--radius) + 10px);
  box-shadow:var(--shadow);
  padding:22px;
}
.ticket-poster img{
  width:100%;
  border-radius:18px;
  display:block;
  box-shadow:0 14px 26px rgba(0,0,0,.18);
}
.ticket-info h3{margin:0 0 10px}
.ticket-list{margin:0;padding-left:18px;line-height:1.65;color:#2d3e33}
.ticket-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.ticket-note{margin:12px 0 0;color:var(--muted);font-weight:900}

.price-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.price-card{
  background:rgba(255,255,255,.86);
  border-radius:calc(var(--radius) + 6px);
  border:1px solid rgba(0,0,0,.06);
  box-shadow:var(--shadow2);
  overflow:hidden
}
.price-top{padding:16px 16px 12px;color:#fff}
.price-top.sand{color:#2c220f}
.price-top.green{background:linear-gradient(180deg,var(--green2),var(--green))}
.price-top.blue{background:linear-gradient(180deg,var(--blue2),var(--blue))}
.price-top.sand{background:linear-gradient(180deg,var(--sand2),var(--sand))}
.price-title{font-weight:1000;text-transform:uppercase;letter-spacing:.3px}
.price-value{font-weight:1100;font-size:34px;margin-top:6px}
.price-sub{font-weight:800;opacity:.95}
.price-body{padding:12px 16px 16px;color:#2d3e33;line-height:1.55}
.bullets{margin:0;padding-left:18px}
.note{margin:10px 0 0;font-weight:900;color:var(--muted)}

.info-grid{margin-top:14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.info-box{
  background:rgba(255,255,255,.74);
  border:1px solid rgba(0,0,0,.06);
  border-radius:var(--radius);
  box-shadow:var(--shadow2);
  padding:14px
}
.info-box h4{margin:0 0 6px}
.info-box p{margin:0;color:#2d3e33;line-height:1.55}

.news-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}
.news-card{
  background:rgba(255,255,255,.86);
  border:1px solid rgba(0,0,0,.06);
  border-radius:var(--radius);
  box-shadow:var(--shadow2);
  padding:14px
}
.news-card h3{margin:0 0 6px}
.meta{margin:0 0 10px;color:var(--muted);font-weight:800}
.news-card img{width:100%;border-radius:16px;box-shadow:var(--shadow2)}
.qr-wrap{display:flex;flex-direction:column;align-items:center;gap:8px}
.qr-wrap img{width:240px;max-width:100%;box-shadow:none}
.small{font-size:13px;color:var(--muted);font-weight:800;margin:0}

.event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}
.event-card{
  background:rgba(255,255,255,.82);
  border:1px solid rgba(0,0,0,.06);
  border-radius:var(--radius);
  box-shadow:var(--shadow2);
  padding:16px
}
.event-card h3{margin:0 0 6px}
.event-card p{margin:0 0 8px;line-height:1.55;color:#2d3e33}
.event-note{font-weight:900;color:var(--muted)}

.contact{text-align:center}
.contact-lead{margin:8px 0 16px;color:rgba(234,246,239,.90);font-weight:900}
.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:10px}
.contact-card{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  border-radius:var(--radius);
  padding:14px
}
.contact-card h3{margin:0 0 8px}
.contact-card p{margin:0 0 6px}
.contact-card a{color:#eaf6ef;font-weight:1000;text-decoration:none}
.contact-card a:hover{text-decoration:underline}
.brandline{margin-top:18px;font-weight:1100;font-size:clamp(18px,2.4vw,26px)}
.domain{margin:8px 0 0;opacity:.9;font-weight:900}

.to-top{
  position:fixed;right:14px;bottom:14px;width:46px;height:46px;
  border-radius:16px;border:0;background:rgba(255,255,255,.78);
  box-shadow:var(--shadow2);
  cursor:pointer;font-size:18px;font-weight:1000;
  opacity:0;transform:translateY(10px);
  transition:opacity .18s ease,transform .18s ease
}
.to-top.show{opacity:1;transform:translateY(0)}

.reveal{opacity:0;transform:translateY(10px) scale(.99);transition:opacity .55s ease,transform .55s ease}
.reveal.in{opacity:1;transform:translateY(0) scale(1)}

@media (max-width:980px){
  .cta-grid,.cards-2,.price-cards,.info-grid,.news-grid,.event-grid,.contact-grid{grid-template-columns:1fr}
  .two-col{grid-template-columns:1fr}
  .card-side{position:relative;top:auto}
  .rule-grid{grid-template-columns:1fr}
  .nav{display:none}
  .pond-img{height:260px}

  .ticket-wrap{
    grid-template-columns:1fr;
    text-align:center;
  }
  .ticket-actions{justify-content:center}
}
/* Speciální styl pro vybrané nadpisy */
.title-fun{
  font-family: "Fredoka", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  letter-spacing: .2px;
}
h1.title-fun{ font-size: clamp(34px, 4.5vw, 58px); }
h2.title-fun{ font-size: clamp(26px, 3.2vw, 44px); }
h3.title-fun{ font-size: clamp(20px, 2.4vw, 28px); 
}
.section-ticket .btn{
  color: #ffffff !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.25);
}

/* Zarovnání pravého TIP boxu k horní hraně karet */
.section-head{
  margin-bottom: 32px;   /* mezera pod nadpisem */
}

.two-col{
  display:grid;
  grid-template-columns: 1.4fr .9fr;
  gap:24px;
  align-items:start;
}

/* Pravý box zarovnáme přesně k levým kartám */
.two-col aside{
  margin-top: 0;
}
/* Navigace k rybníku – Mapy.cz */
.pond-nav{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:12px;
}

.btn-pond-map{
  display:inline-flex;
  align-items:center;
  gap:8px;

  padding:10px 16px;
  background:linear-gradient(135deg,#1f6f5c,#2f8f78);
  color:#fff;
  text-decoration:none;
  font-size:14px;
  font-weight:600;

  border-radius:12px;
  box-shadow:0 4px 10px rgba(0,0,0,.15);

  transition:all .2s ease;
}

.btn-pond-map::before{
  content:"📍";
  font-size:16px;
}

.btn-pond-map:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 14px rgba(0,0,0,.2);
  background:linear-gradient(135deg,#238c72,#35a387);
}