/*
  -=====================================================¬
  ¦  Készítette: KexDesign – www.kexdesign.hu           ¦
  ¦  Weboldal készítés és szerver szolgáltatás, Siófok  ¦
  ¦                                                     ¦
  ¦  © 2026 KexDesign. Minden jog fenntartva.           ¦
  L=====================================================-
*/

/* ============ 1. Alapok, tokenek ============ */
:root{
  --nap:#F6B800;          /* napsárga */
  --nap-vil:#FFD34E;      /* világos arany */
  --borostyan:#D98200;    /* borostyán */
  --irisz:#4B7A45;        /* íriszzöld */
  --irisz-vil:#6E9C66;
  --tinta:#241C12;        /* meleg tintabarna */
  --tinta-70:#5A4E3F;
  --tinta-45:#8B7F6E;
  --krem:#FFF8EC;
  --krem-2:#FDF1DC;
  --vonal:#EADFC9;
  --feher:#FFFFFF;

  --fejlec-h:78px;
  --fejlec-h-kicsi:62px;

  --max:1280px;
  --r-s:6px;
  --r-m:12px;
  --r-l:20px;

  --arny-1:0 2px 10px rgba(36,28,18,.07);
  --arny-2:0 14px 40px rgba(36,28,18,.13);
  --arny-3:0 24px 60px rgba(36,28,18,.20);

  --serif:"EB Garamond",Garamond,Georgia,"Times New Roman",serif;
  --sans:"Karla","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}

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

html{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--fejlec-h) + 20px);
}

body{
  margin:0;
  font-family:var(--sans);
  font-size:17px;
  line-height:1.72;
  color:var(--tinta-70);
  background:var(--feher);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  -webkit-tap-highlight-color:rgba(246,184,0,.22);
}

body.zar{overflow:hidden}

img{max-width:100%;height:auto;display:block;border:0}
a{color:var(--borostyan);text-decoration:none;transition:color .25s ease}
a:hover{color:var(--tinta)}
button{font-family:inherit}

h1,h2,h3,h4,h5{
  font-family:var(--serif);
  color:var(--tinta);
  font-weight:600;
  line-height:1.18;
  margin:0 0 .5em;
  letter-spacing:.004em;
}
h1{font-size:clamp(2rem,1.35rem + 2.6vw,3.35rem)}
h2{font-size:clamp(1.6rem,1.18rem + 1.7vw,2.5rem)}
h3{font-size:clamp(1.22rem,1.08rem + .6vw,1.6rem)}
h4{font-size:1.16rem}
p{margin:0 0 1.1em}
p:last-child{margin-bottom:0}

::selection{background:var(--nap);color:var(--tinta)}

:focus-visible{
  outline:3px solid var(--borostyan);
  outline-offset:3px;
  border-radius:3px;
}

.tarolo{width:100%;max-width:var(--max);margin:0 auto;padding:0 22px}
.tarolo-szuk{width:100%;max-width:880px;margin:0 auto;padding:0 22px}

.rejt{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;
}

