/* =========================================================
   Segítő Belső Család Meditációs Egyesület – stíluslap
   ========================================================= */

:root{
  --zold-sotet:#2f5d3a;
  --zold:#6ea84e;
  --zold-vilagos:#e8f0e2;
  --arany:#c6c03b;
  --arany-halvany:#f4f2dd;
  --kremm:#fbfaf6;
  --papir:#ffffff;
  --tinta:#2b322e;
  --szurke:#5f6b62;
  --vonal:#e3e2d8;
  --arnyek:0 1px 2px rgba(43,50,46,.05), 0 8px 24px rgba(43,50,46,.06);
  --szeles:1140px;
  --radius:14px;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif;
}

*,*::before,*::after{box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  margin:0;
  font-family:var(--sans);
  font-size:17px;
  line-height:1.7;
  color:var(--tinta);
  background:var(--kremm);
  -webkit-font-smoothing:antialiased;
}

img{max-width:100%;height:auto;display:block}

a{color:var(--zold-sotet);text-decoration:underline;text-underline-offset:.15em;text-decoration-thickness:1px}
a:hover{color:var(--zold)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--arany);outline-offset:2px;border-radius:3px}

h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.25;color:var(--zold-sotet);margin:0 0 .5em}
h1{font-size:clamp(1.9rem,1.3rem + 2.2vw,2.9rem);letter-spacing:-.01em}
h2{font-size:clamp(1.4rem,1.1rem + 1.1vw,1.9rem);margin-top:2.2em}
h3{font-size:1.16rem;color:var(--tinta);margin-top:1.8em}
h4{font-size:1rem;color:var(--szurke);text-transform:uppercase;letter-spacing:.08em;font-family:var(--sans);font-weight:700}
p{margin:0 0 1.1em}
strong{font-weight:650}

.burkolat{max-width:var(--szeles);margin:0 auto;padding:0 24px}
.keskeny{max-width:760px}

/* ---------- Fejléc ---------- */
.fejlec{
  background:var(--papir);
  border-bottom:1px solid var(--vonal);
  position:sticky;top:0;z-index:50;
}
.fejlec-belso{
  max-width:var(--szeles);margin:0 auto;padding:12px 24px;
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
}
.marka{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;flex:0 0 auto}
.marka img{width:38px}
.marka-szoveg{display:flex;flex-direction:column;line-height:1.15}
.marka-nev{font-family:var(--serif);font-size:1.02rem;font-weight:600;color:var(--zold-sotet)}
.marka-alnev{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--szurke)}

.menu-gomb{
  margin-left:auto;display:none;background:none;border:1px solid var(--vonal);
  border-radius:8px;padding:8px 12px;font:inherit;font-size:.9rem;cursor:pointer;color:var(--tinta);
}

.fomenu{margin-left:auto}
.fomenu ul{list-style:none;display:flex;gap:2px;margin:0;padding:0;flex-wrap:wrap}
.fomenu li{position:relative}
.fomenu a,.fomenu .almenu-cim{
  display:block;padding:9px 12px;font-size:.93rem;text-decoration:none;color:var(--tinta);
  border-radius:8px;white-space:nowrap;background:none;border:0;font-family:inherit;cursor:pointer;
}
.fomenu a:hover,.fomenu .almenu-cim:hover{background:var(--zold-vilagos);color:var(--zold-sotet)}
.fomenu a[aria-current="page"]{color:var(--zold-sotet);font-weight:650;box-shadow:inset 0 -2px 0 var(--arany)}
.almenu-cim::after{content:"▾";margin-left:6px;font-size:.75em;opacity:.6}
.fomenu .almenu-cim.aktiv{color:var(--zold-sotet);font-weight:650;box-shadow:inset 0 -2px 0 var(--arany)}

.fomenu .almenu{
  position:absolute;left:0;top:100%;min-width:250px;background:var(--papir);
  border:1px solid var(--vonal);border-radius:12px;box-shadow:var(--arnyek);
  padding:6px;display:none;flex-direction:column;
}
.fomenu li:hover>.almenu,.fomenu li:focus-within>.almenu,.fomenu li.nyitva>.almenu{display:block}
.fomenu .almenu li{width:100%}
.fomenu .almenu a{white-space:normal;font-size:.92rem}

