:root{--g:#2c9646;--gd:#1c5f2c;--v:#a659c0;--m:#c3229b;--bg:#f5faf6;--pl:#e2f3e7;--t:#1b2d1f}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;padding-bottom:84px;min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--t);font:17px/1.7 "Golos Text",system-ui,sans-serif;}
h1,h2,h3{font-family:Prata,Georgia,serif;font-weight:400;line-height:1.25;color:var(--gd)}
a{color:var(--gd)}
.lenta{max-width:720px;margin:0 auto;padding:0 18px}
.vrh{border-bottom:3px double var(--g);background:#fff}
.vrh .lenta{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;padding-bottom:12px}
.ime{font-family:Prata,serif;font-size:1.3rem;text-decoration:none;color:var(--gd);letter-spacing:.02em}
.ime::before{content:"";display:inline-block;width:14px;height:14px;border:3px solid var(--v);border-radius:50%;margin-right:8px;vertical-align:-1px}
.kup{background:var(--m);color:#fff;text-decoration:none;padding:0 18px;min-height:50px;display:inline-flex;align-items:center;border-radius:3px;font-weight:600;font-size:16px}
.uvod{padding:40px 0 10px}
.etiket{display:inline-block;font-size:.75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--v);border-left:4px solid var(--v);padding-left:8px}
.uvod h1{font-size:2.15rem;margin:.4em 0}
.uvod figure,.snimka{margin:22px 0;border-radius:0 26px 0 26px;overflow:hidden;background:var(--pl)}
figure img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.uvod figure img{aspect-ratio:3/2;object-position:50% 20%}
figcaption{font-size:14px;padding:6px 12px;color:#4b5e50}
.blok{padding:34px 0;border-top:1px dashed #b9d9c1}
.blok h2{font-size:1.65rem;margin-top:0}
.glasove{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.glas{background:#fff;border-top:4px solid var(--g);padding:14px;font-size:1rem}
.glas q{display:block;font-style:italic}
.glas small{display:block;margin-top:8px;font-size:14px;color:var(--v);font-weight:600}
.spisak{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.spisak li{background:#fff;padding:12px 14px 12px 52px;position:relative;border-radius:6px;box-shadow:0 1px 0 #cfe6d5}
.spisak li::before{content:"";position:absolute;left:14px;top:14px;width:22px;height:22px;border:2px solid var(--g);border-radius:4px;background:var(--pl)}
.spisak li b{color:var(--gd)}
.danni{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.karta{background:var(--gd);color:#fff;padding:18px;border-radius:4px}
.karta h3{color:#fff;font-size:1.1rem;margin:0 0 6px}
.karta p{margin:0;font-size:1rem}
.karta svg{width:30px;height:30px;stroke:#d9b5e6;fill:none;stroke-width:2;margin-bottom:6px}
.izvor{font-size:14px;color:#56685a;margin-top:10px}
.vaprosi details{border-bottom:1px solid #c6dfcc;padding:12px 0}
.vaprosi summary{cursor:pointer;font-weight:600;color:var(--gd)}
.oferta{background:var(--pl);border:2px solid var(--g);padding:26px;text-align:center;border-radius:4px}
.oferta h2{margin-bottom:.3em}
.krai{text-align:center}
.dolu{margin-top:40px;background:var(--t);color:#cfe3d4;padding:24px 0;font-size:14px}
.dolu a{color:#cfe3d4;margin-right:14px;display:inline-block;padding:4px 0}
.statia h1{font-size:1.9rem;margin-top:36px}
.statia h2{font-size:1.25rem}
form{display:grid;gap:10px;background:#fff;padding:18px;border-radius:4px}
input,textarea{font:inherit;padding:10px;border:1px solid #a9cdb2;border-radius:3px}
button[type=submit]{font:inherit;background:var(--g);color:#fff;border:0;padding:11px;border-radius:3px;cursor:pointer}
#kontaktDakujeme{background:var(--pl);padding:16px;border-left:4px solid var(--g)}
.btn{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;min-height:64px;font-size:19px;text-decoration:none;font-weight:700;border-radius:3px;padding:12px 22px}
.btn-cta{background:var(--m);color:#fff}
.btn-cta:hover{background:#9e1a7d}
.btn-cta-xl{font-size:23px;padding:20px 34px;min-height:86px;min-width:320px;margin-top:12px}
.modal-overlay{position:fixed;inset:0;background:rgba(18,40,24,.82);display:none;align-items:center;justify-content:center;z-index:999;padding:16px}
.modal-overlay.show{display:flex}
.modal{background:#fff;max-width:620px;width:100%;padding:28px 22px;border-radius:0 30px 0 30px;position:relative;text-align:center;border-top:6px solid var(--v)}
.modal .close{position:absolute;top:8px;right:12px;background:none;border:0;font-size:28px;cursor:pointer;color:var(--gd)}
.modal .badge{display:inline-block;background:var(--v);color:#fff;font-size:.75rem;padding:3px 10px;letter-spacing:.08em}
.modal h3{font-size:42px;line-height:1.15;color:var(--m)}
.modal h3{text-wrap:balance}
.modal .btn{white-space:normal}
.modal .offer{background:var(--pl);padding:8px 12px;text-align:left;font-size:.92rem}
.sticky-cta{position:fixed;left:0;right:0;bottom:0;background:var(--gd);color:#fff;display:flex;gap:12px;justify-content:center;align-items:center;padding:10px 14px;z-index:900;font-size:.9rem;flex-wrap:nowrap}
.sticky-cta .btn{min-height:60px;font-size:18px;padding:8px 18px}
main{flex:1 0 auto;width:100%}
.uvod__cta{margin:6px 0 4px}
@media(max-width:640px){.btn-cta-xl{min-width:0;width:100%;max-width:100%;white-space:normal;padding:16px 14px;font-size:22px;line-height:1.25;text-align:center}.oferta{padding:20px 14px}.ime{font-size:1.05rem;white-space:nowrap}.ime::before{width:11px;height:11px;margin-right:6px}.kup{padding:0 12px;white-space:nowrap;min-height:46px}.vrh .lenta{gap:8px;padding-left:12px;padding-right:12px}.sticky-dop{display:none}.sticky-cta{justify-content:space-between;padding:8px 12px}.sticky-cta span{white-space:nowrap}.sticky-cta .btn{min-height:48px;font-size:16px;padding:8px 12px}body{padding-bottom:68px}.modal h3{font-size:30px}.glasove,.danni{grid-template-columns:1fr}.uvod h1{font-size:1.7rem}.sticky-cta span{font-size:14px}}

/* popup-vzor-zalomeni: vzorový text tlačítka popupu je dlouhý – smí se zalomit a nesmí přetékat */
.modal .btn, .modal .cta { white-space: normal; overflow-wrap: anywhere; text-align: center; line-height: 1.25; max-width: 100%; box-sizing: border-box; }
@media (max-width: 600px) { .modal .btn, .modal .cta { padding-left: 16px; padding-right: 16px; } }

/* lista-vzor-zalomeni: vzorový text spodní lišty se na mobilu zalomí, tlačítko zůstane celé */
.modal .btn-cta-xl { text-wrap: balance; }
@media (max-width: 600px) {
  .sticky-cta { flex-wrap: nowrap !important; gap: 10px; }
  .sticky-cta > span { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; min-width: 0; flex: 1 1 auto; font-size: 13px !important; line-height: 1.25; display: block !important; }
  .sticky-cta .btn, .sticky-cta .cta { flex: 0 0 auto !important; white-space: nowrap !important; max-width: none; }
}