.ugras{
  position:absolute;left:-9999px;top:0;z-index:2000;
  background:var(--tinta);color:#fff;padding:12px 20px;border-radius:0 0 8px 0;
}
.ugras:focus{left:0;color:#fff}

/* ============ 2. Infósáv ============ */
.infosav{
  background:linear-gradient(100deg,#2C2116 0%,#3A2C1B 52%,#4A3720 100%);
  color:#F2E6D0;
  font-size:14px;
  line-height:1.5;
  position:relative;
  z-index:60;
}
.infosav .tarolo{
  display:flex;align-items:center;justify-content:space-between;
  gap:14px;min-height:42px;flex-wrap:wrap;padding-top:6px;padding-bottom:6px;
}
.infosav-bal{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.infosav-jobb{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.infosav a{color:#F2E6D0;display:inline-flex;align-items:center;gap:8px}
.infosav a:hover{color:var(--nap-vil)}
.infosav .ikon{width:15px;height:15px;flex:none;color:var(--nap)}
.infosav .elem{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.infosav .elem .ikon{color:var(--nap)}
.infosav-cim{color:#C9BBA3}

/* ============ 3. Fejléc + navigáció ============ */
.fejlec{
  position:sticky;top:0;z-index:200;
  background:rgba(255,255,255,.97);
  backdrop-filter:saturate(160%) blur(10px);
  -webkit-backdrop-filter:saturate(160%) blur(10px);
  border-bottom:1px solid var(--vonal);
  transition:box-shadow .3s ease,background .3s ease;
}
.fejlec.gorgetve{box-shadow:0 6px 26px rgba(36,28,18,.11)}
.fejlec .tarolo{
  display:flex;align-items:center;gap:16px;
  max-width:1460px;
  height:var(--fejlec-h);transition:height .3s ease;
}
.fejlec.gorgetve .tarolo{height:var(--fejlec-h-kicsi)}

.logo{display:flex;align-items:center;flex:none;margin-right:4px}
.logo img{
  width:auto;height:46px;transition:height .3s ease,transform .35s ease;
}
.fejlec.gorgetve .logo img{height:38px}
.logo:hover img{transform:translateY(-2px)}

.fonav{display:none;flex:1 1 auto;min-width:0}
.fonav>ul{
  display:flex;align-items:center;gap:0;flex-wrap:nowrap;
  list-style:none;margin:0;padding:0;
}
.fonav>ul>li{position:relative}
.fonav>ul>li>a{
  display:flex;align-items:center;gap:6px;
  padding:9px 10px;border-radius:8px;
  font-size:14.2px;font-weight:600;letter-spacing:0;
  color:var(--tinta);white-space:nowrap;position:relative;
  transition:color .22s ease,background .22s ease;
}
.fonav>ul>li>a::after{
  content:"";position:absolute;left:10px;right:10px;bottom:4px;height:2px;
  background:var(--nap);transform:scaleX(0);transform-origin:left;
  transition:transform .28s cubic-bezier(.4,0,.2,1);border-radius:2px;
}
.fonav>ul>li>a:hover,
.fonav>ul>li.aktiv>a{color:var(--borostyan)}
.fonav>ul>li>a:hover::after,
.fonav>ul>li.aktiv>a::after{transform:scaleX(1)}
.fonav .nyil{width:9px;height:9px;opacity:.5;transition:transform .28s ease}
.fonav>ul>li:hover .nyil{transform:rotate(180deg);opacity:.9}

/* legördülő */
.almenu{
  position:absolute;top:calc(100% + 6px);left:0;
  min-width:250px;padding:10px;margin:0;list-style:none;
  background:#fff;border:1px solid var(--vonal);border-radius:14px;
  box-shadow:var(--arny-2);
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity .24s ease,transform .24s ease,visibility .24s;
}
.fonav li:hover>.almenu,
.fonav li:focus-within>.almenu{opacity:1;visibility:visible;transform:translateY(0)}
.almenu li a{
  display:block;padding:9px 13px;border-radius:8px;
  font-size:15px;color:var(--tinta);line-height:1.45;
  transition:background .2s ease,color .2s ease,padding-left .2s ease;
}
.almenu li a:hover{background:var(--krem-2);color:var(--borostyan);padding-left:19px}

/* mega menü */
.mega{
  left:50%;transform:translate(-50%,10px);
  width:min(960px,calc(100vw - 60px));
  padding:22px 20px 18px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:4px 18px;
}
.fonav li:hover>.mega,
.fonav li:focus-within>.mega{transform:translate(-50%,0)}
.mega .mega-cim{
  grid-column:1/-1;display:flex;align-items:center;gap:12px;
  font-family:var(--serif);font-size:1.05rem;color:var(--tinta);
  margin:0 0 8px;padding:0 13px 10px;border-bottom:1px solid var(--vonal);
}
.mega .mega-cim span{color:var(--tinta-45);font-family:var(--sans);font-size:13px}
.mega li a{font-size:14.5px;padding:7px 13px}

/* hamburger */
.hamb{
  flex:none;margin-left:auto;
  width:46px;height:46px;border:1px solid var(--vonal);background:var(--krem);
  border-radius:12px;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:5px;cursor:pointer;
  transition:background .25s ease,border-color .25s ease,transform .25s ease;
}
.hamb:hover{background:var(--nap);border-color:var(--nap);transform:translateY(-2px)}
.hamb span{
  display:block;width:21px;height:2px;background:var(--tinta);border-radius:2px;
  transition:transform .3s ease,opacity .25s ease;
}
.hamb[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamb[aria-expanded="true"] span:nth-child(2){opacity:0}
.hamb[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ============ 4. Oldalsó teljes menü ============ */
.fatyol{
  position:fixed;inset:0;background:rgba(28,21,13,.55);
  opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s;
  z-index:400;
}
.fatyol.nyit{opacity:1;visibility:visible}

.oldalmenu{
  position:fixed;top:0;right:0;height:100%;
  width:min(400px,88vw);
  background:var(--feher);z-index:500;
  transform:translateX(102%);
  transition:transform .42s cubic-bezier(.33,1,.68,1);
  display:flex;flex-direction:column;
  box-shadow:-18px 0 50px rgba(36,28,18,.22);
}
.oldalmenu.nyit{transform:translateX(0)}
.oldalmenu-fej{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:16px 18px;border-bottom:1px solid var(--vonal);flex:none;
  background:var(--krem);
}
.oldalmenu-fej img{height:38px;width:auto}
.bezar{
  width:44px;height:44px;border-radius:11px;border:1px solid var(--vonal);
  background:#fff;color:var(--tinta);font-size:22px;line-height:1;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .22s ease,color .22s ease,transform .22s ease;
}
.bezar:hover{background:var(--tinta);color:#fff;transform:rotate(90deg)}

.oldalmenu-test{
  flex:1 1 auto;overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:10px 12px calc(24px + env(safe-area-inset-bottom));
  overscroll-behavior:contain;
}
.oldalmenu ul{list-style:none;margin:0;padding:0}
.oldalmenu>.oldalmenu-test>ul>li{border-bottom:1px solid var(--krem-2)}
.oldalmenu .sor{display:flex;align-items:stretch}
.oldalmenu .sor>a{
  flex:1 1 auto;padding:13px 10px;font-size:16px;font-weight:600;color:var(--tinta);
  line-height:1.4;
}
.oldalmenu .sor>a:hover{color:var(--borostyan)}
.oldalmenu li.aktiv>.sor>a{color:var(--borostyan)}
.nyito{
  flex:none;width:48px;border:0;background:transparent;cursor:pointer;
  color:var(--tinta-45);display:flex;align-items:center;justify-content:center;
}
.nyito svg{width:14px;height:14px;transition:transform .3s ease}
.nyito[aria-expanded="true"] svg{transform:rotate(180deg);color:var(--borostyan)}
.almenu-m{
  display:none;padding:2px 0 12px 14px;
  border-left:2px solid var(--nap);margin:0 0 10px 6px;
}
.almenu-m.nyit{display:block}
.almenu-m a{
  display:block;padding:8px 10px;font-size:15px;color:var(--tinta-70);border-radius:7px;
}
.almenu-m a:hover{background:var(--krem-2);color:var(--borostyan)}

.oldalmenu-lab{
  flex:none;padding:16px 18px calc(18px + env(safe-area-inset-bottom));
  border-top:1px solid var(--vonal);background:var(--krem);font-size:14.5px;
}
.oldalmenu-lab a{display:flex;align-items:center;gap:9px;padding:5px 0;color:var(--tinta)}
.oldalmenu-lab a:hover{color:var(--borostyan)}
.oldalmenu-lab .ikon{width:16px;height:16px;color:var(--borostyan);flex:none}

/* ============ 5. Gombok ============ */
.gomb{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:14px 28px;border-radius:999px;border:2px solid transparent;
  font-family:var(--sans);font-size:15.5px;font-weight:700;letter-spacing:.01em;
  cursor:pointer;text-align:center;
  transition:transform .28s cubic-bezier(.34,1.4,.64,1),box-shadow .28s ease,
             background .28s ease,color .28s ease,border-color .28s ease;
}
.gomb .ikon{width:17px;height:17px;flex:none}
.gomb-fo{
  background:var(--nap);color:var(--tinta);
  box-shadow:0 8px 22px rgba(246,184,0,.42);
}
.gomb-fo:hover{
  background:var(--tinta);color:var(--nap-vil);
  transform:translateY(-3px);box-shadow:0 14px 30px rgba(36,28,18,.3);
}
.gomb-ures{background:transparent;color:var(--tinta);border-color:var(--tinta)}
.gomb-ures:hover{background:var(--tinta);color:#fff;transform:translateY(-3px)}
.gomb-vilagos{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.75)}
.gomb-vilagos:hover{background:#fff;color:var(--tinta);transform:translateY(-3px)}
.gomb-kicsi{padding:10px 20px;font-size:14px}

/* ============ 6. Diavetítés (főoldal) ============ */
.dia{
  position:relative;width:100%;
  height:clamp(430px,62vh,640px);
  overflow:hidden;background:#2C2116;
}
.dia-elem{
  position:absolute;inset:0;opacity:0;
  transition:opacity 1.1s ease;
  will-change:opacity;
}
.dia-elem.aktiv{opacity:1;z-index:2}
.dia-kep{
  position:absolute;inset:0;
  background-size:cover;background-position:center;
  transform:scale(1.06);
  transition:transform 9s linear;
}
.dia-elem.aktiv .dia-kep{transform:scale(1)}
.dia-fatyol{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(26,19,10,.68) 0%,rgba(26,19,10,.42) 46%,rgba(26,19,10,.20) 100%),
    linear-gradient(180deg,rgba(26,19,10,.24) 0%,rgba(26,19,10,.10) 45%,rgba(26,19,10,.44) 100%),
    linear-gradient(118deg,rgba(246,184,0,.13) 0%,rgba(217,130,0,.05) 55%,rgba(246,184,0,.10) 100%);
}
.dia-szoveg{
  position:relative;z-index:3;height:100%;
  display:flex;align-items:center;
}
.dia-doboz{max-width:660px;color:#fff;padding:20px 0}
.dia-vonal{
  width:58px;height:3px;background:var(--nap);border-radius:3px;margin-bottom:20px;
  transform:scaleX(0);transform-origin:left;
}
.dia-elem.aktiv .dia-vonal{transform:scaleX(1);transition:transform .8s ease .25s}
.dia-doboz h1,.dia-doboz h2{
  color:#fff;font-size:clamp(2rem,1.3rem + 3vw,3.5rem);
  margin:0 0 16px;text-shadow:0 3px 22px rgba(0,0,0,.35);line-height:1.12;
}
.dia-doboz p{
  font-size:clamp(1rem,.94rem + .35vw,1.18rem);
  color:#F6EEE0;max-width:56ch;margin:0 0 26px;
  text-shadow:0 2px 14px rgba(0,0,0,.4);
}
.dia-doboz .gombok{display:flex;gap:14px;flex-wrap:wrap}
.dia-elem.aktiv .dia-doboz>*{animation:beuszik .9s cubic-bezier(.22,1,.36,1) both}
.dia-elem.aktiv .dia-doboz>*:nth-child(2){animation-delay:.12s}
.dia-elem.aktiv .dia-doboz>*:nth-child(3){animation-delay:.22s}
.dia-elem.aktiv .dia-doboz>*:nth-child(4){animation-delay:.32s}
@keyframes beuszik{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}

.dia-nyil{
  position:absolute;top:50%;transform:translateY(-50%);z-index:6;
  width:50px;height:50px;border-radius:50%;
  border:1px solid rgba(255,255,255,.5);background:rgba(26,19,10,.28);
  color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;
  backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);
  transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease;
}
.dia-nyil:hover{background:var(--nap);color:var(--tinta);border-color:var(--nap);transform:translateY(-50%) scale(1.08)}
.dia-nyil svg{width:17px;height:17px}
.dia-nyil.bal{left:18px}
.dia-nyil.jobb{right:18px}

.dia-pontok{
  position:absolute;left:0;right:0;bottom:22px;z-index:6;
  display:flex;justify-content:center;gap:10px;
}
.dia-pontok button{
  width:34px;height:4px;border-radius:4px;border:0;cursor:pointer;padding:0;
  background:rgba(255,255,255,.42);transition:background .25s ease,width .25s ease;
}
.dia-pontok button.aktiv{background:var(--nap);width:52px}

/* ============ 7. Szekciók, fejlécek ============ */
.szek{padding:clamp(56px,7vw,96px) 0}
.szek-krem{background:var(--krem)}
.szek-tinta{background:var(--tinta);color:#D9CDBA}
.szek-tinta h2,.szek-tinta h3{color:#fff}

.szek-fej{max-width:720px;margin:0 0 42px}
.szek-fej.kozep{margin-left:auto;margin-right:auto;text-align:center}
.szek-fej .cimke{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--serif);font-size:1.06rem;font-style:italic;
  color:var(--borostyan);margin-bottom:10px;
}
.szek-fej .cimke::before{
  content:"";width:26px;height:2px;background:var(--nap);border-radius:2px;
}
.szek-fej.kozep .cimke::after{
  content:"";width:26px;height:2px;background:var(--nap);border-radius:2px;
}
.szek-fej h2{margin-bottom:14px}
.szek-fej p{font-size:1.05rem;color:var(--tinta-70)}

/* ============ 8. Belső oldalfej ============ */
.oldalfej{
  position:relative;overflow:hidden;background:#2C2116;
  padding:clamp(54px,7vw,88px) 0 clamp(46px,6vw,72px);
}
.oldalfej-kep{
  position:absolute;inset:0;background-size:cover;background-position:center;
  opacity:.5;
}
.oldalfej::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(92deg,rgba(28,20,11,.86) 0%,rgba(28,20,11,.62) 60%,rgba(28,20,11,.44) 100%);
}
.oldalfej .tarolo{position:relative;z-index:2}
.oldalfej h1{color:#fff;margin:0 0 12px;max-width:22ch}
.oldalfej p{color:#EFE2CE;max-width:62ch;font-size:1.06rem;margin:0}
.morzsa{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  font-size:13.5px;color:#C6B79F;margin:0 0 16px;padding:0;list-style:none;
}
.morzsa a{color:#C6B79F}
.morzsa a:hover{color:var(--nap-vil)}
.morzsa li{display:flex;align-items:center;gap:8px}
.morzsa li+li::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--nap);opacity:.7}
.morzsa [aria-current]{color:#fff}

/* ============ 9. Szövegtörzs ============ */
.torzs{font-size:17.5px;line-height:1.82}
.torzs>h2{margin-top:1.9em}
.torzs>h2:first-child{margin-top:0}
.torzs>h3{margin-top:1.6em;color:var(--tinta)}
.torzs p{margin-bottom:1.15em}
.torzs ul,.torzs ol{margin:0 0 1.4em;padding-left:0;list-style:none}
.torzs ol{counter-reset:sz}
.torzs ul>li{position:relative;padding-left:30px;margin-bottom:.6em}
.torzs ul>li::before{
  content:"";position:absolute;left:4px;top:.72em;
  width:9px;height:9px;border-radius:50%;
  background:var(--nap);box-shadow:0 0 0 3px rgba(246,184,0,.22);
}
.torzs ol>li{position:relative;padding-left:38px;margin-bottom:.6em;counter-increment:sz}
.torzs ol>li::before{
  content:counter(sz);position:absolute;left:0;top:.1em;
  width:26px;height:26px;border-radius:50%;
  background:var(--krem-2);color:var(--borostyan);
  font-family:var(--serif);font-size:14px;font-weight:600;
  display:flex;align-items:center;justify-content:center;
}
.torzs strong{color:var(--tinta);font-weight:700}
.torzs blockquote{
  margin:1.8em 0;padding:6px 0 6px 26px;border-left:3px solid var(--nap);
  font-family:var(--serif);font-size:1.32rem;line-height:1.5;color:var(--tinta);
  font-style:italic;
}
.torzs figure{margin:2em 0}
.torzs figure img{border-radius:var(--r-m);box-shadow:var(--arny-1)}
.torzs figcaption{font-size:14px;color:var(--tinta-45);margin-top:10px}
.torzs hr{border:0;border-top:1px solid var(--vonal);margin:2.4em 0}

.bevezeto{
  font-family:var(--serif);font-size:clamp(1.2rem,1.05rem + .6vw,1.5rem);
  line-height:1.55;color:var(--tinta);margin:0 0 1.5em;
}

.kep-jobb{float:right;width:min(380px,42%);margin:6px 0 24px 30px}
.kep-bal{float:left;width:min(380px,42%);margin:6px 30px 24px 0}
.kep-jobb img,.kep-bal img{border-radius:var(--r-m);box-shadow:var(--arny-1)}

/* kiemelt doboz */
.kiemelo{
  background:var(--krem);border:1px solid var(--vonal);
  border-left:4px solid var(--nap);
  border-radius:0 var(--r-m) var(--r-m) 0;
  padding:24px 26px;margin:2em 0;
}
.kiemelo h3{margin-top:0;font-size:1.24rem}
.kiemelo.zold{border-left-color:var(--irisz);background:#F4F8F2;border-color:#DCE8D8}

/* ============ 10. Kártyarácsok ============ */
.racs{display:grid;gap:26px}
.racs-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.racs-3{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.racs-4{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}

.kartya{
  background:#fff;border:1px solid var(--vonal);border-radius:var(--r-l);
  overflow:hidden;display:flex;flex-direction:column;
  transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,border-color .35s ease;
}
.kartya:hover{transform:translateY(-7px);box-shadow:var(--arny-2);border-color:var(--nap)}
.kartya-kep{position:relative;overflow:hidden;aspect-ratio:16/10;background:var(--krem-2)}
.kartya-kep img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1)}
.kartya:hover .kartya-kep img{transform:scale(1.07)}
.kartya-test{padding:24px;display:flex;flex-direction:column;flex:1 1 auto}
.kartya-test h3{margin-bottom:10px;font-size:1.3rem}
.kartya-test p{font-size:15.6px;line-height:1.68;margin-bottom:18px}
.kartya-link{
  margin-top:auto;display:inline-flex;align-items:center;gap:8px;
  font-weight:700;font-size:14.5px;color:var(--borostyan);
}
.kartya-link svg{width:13px;height:13px;transition:transform .3s ease}
.kartya:hover .kartya-link svg{transform:translateX(5px)}

/* ikonos kártya */
.ikartya{
  background:#fff;border:1px solid var(--vonal);border-radius:var(--r-l);
  padding:30px 26px;
  transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s ease,border-color .35s ease;
}
.ikartya:hover{transform:translateY(-6px);box-shadow:var(--arny-2);border-color:var(--nap)}
.ikartya .karika{
  width:56px;height:56px;border-radius:50%;
  background:var(--krem-2);color:var(--borostyan);
  display:flex;align-items:center;justify-content:center;margin-bottom:18px;
  transition:background .35s ease,color .35s ease,transform .45s ease;
}
.ikartya:hover .karika{background:var(--nap);color:var(--tinta);transform:rotate(-8deg) scale(1.06)}
.ikartya .karika svg{width:26px;height:26px}
.ikartya h3{font-size:1.22rem;margin-bottom:10px}
.ikartya p{font-size:15.4px;line-height:1.68}

/* egyszerű listakártya (terápiák) */
.tlista{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(270px,1fr))}
.tlista a{
  display:flex;align-items:center;gap:14px;
  background:#fff;border:1px solid var(--vonal);border-radius:var(--r-m);
  padding:16px 18px;color:var(--tinta);font-weight:600;font-size:15.4px;line-height:1.35;
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease,background .3s ease;
}
.tlista a:hover{
  transform:translateX(5px);border-color:var(--nap);background:var(--krem);
  box-shadow:var(--arny-1);color:var(--borostyan);
}
.tlista .pont{
  flex:none;width:9px;height:9px;border-radius:50%;background:var(--nap);
  box-shadow:0 0 0 4px rgba(246,184,0,.2);transition:box-shadow .3s ease;
}
.tlista a:hover .pont{box-shadow:0 0 0 6px rgba(246,184,0,.3)}

/* ============ 11. Harmonika ============ */
.harmonika{border-top:1px solid var(--vonal)}
.harmonika-elem{border-bottom:1px solid var(--vonal)}
.harmonika-fej{
  width:100%;display:flex;align-items:flex-start;gap:16px;
  padding:18px 4px;background:transparent;border:0;cursor:pointer;text-align:left;
  font-family:var(--serif);font-size:1.14rem;font-weight:600;color:var(--tinta);
  line-height:1.35;transition:color .25s ease;
}
.harmonika-fej:hover{color:var(--borostyan)}
.harmonika-szam{
  flex:none;width:30px;height:30px;border-radius:50%;margin-top:1px;
  background:var(--krem-2);color:var(--borostyan);
  font-family:var(--sans);font-size:13px;font-weight:700;
  display:flex;align-items:center;justify-content:center;
  transition:background .3s ease,color .3s ease;
}
.harmonika-elem.nyit .harmonika-szam{background:var(--nap);color:var(--tinta)}
.harmonika-fej .jel{
  margin-left:auto;flex:none;width:14px;height:14px;color:var(--tinta-45);
  transition:transform .35s ease,color .3s ease;
}
.harmonika-elem.nyit .jel{transform:rotate(180deg);color:var(--borostyan)}
.harmonika-test{
  overflow:hidden;max-height:0;
  transition:max-height .4s cubic-bezier(.4,0,.2,1);
}
.harmonika-test>div{padding:0 4px 20px 46px;font-size:16px;line-height:1.75}

/* ============ 12. Galéria ============ */
.galeria{
  display:grid;gap:14px;
  grid-template-columns:repeat(auto-fill,minmax(230px,1fr));
}
.galeria.harom{grid-template-columns:repeat(auto-fill,minmax(330px,1fr))}
.galeria a{
  position:relative;display:block;overflow:hidden;border-radius:var(--r-m);
  aspect-ratio:4/3;background:var(--krem-2);
}
.galeria img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.22,1,.36,1)}
.galeria a::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(36,28,18,0) 45%,rgba(36,28,18,.62) 100%);
  opacity:0;transition:opacity .35s ease;
}
.galeria a:hover img{transform:scale(1.08)}
.galeria a:hover::after{opacity:1}
.galeria .nagyit{
  position:absolute;right:12px;bottom:12px;z-index:2;
  width:38px;height:38px;border-radius:50%;background:var(--nap);color:var(--tinta);
  display:flex;align-items:center;justify-content:center;
  opacity:0;transform:translateY(10px) scale(.85);
  transition:opacity .35s ease,transform .35s ease;
}
.galeria a:hover .nagyit{opacity:1;transform:none}
.galeria .nagyit svg{width:16px;height:16px}

.lightbox{
  position:fixed;inset:0;z-index:900;background:rgba(20,14,7,.94);
  display:none;align-items:center;justify-content:center;padding:26px;
}
.lightbox.nyit{display:flex}
.lightbox img{max-width:94vw;max-height:84vh;border-radius:8px;box-shadow:var(--arny-3)}
.lightbox .lb-zar,.lightbox .lb-nyil{
  position:absolute;width:48px;height:48px;border-radius:50%;
  border:1px solid rgba(255,255,255,.34);background:rgba(255,255,255,.09);color:#fff;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  transition:background .25s ease,color .25s ease;
}
.lightbox .lb-zar:hover,.lightbox .lb-nyil:hover{background:var(--nap);color:var(--tinta)}
.lightbox .lb-zar{top:22px;right:22px;font-size:24px;line-height:1}
.lightbox .lb-nyil svg{width:17px;height:17px}
.lightbox .lb-elore{right:22px;top:50%;transform:translateY(-50%)}
.lightbox .lb-vissza{left:22px;top:50%;transform:translateY(-50%)}
.lightbox .lb-felirat{
  position:absolute;left:0;right:0;bottom:22px;text-align:center;
  color:#E6D8C2;font-size:14.5px;padding:0 70px;
}

/* ============ 13. Árak ============ */
.ar-tabla{width:100%;border-collapse:collapse;margin:0 0 2em;font-size:16.4px}
.ar-tabla caption{
  text-align:left;font-family:var(--serif);font-size:1.42rem;color:var(--tinta);
  padding:0 0 14px;font-weight:600;
}
.ar-tabla th,.ar-tabla td{padding:14px 16px;border-bottom:1px solid var(--vonal);vertical-align:top}
.ar-tabla th{
  text-align:left;font-family:var(--sans);font-size:13px;font-weight:700;
  color:var(--tinta-45);letter-spacing:.05em;
}
.ar-tabla tbody tr{transition:background .25s ease}
.ar-tabla tbody tr:hover{background:var(--krem)}
.ar-tabla td:last-child{
  text-align:right;white-space:nowrap;font-weight:700;color:var(--tinta);
  font-variant-numeric:tabular-nums;
}
.tabla-keret{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:2em}

/* ============ 14. Kapcsolat ============ */
.kapcs-racs{display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}
.kapcs-elem{display:flex;gap:16px;align-items:flex-start;margin-bottom:22px}
.kapcs-elem .karika{
  flex:none;width:46px;height:46px;border-radius:50%;
  background:var(--krem-2);color:var(--borostyan);
  display:flex;align-items:center;justify-content:center;
  transition:background .3s ease,color .3s ease;
}
.kapcs-elem:hover .karika{background:var(--nap);color:var(--tinta)}
.kapcs-elem .karika svg{width:20px;height:20px}
.kapcs-elem h3{font-size:1.04rem;margin:0 0 3px;font-family:var(--sans);font-weight:700}
.kapcs-elem p,.kapcs-elem a{margin:0;font-size:16px;color:var(--tinta-70);line-height:1.6}
.kapcs-elem a:hover{color:var(--borostyan)}

.terkep{
  border-radius:var(--r-l);overflow:hidden;border:1px solid var(--vonal);
  box-shadow:var(--arny-1);line-height:0;background:var(--krem-2);
}
.terkep iframe{width:100%;height:420px;border:0;display:block}
.terkep-alatt{
  margin-top:14px;font-size:14.5px;color:var(--tinta-45);
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
}
.terkep-alatt a{font-weight:700;color:var(--borostyan)}

/* ============ 15. Videó ============ */
.video{
  position:relative;padding-bottom:56.25%;height:0;overflow:hidden;
  border-radius:var(--r-l);box-shadow:var(--arny-2);background:#1A130A;
}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* ============ 16. CTA sáv ============ */
.cta{
  position:relative;overflow:hidden;
  background:linear-gradient(104deg,var(--nap) 0%,var(--nap-vil) 42%,var(--borostyan) 100%);
  padding:clamp(48px,6vw,76px) 0;
}
.cta::before{
  content:"";position:absolute;right:-90px;top:-110px;
  width:380px;height:380px;border-radius:50%;
  border:44px solid rgba(255,255,255,.16);
}
.cta::after{
  content:"";position:absolute;left:-70px;bottom:-130px;
  width:260px;height:260px;border-radius:50%;
  border:30px solid rgba(36,28,18,.07);
}
.cta .tarolo{position:relative;z-index:2}
.cta-belso{
  display:flex;align-items:center;justify-content:space-between;
  gap:34px;flex-wrap:wrap;
}
.cta h2{margin:0 0 8px;color:var(--tinta)}
.cta p{margin:0;color:#4A3A1E;font-size:1.08rem;max-width:56ch}
.cta .gombok{display:flex;gap:14px;flex-wrap:wrap}
.cta .gomb-fo{background:var(--tinta);color:var(--nap-vil);box-shadow:0 10px 26px rgba(36,28,18,.28)}
.cta .gomb-fo:hover{background:#fff;color:var(--tinta)}
.cta .gomb-ures{border-color:var(--tinta);color:var(--tinta)}
.cta .gomb-ures:hover{background:var(--tinta);color:#fff}

/* ============ 17. Statisztika ============ */
.statok{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.stat{
  padding:26px 22px;border-radius:var(--r-l);
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.13);
  transition:transform .35s ease,background .35s ease,border-color .35s ease;
}
.stat:hover{transform:translateY(-6px);background:rgba(246,184,0,.12);border-color:rgba(246,184,0,.4)}
.stat .ertek{
  font-family:var(--serif);font-size:2.5rem;line-height:1;color:var(--nap);
  display:block;margin-bottom:8px;
}
.stat .felirat{font-size:14.8px;color:#CBBCA6;line-height:1.5}

/* ============ 18. Lábléc ============ */
.lablec{background:var(--tinta);color:#BDAF9B;padding:clamp(48px,6vw,72px) 0 0;font-size:15.4px}
.lablec a{color:#BDAF9B}
.lablec a:hover{color:var(--nap-vil)}
.lablec-racs{
  display:grid;gap:36px;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  padding-bottom:38px;
}
.lablec h4{
  color:#fff;font-family:var(--sans);font-size:14px;font-weight:700;
  letter-spacing:.06em;margin:0 0 18px;
}
.lablec-logo img{height:50px;width:auto;margin-bottom:18px;filter:brightness(0) invert(1);opacity:.94}
.lablec ul{list-style:none;margin:0;padding:0}
.lablec ul li{margin-bottom:9px;line-height:1.55}
.lablec ul a{display:inline-flex;align-items:center;gap:8px;transition:transform .25s ease,color .25s ease}
.lablec ul a:hover{transform:translateX(4px)}
.lablec .elerheto{display:flex;gap:11px;align-items:flex-start;margin-bottom:13px}
.lablec .elerheto .ikon{width:17px;height:17px;color:var(--nap);flex:none;margin-top:4px}

.lablec-sor{
  border-top:1px solid rgba(255,255,255,.1);
  padding:20px 0;text-align:center;
}
.lablec-sor .linkek{
  display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;
  font-weight:700;color:#fff;
}
.lablec-sor .linkek a{color:#fff}
.lablec-sor .linkek a:hover{color:var(--nap)}
.lablec-sor .valaszto{color:var(--nap);opacity:.75}

/* 1 pixeles csíkkal elválasztott alsó footer */
.zaro{
  border-top:1px solid rgba(255,255,255,.16);
  background:#1B140C;
  padding:16px 0 calc(16px + env(safe-area-inset-bottom));
  font-size:14px;color:#9C8F7C;
}
.zaro .tarolo{
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;flex-wrap:wrap;
}
.zaro a{color:var(--nap);font-weight:700}
.zaro a:hover{color:#fff}

/* ============ 19. Fel gomb ============ */
.felgomb{
  position:fixed;right:20px;
  bottom:calc(20px + env(safe-area-inset-bottom));
  z-index:300;width:50px;height:50px;border-radius:50%;
  border:0;cursor:pointer;background:var(--nap);color:var(--tinta);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 24px rgba(36,28,18,.26);
  opacity:0;visibility:hidden;transform:translateY(16px);
  transition:opacity .35s ease,transform .35s ease,visibility .35s,background .25s ease,color .25s ease;
}
.felgomb.lathato{opacity:1;visibility:visible;transform:none}
.felgomb:hover{background:var(--tinta);color:var(--nap)}
.felgomb svg{width:18px;height:18px}

/* ============ 20. Egyéb apróságok ============ */
.jelolt{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}
.jelolt .pipa{
  flex:none;width:22px;height:22px;border-radius:50%;margin-top:3px;
  background:var(--irisz);color:#fff;display:flex;align-items:center;justify-content:center;
}
.jelolt .pipa svg{width:12px;height:12px}

.rejtett-mobil{display:none}

.figyelem{
  background:#FFF6E3;border:1px solid #F2DEB2;border-radius:var(--r-m);
  padding:18px 22px;font-size:15.4px;color:#6B5426;margin:2em 0;
}

/* ============ 21. Töréspontok ============ */
@media (min-width:1280px){
  .fonav{display:block}
  .rejtett-mobil{display:block}
}
@media (max-width:1279px){
  .hamb{margin-left:auto}
}
@media (max-width:900px){
  .mega{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:980px){
  .infosav{font-size:13.2px}
  .infosav .tarolo{justify-content:center;gap:4px 18px}
  .infosav .infosav-cim{display:none}
}
@media (max-width:860px){
  .kep-jobb,.kep-bal{float:none;width:100%;margin:0 0 24px}
  .dia{height:clamp(400px,72vh,520px)}
  .dia-nyil{width:42px;height:42px}
  .dia-nyil.bal{left:10px}
  .dia-nyil.jobb{right:10px}
  .terkep iframe{height:330px}
  .cta-belso{flex-direction:column;align-items:flex-start}
}
@media (max-width:640px){
  body{font-size:16.4px}
  .tarolo,.tarolo-szuk{padding:0 18px}
  .szek{padding:46px 0}
  .torzs{font-size:16.6px}
  .harmonika-test>div{padding-left:4px}
  .galeria,.galeria.harom{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:10px}
  .infosav .infosav-ora{display:none}
  .dia-nyil{display:none}
  .dia-pontok{bottom:16px}
  .gomb{padding:13px 22px;font-size:15px;width:100%}
  .dia-doboz .gombok .gomb{width:auto}
  .lightbox .lb-nyil{width:42px;height:42px}
  .lightbox .lb-vissza{left:10px}
  .lightbox .lb-elore{right:10px}
  .lightbox .lb-felirat{padding:0 20px;bottom:14px;font-size:13.4px}
  .zaro .tarolo{justify-content:center;text-align:center}
  .felgomb{right:14px;width:46px;height:46px}
  .ar-tabla{font-size:15.4px}
  .ar-tabla th,.ar-tabla td{padding:12px 10px}
}
@media (max-width:400px){
  .dia-doboz .gombok{flex-direction:column;align-items:stretch}
  .dia-doboz .gombok .gomb{width:100%}
}

/* ============ 22. Mozgáscsökkentés + nyomtatás ============ */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important;
  }
  .dia-kep{transform:none!important}
}

@media print{
  .infosav,.fejlec,.hamb,.oldalmenu,.fatyol,.felgomb,.dia-nyil,.dia-pontok,.cta{display:none!important}
  body{color:#000;font-size:12pt}
  .szek{padding:12pt 0}
  a{color:#000;text-decoration:underline}
}
