/* paleta: czerń, biel + zielony akcent (logo/svg/paleta.md); styl wzorowany na swissherbal.pl */
:root { --green:#3f7d2a; --green-dark:#2f6020; --line:#e6e6e6; --soft:#f6f6f4; }
* { box-sizing: border-box; }
body { margin:0; background:#fff; color:#111; font-family:Montserrat, system-ui, sans-serif; line-height:1.6; }
a { color:var(--green); }
img { max-width:100%; height:auto; }

.top { display:flex; flex-wrap:wrap; align-items:center; gap:12px 24px; padding:12px 16px; border-bottom:1px solid var(--line); }
.brand { display:flex; align-items:center; gap:8px; color:#111; text-decoration:none; font-weight:800; letter-spacing:.08em; }
.brand img { width:30px; }
.menu { display:flex; gap:20px; margin-right:auto; }
.menu a { color:#111; text-decoration:none; font-weight:600; text-transform:uppercase; font-size:.85rem; }
.menu a:hover { color:var(--green); }
.langs { display:flex; flex-wrap:wrap; gap:6px; }
.langs button { background:#fff; border:1px solid var(--line); color:#444; padding:4px 11px; border-radius:999px; cursor:pointer; font:inherit; font-size:.75rem; }
.langs button[aria-pressed="true"] { background:var(--green); border-color:var(--green); color:#fff; }

section { padding:56px 16px; }
.wrap { max-width:760px; margin:0 auto; }
.hero { text-align:center; }
.hero img { width:min(220px, 55vw); display:block; margin:0 auto 20px; }
h1 { font-size:clamp(1.8rem, 6vw, 3rem); font-weight:800; line-height:1.15; margin:0 0 .4em; }
h2 { font-size:clamp(1.5rem, 4.5vw, 2.2rem); font-weight:800; margin:0 0 .6em; }
.lead { color:#555; font-size:1.05rem; margin:0 0 1.6em; }
.rule { width:64px; height:4px; border-radius:2px; background:var(--green); margin:0 0 1.4em; }
.hero .rule { margin:0 auto 1.6em; }
/* manifest zwinięty; „Przeczytaj manifest” płynnie go rozwija (site.js dodaje .open) */
html { scroll-behavior:smooth; }
.manifest { background:var(--soft); display:grid; grid-template-rows:0fr; padding:0 16px; transition:grid-template-rows .8s ease, padding .8s ease; }
.manifest > .wrap { overflow:hidden; min-height:0; opacity:0; transition:opacity .8s ease; }
.manifest.open { grid-template-rows:1fr; padding:56px 16px; }
.manifest.open > .wrap { opacity:1; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } .manifest, .manifest > .wrap { transition:none; } }
.manifest .text p { margin:0 0 1em; }
.manifest h3 { font-size:1rem; letter-spacing:.06em; color:var(--green); margin:0 0 1em; }
.todo { border:2px dashed #c9c9c9; padding:16px; border-radius:12px; color:#666; }
.cta { display:inline-block; background:var(--green); color:#fff; text-decoration:none; font-weight:600; padding:12px 28px; border-radius:999px; border:0; cursor:pointer; font:inherit; }
.cta:hover, .cta:focus-visible { background:var(--green-dark); }
.center { text-align:center; }
footer { padding:32px 16px 96px; text-align:center; color:#777; font-size:.85rem; border-top:1px solid var(--line); }
.social { display:flex; gap:14px; justify-content:center; }
.social a { color:#111; display:inline-flex; }
.social a:hover { color:var(--green); }
.top .social { gap:10px; }
footer .social { margin-bottom:14px; }
.linklist { display:flex; flex-direction:column; gap:12px; max-width:420px; margin:0 auto; }
.linklist .big { display:flex; align-items:center; justify-content:center; gap:10px; padding:14px 20px; border-radius:999px; border:2px solid #111; color:#111; text-decoration:none; font-weight:600; }
.linklist .big:hover { border-color:var(--green); color:var(--green); }
.linklist .big.main { background:var(--green); border-color:var(--green); color:#fff; }

/* blog */
.cards { display:flex; flex-direction:column; gap:14px; }
.cards:has(.card) + .empty { display:none; }
.card { display:block; padding:18px 20px; border:1px solid var(--line); border-radius:16px; color:#111; text-decoration:none; }
.card:hover { border-color:var(--green); }
.card b { display:block; font-size:1.15rem; margin:.2em 0; }
.card span { color:#555; }
time { display:block; color:#777; font-size:.85rem; }
.post .back { display:inline-block; margin-bottom:1.2em; font-size:.9rem; }
.post h1 { margin-top:.2em; }

/* czaty */
.fabs { position:fixed; right:16px; bottom:16px; display:flex; flex-direction:column; gap:10px; z-index:50; }
.fab { width:56px; height:56px; border-radius:50%; border:0; padding:0; cursor:pointer; box-shadow:0 4px 14px rgba(0,0,0,.25); display:grid; place-items:center; }
.fab img { width:56px; height:56px; }
.fab.firm { background:var(--green); color:#fff; }
.fab .dot { position:absolute; }
.panel { position:fixed; right:16px; bottom:84px; width:min(360px, calc(100vw - 32px)); height:min(500px, calc(100vh - 110px)); background:#fff; border:1px solid var(--line); border-radius:16px; box-shadow:0 10px 30px rgba(0,0,0,.2); display:flex; flex-direction:column; z-index:60; overflow:hidden; }
.panel[hidden] { display:none; }
.panel header { display:flex; align-items:center; gap:8px; padding:10px 12px; background:#111; color:#fff; }
.panel header.firm { background:var(--green); }
.panel header b { flex:1; }
.panel header button { background:none; border:0; color:#fff; cursor:pointer; font-size:1.3rem; line-height:1; }
.panel header button.linkbtn { font-size:.75rem; }
.online { font-size:.75rem; color:#666; padding:6px 12px; border-bottom:1px solid var(--line); }
.msgs { flex:1; overflow-y:auto; padding:10px 12px; display:flex; flex-direction:column; gap:8px; }
.msg { background:var(--soft); border-radius:12px; padding:6px 10px; max-width:85%; word-wrap:break-word; }
.msg.me { align-self:flex-end; background:#e6f0e1; }
.msg small { display:block; font-weight:600; font-size:.7rem; color:#555; }
.send { display:flex; gap:6px; padding:8px; border-top:1px solid var(--line); }
.send input { flex:1; border:1px solid var(--line); border-radius:999px; padding:8px 12px; font:inherit; }
.send button { padding:8px 16px; }
.login { padding:20px; text-align:center; color:#555; }
.threads button { display:block; width:100%; text-align:left; background:none; border:0; border-bottom:1px solid var(--line); padding:10px 12px; cursor:pointer; font:inherit; }
.linkbtn { background:none; border:0; color:var(--green); cursor:pointer; font:inherit; font-size:.75rem; text-decoration:underline; }

footer .patronite { margin-bottom:16px; }