/* ---------- Címsáv ---------- */
.fejsav{
  background:linear-gradient(160deg,#f3f7ef 0%,var(--arany-halvany) 100%);
  border-bottom:1px solid var(--vonal);
  padding:56px 0 44px;
}
.fejsav p.bevezeto{font-size:1.12rem;color:var(--szurke);max-width:62ch;margin:0}
.fejsav h1{margin-bottom:.35em}

/* ---------- Hero (főoldal) ---------- */
.hero{
  background:linear-gradient(155deg,#f1f6ec 0%,#faf7e6 55%,var(--kremm) 100%);
  border-bottom:1px solid var(--vonal);
  padding:64px 0 60px;
}
.hero-racs{display:grid;grid-template-columns:1fr 240px;gap:48px;align-items:center}
.hero h1{font-size:clamp(2rem,1.3rem + 2.6vw,3.1rem)}
.hero .mottó{font-size:1.2rem;color:var(--szurke);max-width:60ch}
.hero-logo{justify-self:center}
.hero-logo img{width:190px}

.gombsor{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.gomb{
  display:inline-block;padding:12px 22px;border-radius:999px;text-decoration:none;
  font-size:.95rem;font-weight:600;transition:.15s;
}
.gomb-elsodleges{background:var(--zold-sotet);color:#fff}
.gomb-elsodleges:hover{background:#26492e;color:#fff}
.gomb-masodlagos{background:transparent;color:var(--zold-sotet);box-shadow:inset 0 0 0 1.5px var(--zold-sotet)}
.gomb-masodlagos:hover{background:var(--zold-vilagos);color:var(--zold-sotet)}

/* ---------- Fő tartalom ---------- */
main{padding:52px 0 72px}
main > .burkolat > :first-child{margin-top:0}

.szekcio{margin-top:56px}

.vezeto{font-size:1.1rem;color:var(--szurke)}

/* ---------- Kártyák ---------- */
.kartyak{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;margin:28px 0}
.kartya{
  background:var(--papir);border:1px solid var(--vonal);border-radius:var(--radius);
  padding:24px;box-shadow:var(--arnyek);
}
.kartya h3{margin-top:0}
.kartya p:last-child{margin-bottom:0}
.kartya-link{display:block;text-decoration:none;color:inherit;transition:.15s}
.kartya-link:hover{border-color:var(--zold);transform:translateY(-2px);color:inherit}
.kartya-link .tovabb{color:var(--zold-sotet);font-weight:600;font-size:.92rem}
.kartya .tovabb{font-weight:600;font-size:.92rem;margin:.4em 0 0}
.kartya .tovabb a{color:var(--zold-sotet)}

/* ---------- Kiemelt doboz ---------- */
.kiemelt{
  background:var(--zold-vilagos);border-left:4px solid var(--zold);
  border-radius:0 var(--radius) var(--radius) 0;padding:22px 26px;margin:28px 0;
}
.kiemelt h3{margin-top:0}
.kiemelt p:last-child{margin-bottom:0}

.figyelem{
  background:var(--arany-halvany);border-left:4px solid var(--arany);
  border-radius:0 var(--radius) var(--radius) 0;padding:20px 24px;margin:28px 0;font-size:.97rem;
}
.figyelem p:last-child{margin-bottom:0}

/* ---------- Táblázat ---------- */
.tabla-doboz{
  overflow-x:auto;margin:26px 0;border:1px solid var(--vonal);border-radius:var(--radius);
  /* görgetési árnyék: csak azon az oldalon látszik, amerre még van tartalom */
  background:
    linear-gradient(to right, var(--papir) 40%, rgba(255,255,255,0)) left center/34px 100% no-repeat local,
    linear-gradient(to left,  var(--papir) 40%, rgba(255,255,255,0)) right center/34px 100% no-repeat local,
    radial-gradient(farthest-side at 0 50%, rgba(43,50,46,.16), rgba(43,50,46,0)) left center/12px 100% no-repeat scroll,
    radial-gradient(farthest-side at 100% 50%, rgba(43,50,46,.16), rgba(43,50,46,0)) right center/12px 100% no-repeat scroll,
    var(--papir);
}
.tabla-jelzes{
  display:none;margin:-16px 0 22px;font-size:.86rem;color:var(--szurke);
}
.tabla-jelzes::before{content:"↔ ";font-size:1.05em}
table{border-collapse:collapse;width:100%;min-width:560px;font-size:.95rem}
caption{text-align:left;padding:16px 18px 0;color:var(--szurke);font-size:.9rem}
th,td{padding:14px 18px;text-align:left;vertical-align:top;border-bottom:1px solid var(--vonal)}
thead th{background:var(--zold-vilagos);color:var(--zold-sotet);font-family:var(--sans);font-size:.86rem;text-transform:uppercase;letter-spacing:.06em}
tbody tr:last-child td{border-bottom:0}
td ul{margin:0;padding-left:1.1em}
td ul li{margin-bottom:.2em}

/* ---------- Személyek listája ---------- */
.szemelyek{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin:26px 0;list-style:none;padding:0}
.szemely{background:var(--papir);border:1px solid var(--vonal);border-radius:var(--radius);padding:20px 22px}
.szemely .nev{font-family:var(--serif);font-size:1.08rem;font-weight:600;color:var(--zold-sotet);display:block;margin-bottom:6px}
.szemely .vegzettseg{font-size:.93rem;color:var(--szurke);margin:0 0 8px}
.szemely .elerhetoseg{font-size:.9rem;margin:0}
.szemely .elerhetoseg span{display:block}

.nevsor{list-style:none;padding:0;margin:22px 0;columns:2;column-gap:36px}
.nevsor li{break-inside:avoid;padding:7px 0;border-bottom:1px solid var(--vonal)}
.nevsor li a{font-size:.9rem}

/* ---------- Program ---------- */
.program{list-style:none;padding:0;margin:24px 0}
.program > li{
  display:grid;grid-template-columns:132px 1fr;gap:20px;
  padding:18px 0;border-bottom:1px solid var(--vonal);
}
.program > li:last-child{border-bottom:0}
.program .ido{font-variant-numeric:tabular-nums;font-weight:650;color:var(--zold-sotet);font-size:.95rem}
.program .esemeny > strong{display:block;margin-bottom:4px}
.program .helyszin{font-size:.87rem;color:var(--szurke)}
.program ul{margin:.5em 0 0;padding-left:1.15em}
.program ul li{margin-bottom:.4em}

/* ---------- Konferencia fejléc ---------- */
.konf-fej{
  background:var(--papir);border:1px solid var(--vonal);border-radius:var(--radius);
  padding:26px 28px;margin:30px 0 10px;box-shadow:var(--arnyek);
}
.konf-fej h2{margin-top:0}
.konf-meta{display:flex;flex-wrap:wrap;gap:8px 22px;color:var(--szurke);font-size:.95rem;margin:0}
.cimke{
  display:inline-block;background:var(--zold-vilagos);color:var(--zold-sotet);
  font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  padding:4px 12px;border-radius:999px;margin-bottom:10px;
}
.cimke.mult{background:#eeece2;color:var(--szurke)}

/* ---------- Kiadványok ---------- */
.kiadvanyok{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;margin:30px 0}
.kiadvany{background:var(--papir);border:1px solid var(--vonal);border-radius:var(--radius);overflow:hidden;box-shadow:var(--arnyek);display:flex;flex-direction:column}
.kiadvany-kep{background:#f2f1ea;padding:22px;display:flex;justify-content:center}
.kiadvany-kep img{max-height:330px;width:auto;border-radius:6px;box-shadow:0 4px 18px rgba(43,50,46,.16)}
.kiadvany-szoveg{padding:22px 24px 26px}
.kiadvany-szoveg h3{margin-top:0}
.kiadvany-szoveg p:last-child{margin-bottom:0}
.kiadvany dl{margin:0;font-size:.92rem}
.kiadvany dt{color:var(--szurke);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;margin-top:10px}
.kiadvany dd{margin:2px 0 0}

/* ---------- Kapcsolat ---------- */
.kapcsolat-racs{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:22px;margin:28px 0}
.adatsor{list-style:none;padding:0;margin:0}
.adatsor li{padding:9px 0;border-bottom:1px solid var(--vonal);font-size:.96rem}
.adatsor li:last-child{border-bottom:0}
.adatsor .cimke-kicsi{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:var(--szurke)}

/* ---------- Lábléc ---------- */
.lablec{background:var(--zold-sotet);color:#dbe6d6;padding:52px 0 26px;margin-top:0}
.lablec a{color:#fff;text-decoration:none}
.lablec a:hover{text-decoration:underline;color:#fff}
.lablec-racs{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:38px}
.lablec h4{color:#fff;margin-bottom:.9em}
.lablec ul{list-style:none;padding:0;margin:0}
.lablec li{padding:4px 0;font-size:.93rem}
.lablec-marka{display:flex;gap:14px;align-items:flex-start}
.lablec-marka img{width:44px;filter:brightness(0) invert(1);opacity:.9}
.lablec-alj{
  border-top:1px solid rgba(255,255,255,.16);margin-top:38px;padding-top:18px;
  font-size:.85rem;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:#bdd0b8;
}

/* ---------- Kisegítő ---------- */
.ugras{position:absolute;left:-9999px}
.ugras:focus{position:static;display:inline-block;margin:8px;padding:8px 14px;background:var(--arany);color:var(--tinta);border-radius:8px}
.rejtett{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Reszponzív ---------- */
@media (max-width:900px){
  .hero-racs{grid-template-columns:1fr;gap:30px}
  .hero-logo{justify-self:flex-start}
  .hero-logo img{width:130px}
  .lablec-racs{grid-template-columns:1fr 1fr}
  .nevsor{columns:1}
}

@media (max-width:820px){
  .menu-gomb{display:block}
  .fomenu{display:none;width:100%;margin:10px 0 4px;order:3}
  .fomenu.nyitva{display:block}
  .fomenu ul{flex-direction:column;gap:0}
  .fomenu > ul > li{border-top:1px solid var(--vonal)}
  .fomenu a,.fomenu .almenu-cim{padding:12px 6px;font-size:1rem;width:100%;text-align:left}
  .fomenu .almenu{position:static;display:block;border:0;box-shadow:none;padding:0 0 8px 16px;min-width:0}
  .fomenu .almenu a{font-size:.94rem;padding:8px 6px}
  .fomenu .almenu-cim{display:none !important}
  .fomenu .almenu::before{content:attr(data-cim);display:block;padding:12px 6px 4px;font-size:.78rem;text-transform:uppercase;letter-spacing:.07em;color:var(--szurke)}
}

@media (max-width:640px){
  body{font-size:16px}
  .fejsav{padding:38px 0 32px}
  .hero{padding:44px 0 40px}
  main{padding:38px 0 56px}
  .program > li{grid-template-columns:1fr;gap:6px}
  .lablec-racs{grid-template-columns:1fr;gap:28px}
  .burkolat{padding:0 18px}
  .fejlec-belso{padding:10px 18px}
}

@media print{
  .fejlec,.lablec,.gombsor{display:none}
  body{background:#fff;font-size:11pt}
  a{text-decoration:none;color:#000}
}

/* ---------- Absztraktok (lenyíló) ---------- */
details{
  background:var(--papir);border:1px solid var(--vonal);border-radius:var(--radius);
  padding:2px 20px;margin:10px 0;
}
details[open]{box-shadow:var(--arnyek)}
summary{
  cursor:pointer;padding:14px 4px;font-size:.97rem;line-height:1.5;
  list-style-position:outside;
}
summary::marker{color:var(--zold)}
summary:hover{color:var(--zold-sotet)}
details p{font-size:.95rem}
details > p:last-child{margin-bottom:16px}

/* ---------- Konferenciaképek ---------- */
.kepsor{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px;margin:22px 0 8px}
.kepsor figure{margin:0;background:var(--papir);border:1px solid var(--vonal);border-radius:var(--radius);overflow:hidden;box-shadow:var(--arnyek);display:flex;flex-direction:column}
.kepsor .kepsor-kep{background:#f2f1ea;padding:16px;display:flex;justify-content:center;align-items:center;height:270px}
.kepsor img{max-width:100%;max-height:100%;width:auto;height:auto;border-radius:6px;box-shadow:0 4px 18px rgba(43,50,46,.16)}
.kepsor figcaption{padding:12px 18px 16px;font-size:.88rem;color:var(--szurke);line-height:1.5;flex:1}
@media (max-width:520px){.kepsor .kepsor-kep{height:300px}}

/* ---------- Reszponzív finomítások ---------- */
@media (max-width:900px){
  /* a görgethető táblázatok alá kiírt jelzés (JS teszi ki, ha tényleg görgethető) */
  .tabla-jelzes.latszik{display:block}

  /* nagyobb koppintási felület az önálló sorban álló elérhetőségeknek */
  .adatsor a{display:inline-block;padding:12px 0;line-height:1.35}
  .adatsor li{padding:5px 0}
  .szemely .elerhetoseg a{display:inline-block;padding:13px 0;line-height:1.35}
  .szemely .elerhetoseg span{margin:-4px 0}
}
