:root{
  --green:#7cb342; --green-dark:#4a7c1e; --green-darker:#3c6b16;
  --green-light:#dcebc4; --green-lighter:#eef5e0; --accent:#236303;
  --ink:#3a3a3a; --muted:#6b7280; --line:#d7e0cc;
}
*{box-sizing:border-box}
body{margin:0;font-family:'Open Sans',Arial,Helvetica,sans-serif;color:var(--ink);
     line-height:1.6;background:#fff;font-size:16px}
a{color:var(--green-dark)}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:1000px;margin:0 auto;padding:0 20px}

/* fejlec */
header.top{background:#fff}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;
        padding:16px 20px;max-width:1000px;margin:0 auto;flex-wrap:wrap}
.topbar .contact{font-size:14px;color:var(--ink);white-space:nowrap}
.topbar .logo img{height:70px;width:auto}
.topbar a{color:var(--ink);text-decoration:none}

/* menu */
nav.menu{background:var(--green)}
nav.menu ul{list-style:none;margin:0 auto;padding:0;display:flex;flex-wrap:wrap;
            max-width:1000px;justify-content:center}
nav.menu a{display:block;color:#fff;text-decoration:none;padding:14px 20px;
           font-size:15px;transition:background .15s}
nav.menu a:hover,nav.menu a.active{background:var(--green-dark)}

/* szekciocim */
.section-title{background:linear-gradient(rgba(58,100,22,.55),rgba(58,100,22,.55)),url(img/banner.jpg) center/cover;
               color:#fff;text-align:center;padding:14px;font-size:22px;letter-spacing:.5px;
               text-shadow:0 1px 3px rgba(0,0,0,.45)}

/* hero (kezdolap) */
.hero{background:linear-gradient(135deg,var(--green-light),var(--green-lighter));
      padding:48px 20px;text-align:center}
.hero h1{color:var(--accent);font-weight:600;font-size:26px;max-width:760px;margin:0 auto 16px;line-height:1.4}
.hero .sign{color:var(--green-dark);font-weight:700;margin-top:8px}
.hero .role{color:var(--muted);font-size:15px}
.hero .cta{display:inline-block;margin-top:20px;background:var(--green-dark);color:#fff;
           text-decoration:none;padding:12px 30px;border-radius:4px;font-size:15px}

section{padding:36px 0}
.intro{display:flex;gap:28px;align-items:flex-start;flex-wrap:wrap}
.intro p{flex:1 1 340px;margin:0}
.badges{display:flex;gap:14px;flex:0 0 auto}
.badges img{width:120px;height:auto}
.banner{background:linear-gradient(90deg,var(--green-dark),var(--green));
         color:#fff;text-align:center;font-size:20px;font-weight:600;padding:16px}
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.cols2 h2{color:var(--green);font-weight:600;font-size:22px;margin:0 0 12px}
.card-list{background:var(--green-light);padding:26px 30px;border-radius:6px}
.card-list h2{color:var(--accent);margin-top:0}
.with-img{display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.with-img img{width:260px;border-radius:4px;flex:0 0 auto}
.with-img .txt{flex:1 1 300px}
ul.pipe{margin:0;padding-left:20px}
ul.pipe li{margin:7px 0}
.more{display:inline-block;margin-top:14px;background:var(--green);color:#fff;
      text-decoration:none;padding:9px 26px;border-radius:4px;font-size:14px}
.velem{display:flex;gap:26px;align-items:flex-start;flex-wrap:wrap}
.velem img{width:220px;border-radius:4px}
.velem .quotes{flex:1 1 320px}
.velem blockquote{margin:0 0 16px;font-style:italic;color:#555;border-left:3px solid var(--green);padding-left:14px}
h2.center{text-align:center;color:var(--green);font-weight:600;font-size:24px}

/* altalanos tartalom-oldal */
.content{max-width:820px;margin:0 auto;padding:34px 20px}
.content h2{color:var(--green);font-weight:600;font-size:24px;margin:30px 0 10px}
.content h3{color:var(--accent);font-weight:600;font-size:19px;margin:22px 0 8px}
.content p{margin:0 0 14px}
/* tobbsoros idezet/cim: egymas utani headingek szoros sorkoze */
.content h2:has(+h2),.content h2:has(+h3),.content h3:has(+h2),.content h3:has(+h3){margin-bottom:0}
.content h2+h2,.content h2+h3,.content h3+h2,.content h3+h3{margin-top:0;line-height:1.3}
.content img{border-radius:4px;margin:18px auto}
.content .quote{font-style:italic;color:#555;text-align:center;font-size:19px;margin:20px auto;max-width:600px}
.content .author{font-weight:700;color:var(--green-dark);margin:2px 0 24px}
.content .meta{color:var(--muted);font-size:14px;margin:0 0 4px}
.content .lead{color:var(--accent);font-weight:600;font-size:20px}
.content a.back{display:inline-block;background:var(--green);color:#fff;text-decoration:none;
                padding:8px 22px;border-radius:4px;font-size:14px;margin-bottom:18px}
.content figure{margin:18px 0}
.audioblock{background:var(--green-light);border-radius:6px;padding:16px 20px;margin:16px 0}
.audioblock .t{font-weight:600;color:var(--accent);margin-bottom:8px}
.audioblock audio{width:100%;max-width:420px}
.item{border-bottom:1px solid var(--line);padding:18px 0}
.item h3{margin:0 0 4px}
.item .date{color:var(--green);font-weight:600;font-size:14px}
.item .src{color:var(--muted);font-style:italic;font-size:14px;margin-bottom:6px}

/* kapcsolat urlap */
form.kapcsolat{max-width:540px;margin:10px auto}
form.kapcsolat input,form.kapcsolat textarea{width:100%;padding:12px;margin:8px 0;border:1px solid var(--line);
  border-radius:4px;font-size:15px;font-family:inherit}
form.kapcsolat button{background:var(--green-dark);color:#fff;border:none;padding:13px 34px;
  font-size:16px;border-radius:4px;cursor:pointer;margin-top:6px}
form.kapcsolat .note{font-size:12px;color:var(--muted);margin-top:10px}

/* footer */
footer.bottom{background:var(--green-darker);color:#eaf3dd;margin-top:20px}
footer.bottom .fwrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
                     padding:22px 20px;max-width:1000px;margin:0 auto;font-size:14px}
footer.bottom a{color:#fff}

@media(max-width:720px){
  .cols2{grid-template-columns:1fr}
  .topbar{justify-content:center;text-align:center}
  nav.menu a{padding:12px 14px;font-size:14px}
  .hero h1{font-size:22px}
}
