/* ══════════════════════════════════════════════════════════════════════
   BUDASMILE APARTMAN — közös stíluslap (magyar + angol oldal + aloldalak)
   2026. október · egyetlen, rendezett réteg (a korábbi v1/v2/v3 foltok
   összefésülve).  Sorrend: alapok → komponensek → szekciók → aloldalak.
   ══════════════════════════════════════════════════════════════════════ */

/* ══════════ 0. BETŰTÍPUSOK (saját szerverről, nincs Google-hívás) ══════════ */
@font-face{font-family:"Newsreader";font-style:normal;font-weight:300 600;font-display:swap;
  src:url(../fonts/newsreader-latin.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Newsreader";font-style:normal;font-weight:300 600;font-display:swap;
  src:url(../fonts/newsreader-latin-ext.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Newsreader";font-style:italic;font-weight:300 400;font-display:swap;
  src:url(../fonts/newsreader-italic-latin.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Newsreader";font-style:italic;font-weight:300 400;font-display:swap;
  src:url(../fonts/newsreader-italic-latin-ext.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Karla";font-style:normal;font-weight:300 700;font-display:swap;
  src:url(../fonts/karla-latin.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Karla";font-style:normal;font-weight:300 700;font-display:swap;
  src:url(../fonts/karla-latin-ext.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ══════════ 1. ALAPOK ══════════ */
:root{
  --ko:        #EFE9DE;   /* alap háttér — budai mészkő */
  --vaszon:    #FAF7F0;   /* felület, kártya */
  --tinta:     #232227;   /* fő szöveg */
  --tinta-halk:#5E5C59;   /* másodlagos szöveg (5,5:1 a kő háttéren) */
  --var:       #2B3440;   /* sötét akcentus — vár, pala */
  --var-2:     #3D4A5A;
  --rez:       #A87C3E;   /* sárgaréz — csak díszítés, ikon, csillag */
  --rez-gomb:  #8A6430;   /* gomb háttér: fehér szöveggel 5,3:1 */
  --rez-gomb-2:#74532A;   /* gomb hover */
  --rez-szoveg:#7A5628;   /* réz színű szöveg (címkék): 5,9:1 a kövön */
  --foglalt:   #D6CCBD;
  --foglalt-szoveg:#4E483D;
  --szabad:    #3F6B4E;
  --vonal:     #DED6C7;
  --hiba:      #8A3A1E;

  --serif: "Newsreader", Georgia, "Times New Roman", serif;
  --sans:  "Karla", "Helvetica Neue", Arial, system-ui, sans-serif;

  --r-nagy: 18px;
  --arnyek: 0 1px 2px rgba(35,34,39,.05), 0 8px 28px -12px rgba(35,34,39,.2);
  --gorbe: cubic-bezier(.2,.7,.3,1);

  --sav: clamp(16px, 5vw, 72px);
  --max: 1240px;
  --fejlec-mag: 76px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:var(--fejlec-mag)}
body{
  margin:0; background:var(--ko); color:var(--tinta);
  font-family:var(--sans); font-size:17px; line-height:1.65;
  -webkit-font-smoothing:antialiased; overflow-x:hidden; overflow-wrap:break-word;
}
img,iframe,video,svg{max-width:100%}
img{display:block; height:auto}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--serif); font-weight:400; line-height:1.1; margin:0; letter-spacing:-.012em; text-wrap:balance}
h1{font-size:clamp(38px,6.4vw,78px); line-height:1.04}
h2{font-size:clamp(29px,4vw,50px)}
h3{font-size:clamp(20px,2.2vw,26px); line-height:1.25}
p{margin:0 0 1em; text-wrap:pretty}
p:last-child{margin-bottom:0}
h2 + p{margin-top:20px}
button,input,select,textarea{font:inherit; color:inherit}

.burok{width:100%; max-width:var(--max); margin:0 auto; padding-inline:var(--sav)}
.szekcio{padding-block:clamp(64px,9vw,128px)}
.szekcio--vaszon{background:var(--vaszon); border-block:1px solid var(--vonal)}
.cimke{
  font-size:12.5px; letter-spacing:.18em; text-transform:uppercase;
  font-weight:600; color:var(--rez-szoveg); margin:0 0 18px;
  display:flex; align-items:center; gap:12px;
}
.cimke::after{content:""; height:1px; flex:1; background:var(--vonal); max-width:120px}
.halk{color:var(--tinta-halk)}
.lathatatlan{position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0}

:focus-visible{outline:3px solid var(--rez-gomb); outline-offset:3px; border-radius:4px}
.sotet :focus-visible,.hero :focus-visible,.lablec :focus-visible{outline-color:#F4C97F}

.ugro-link{
  position:fixed; left:12px; top:-100px; z-index:200;
  background:var(--var); color:#fff; padding:12px 18px; border-radius:10px; text-decoration:none; font-weight:600;
}
.ugro-link:focus{top:12px}

.szemcse{position:relative}
.szemcse::after{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.45;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.34'/%3E%3C/svg%3E");
  mix-blend-mode:multiply;
}

/* ══════════ 2. GOMBOK ══════════ */
.gomb{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:52px; padding:14px 28px; border-radius:999px; border:1px solid transparent;
  font-family:inherit; font-size:16px; font-weight:600; line-height:1.2; text-align:center;
  text-decoration:none; cursor:pointer; white-space:nowrap;
  transition:transform .18s var(--gorbe), background-color .18s, color .18s, border-color .18s;
}
.gomb:active{transform:scale(.98)}
@media (hover:hover){ .gomb:hover{transform:translateY(-2px)} }
.gomb--fo{background:var(--rez-gomb); color:#fff}
.gomb--fo:hover{background:var(--rez-gomb-2)}
.gomb--vonal{background:transparent; color:var(--tinta); border-color:var(--tinta)}
.gomb--vonal:hover{background:var(--tinta); color:var(--ko)}
.gomb--vilagos{background:rgba(255,255,255,.13); color:#fff; border-color:rgba(255,255,255,.5); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px)}
.gomb--vilagos:hover{background:#fff; color:var(--var); border-color:#fff}
.gomb--kicsi{min-height:44px; padding:10px 20px; font-size:15px}
.gomb[disabled]{opacity:.6; cursor:progress; transform:none}

.szoveg-link{color:var(--rez-szoveg); font-weight:600; text-underline-offset:3px}
.szoveg-link:hover{color:var(--tinta)}

/* ══════════ 3. FEJLÉC ══════════ */
.fejlec{
  position:fixed; inset:0 0 auto 0; z-index:60;
  display:flex; align-items:center; gap:14px; padding:14px var(--sav);
  color:#fff;
  transition:background-color .3s, box-shadow .3s, padding .3s, color .3s;
}
.fejlec.uszik,.fejlec--szilard{background:rgba(250,247,240,.95); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); box-shadow:0 1px 0 var(--vonal); padding-block:9px; color:var(--tinta)}
.logo{font-family:var(--serif); font-size:22px; letter-spacing:-.02em; text-decoration:none; white-space:nowrap; margin-right:auto}
.logo b{font-weight:600}
.menu{display:flex; gap:24px; align-items:center}
.menu a{text-decoration:none; font-size:15px; font-weight:500; opacity:.88; padding:8px 2px; position:relative}
.menu a::after{content:""; position:absolute; left:0; right:100%; bottom:2px; height:1.5px; background:currentColor; transition:right .28s var(--gorbe)}
.menu a:hover{opacity:1}
.menu a:hover::after{right:0}

.nyelv-valto{display:flex; gap:2px; flex:none; border-radius:999px; padding:3px;
  background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.42)}
.nyelv-valto a{min-height:36px; min-width:42px; display:inline-flex; align-items:center; justify-content:center;
  padding:0 11px; border-radius:999px; font-size:13px; font-weight:700; letter-spacing:.04em; text-decoration:none; opacity:.85}
.nyelv-valto a[aria-current]{background:#fff; color:var(--var); opacity:1}
.fejlec.uszik .nyelv-valto,.fejlec--szilard .nyelv-valto{background:rgba(0,0,0,.05); border-color:transparent}
.fejlec.uszik .nyelv-valto a[aria-current],.fejlec--szilard .nyelv-valto a[aria-current]{background:var(--tinta); color:#fff}

.fejlec__telefon{min-height:44px; padding:10px 20px; font-size:15px}
.fejlec.uszik .fejlec__telefon,.fejlec--szilard .fejlec__telefon{color:var(--tinta); border-color:var(--tinta); background:transparent}
.fejlec.uszik .fejlec__telefon:hover,.fejlec--szilard .fejlec__telefon:hover{background:var(--tinta); color:var(--ko)}

.menu-gomb{
  display:none; width:46px; height:46px; flex:none; cursor:pointer; padding:0;
  border:1px solid rgba(255,255,255,.45); background:rgba(255,255,255,.16); border-radius:14px;
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  flex-direction:column; align-items:center; justify-content:center; gap:5px;
}
.menu-gomb span{display:block; width:20px; height:1.8px; background:currentColor; border-radius:2px}
.fejlec.uszik .menu-gomb,.fejlec--szilard .menu-gomb{background:rgba(0,0,0,.04); border-color:var(--vonal)}

@media (max-width:1060px){ .menu{display:none} .menu-gomb{display:flex} }
@media (max-width:760px){ .fejlec__telefon{display:none} :root{--fejlec-mag:72px} }
/* három nyelvgomb is elférjen 360 px-en */
@media (max-width:420px){ .fejlec{gap:10px} .nyelv-valto a{min-width:38px; padding:0 8px} }

/* ── mobilmenü: natív <dialog> (fókuszcsapda, Esc, háttér zárolás ingyen) ── */
.mobilmenu{
  margin:0 0 0 auto; padding:18px 20px calc(24px + env(safe-area-inset-bottom));
  width:min(340px,88vw); max-width:none; height:100%; max-height:none;
  border:0; background:var(--vaszon); color:var(--tinta);
  box-shadow:-20px 0 60px -24px rgba(0,0,0,.5);
  flex-direction:column; gap:4px; overflow-y:auto;
}
.mobilmenu[open]{display:flex; animation:menuBe .28s var(--gorbe)}
.mobilmenu::backdrop{background:rgba(20,22,26,.5)}
@keyframes menuBe{from{transform:translateX(100%)}to{transform:none}}
.mobilmenu__fej{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:8px}
.mobilmenu__cim{font-family:var(--serif); font-size:21px}
.mobilmenu__bezar{width:44px; height:44px; flex:none; border:1px solid var(--vonal); background:#fff; border-radius:12px; cursor:pointer; font-size:22px; line-height:1}
.mobilmenu nav{display:flex; flex-direction:column}
.mobilmenu nav a{display:flex; align-items:center; min-height:52px; padding:12px 4px; text-decoration:none; font-size:17px; border-bottom:1px solid var(--vonal)}
.mobilmenu nav a:last-child{border-bottom:0}
.mobilmenu__nyelv{display:flex; gap:8px; margin:12px 0 4px}
.mobilmenu__nyelv a{flex:1; min-height:46px; display:flex; align-items:center; justify-content:center; border-radius:12px; border:1px solid var(--vonal); background:#fff; font-size:15px; font-weight:600; text-decoration:none}
.mobilmenu__nyelv a[aria-current]{background:var(--var); border-color:var(--var); color:#fff}
.mobilmenu__also{margin-top:auto; padding-top:18px; display:grid; gap:10px}
.mobilmenu__also .gomb{width:100%}
.mobilmenu__adat{font-size:14px; color:var(--tinta-halk); margin:4px 0 0}

/* ══════════ 4. HERO — várnegyed hajnalban (CSS-illusztráció, 0 kép) ══════════ */
.hero{
  position:relative; min-height:min(100svh,880px);
  display:flex; align-items:flex-end;
  padding:120px 0 clamp(34px,5vw,60px); overflow:hidden; color:#fff; background:var(--var);
}
.hero__tajkep{position:absolute; inset:0; overflow:hidden}
.hero__eg{position:absolute; inset:0;
  background:radial-gradient(115% 80% at 22% 26%, #F5D7AA 0%, #E2B681 20%, #B79A85 42%, #5B6675 66%, #2B3440 100%)}
.hero__nap{
  position:absolute; left:22%; top:26%; width:min(22vw,180px); aspect-ratio:1; border-radius:50%;
  background:radial-gradient(circle, #FFF6E6 0%, #FCE1B4 50%, rgba(252,225,180,0) 71%);
  transform:translate(-50%,-50%);
}
.hero__tulpart{
  position:absolute; left:-2%; right:-2%; bottom:38%; height:16%; background:rgba(43,52,64,.42);
  clip-path:polygon(0 62%,6% 60%,8% 44%,10% 60%,17% 58%,19% 30%,21% 58%,28% 62%,36% 55%,38% 22%,40% 55%,49% 60%,58% 52%,60% 36%,62% 52%,71% 60%,79% 56%,81% 40%,83% 56%,92% 62%,100% 58%,100% 100%,0 100%);
}
.hero__tetok{
  position:absolute; left:-2%; right:-2%; bottom:22%; height:24%;
  background:linear-gradient(180deg,#3F4A59 0%,#2E3743 100%);
  clip-path:polygon(0 70%,4% 70%,7% 52%,10% 70%,15% 70%,15% 40%,17% 26%,19% 40%,19% 70%,26% 70%,30% 54%,34% 70%,41% 70%,41% 34%,44% 16%,47% 34%,47% 70%,55% 70%,59% 50%,63% 70%,70% 70%,70% 44%,73% 30%,76% 44%,76% 70%,84% 70%,88% 56%,92% 70%,100% 70%,100% 100%,0 100%);
}
.hero__varfal{position:absolute; left:0; right:0; bottom:0; height:24%; background:linear-gradient(180deg,#8E7F6B 0%,#6B5F4F 34%,#463E33 100%)}
.hero__kovek{
  position:absolute; left:0; right:0; bottom:0; height:24%;
  background:repeating-linear-gradient(0deg, rgba(30,26,20,.5) 0 1.5px, transparent 1.5px 34px),
             repeating-linear-gradient(90deg, rgba(30,26,20,.34) 0 1.5px, transparent 1.5px 62px);
  -webkit-mask-image:linear-gradient(0deg,#000 30%,transparent 100%); mask-image:linear-gradient(0deg,#000 30%,transparent 100%);
}
.hero__partazat{
  position:absolute; left:0; right:0; bottom:24%; height:2.2%; background:#8E7F6B;
  -webkit-mask-image:repeating-linear-gradient(90deg,#000 0 34px, transparent 34px 60px);
  mask-image:repeating-linear-gradient(90deg,#000 0 34px, transparent 34px 60px);
}
.hero__fatyol{position:absolute; inset:0; background:linear-gradient(180deg, rgba(24,28,34,.55) 0%, rgba(24,28,34,.06) 32%, rgba(24,28,34,.8) 100%)}
.hero__tartalom{position:relative; z-index:2}
.hero h1{max-width:19ch}
.hero h1 em{font-style:italic; font-weight:300}
.hero__szemoldok{display:block; font-family:var(--sans); font-size:13px; letter-spacing:.2em; text-transform:uppercase; font-weight:600; color:rgba(255,255,255,.88); margin:0 0 20px; line-height:1.5}
.hero__alcim{max-width:48ch; margin:22px 0 0; font-size:clamp(17px,1.6vw,20px); color:rgba(255,255,255,.92)}
.hero__also{display:flex; flex-wrap:wrap; gap:18px 40px; align-items:flex-end; justify-content:space-between;
  margin-top:clamp(30px,4vw,48px); padding-top:26px; border-top:1px solid rgba(255,255,255,.26)}
.tenyek{display:flex; flex-wrap:wrap; gap:14px 34px; list-style:none; margin:0; padding:0}
.tenyek li{font-size:15px; color:rgba(255,255,255,.92); line-height:1.4}
.tenyek b{display:block; font-family:var(--serif); font-size:23px; font-weight:500; color:#fff}
.hero__gombok{display:flex; flex-wrap:wrap; gap:12px}

.jelveny{
  display:inline-flex; align-items:center; gap:10px; margin-bottom:22px; text-decoration:none;
  background:rgba(255,255,255,.13); border:1px solid rgba(255,255,255,.34);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); border-radius:999px; padding:7px 16px 7px 12px; font-size:14px; color:#fff;
}
.jelveny:hover{background:rgba(255,255,255,.22)}
.jelveny b{font-weight:600}
.jelveny .csillag{color:#F4C97F; font-size:17px; line-height:1}

/* egyetlen, nyugodt belépő: a nap lassan felkel — a szöveg azonnal olvasható */
@media (prefers-reduced-motion:no-preference){
  .hero__nap{animation:napkelte 1.6s var(--gorbe) both}
  @keyframes napkelte{from{transform:translate(-50%,-10%); opacity:.4}to{transform:translate(-50%,-50%); opacity:1}}
}

/* ══════════ 5. SZABAD IDŐPONTOK SÁV ══════════ */
.sav-szabad{background:var(--vaszon); border-bottom:1px solid var(--vonal)}
.sav-szabad__belso{display:flex; align-items:center; gap:14px clamp(18px,3vw,44px); padding-block:24px; flex-wrap:wrap}
.sav-szabad__cim{font-size:13px; letter-spacing:.16em; text-transform:uppercase; font-weight:600; color:var(--tinta-halk); margin:0}
.resek{display:flex; gap:10px; flex-wrap:wrap; margin:0; padding:0; list-style:none}
.res{display:inline-flex; flex-direction:column; gap:1px; align-items:flex-start; justify-content:center;
  background:transparent; border:1px solid var(--vonal); border-radius:12px; padding:9px 16px; min-height:52px;
  cursor:pointer; text-align:left; transition:border-color .18s, background-color .18s, transform .18s var(--gorbe)}
.res:hover{border-color:var(--szabad); background:#fff}
@media (hover:hover){ .res:hover{transform:translateY(-2px)} }
.res__nap{font-family:var(--serif); font-size:17px}
.res__ej{font-size:12.5px; color:var(--szabad); font-weight:600; letter-spacing:.04em}

/* ══════════ 6. ILLUSZTRÁCIÓK (valódi fotó érkezéséig) ══════════ */
.illusztracio{position:relative; overflow:hidden; border-radius:var(--r-nagy); background:var(--var-2); isolation:isolate; margin:0}
.illusztracio::before{content:""; position:absolute; inset:0; z-index:0}
.illusztracio::after{
  content:""; position:absolute; inset:0; z-index:1; opacity:.42; mix-blend-mode:multiply; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='.36'/%3E%3C/svg%3E");
}
.illusztracio > i{position:absolute; z-index:0; inset:0}
.j-belso::before{background:linear-gradient(155deg,#F3E8D6 0%,#DCCCB1 38%,#AF9878 68%,#6D5C46 100%)}
.j-belso > i{background:linear-gradient(118deg, rgba(255,252,244,.9) 0 14%, rgba(255,255,255,0) 38%),
  linear-gradient(0deg, rgba(62,50,36,.5) 0 20%, transparent 46%),
  repeating-linear-gradient(90deg, rgba(70,56,40,.12) 0 1px, transparent 1px 78px)}
.j-ko::before{background:linear-gradient(170deg,#E4DACA 0%,#BFB2A0 40%,#8C8072 72%,#544C42 100%)}
.j-ko > i{background:repeating-linear-gradient(0deg, rgba(50,44,36,.34) 0 1.5px, transparent 1.5px 40px),
  repeating-linear-gradient(90deg, rgba(50,44,36,.22) 0 1.5px, transparent 1.5px 70px);
  -webkit-mask-image:linear-gradient(180deg,transparent 4%,#000 55%); mask-image:linear-gradient(180deg,transparent 4%,#000 55%)}
.j-kert::before{background:linear-gradient(170deg,#EAE1C9 0%,#C4C79A 34%,#7E9163 66%,#3F5137 100%)}
.j-kert > i{background:repeating-linear-gradient(78deg, rgba(46,62,40,.4) 0 2px, transparent 2px 18px);
  -webkit-mask-image:linear-gradient(0deg,#000 10%,transparent 72%); mask-image:linear-gradient(0deg,#000 10%,transparent 72%)}
.j-teto::before{background:linear-gradient(185deg,#F0CFA4 0%,#C9A184 26%,#7C7C84 58%,#333B47 100%)}
.j-teto > i{left:-2%; right:-2%; top:auto; bottom:0; height:52%; background:#2F3742;
  clip-path:polygon(0 66%,6% 66%,9% 44%,12% 66%,20% 66%,20% 32%,23% 16%,26% 32%,26% 66%,36% 66%,40% 48%,44% 66%,54% 66%,54% 38%,57% 22%,60% 38%,60% 66%,70% 66%,74% 50%,78% 66%,88% 66%,88% 40%,91% 26%,94% 40%,94% 66%,100% 66%,100% 100%,0 100%)}
/* ha valódi fotó kerül be: <figure class="foto"><img ...></figure> */
.foto{margin:0; border-radius:var(--r-nagy); overflow:hidden; background:var(--vonal)}
.foto img{width:100%; height:100%; object-fit:cover}

/* ══════════ 7. AZ APARTMAN ══════════ */
.haz{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:clamp(28px,5vw,80px); align-items:start}
.haz__szoveg > p{font-size:18px; max-width:54ch}
.haz__kepek{display:grid; grid-template-columns:1fr 1fr; gap:14px; position:sticky; top:calc(var(--fejlec-mag) + 20px)}
.haz__kepek > :nth-child(1){grid-column:1/-1; aspect-ratio:16/10}
.haz__kepek > :nth-child(2),.haz__kepek > :nth-child(3){aspect-ratio:4/5}
@media (max-width:880px){ .haz{grid-template-columns:1fr} .haz__kepek{order:-1; position:static} }

.roviden{margin:32px 0 0; border:1px solid var(--vonal); border-radius:14px; background:var(--vaszon); overflow:hidden}
.roviden__cim{margin:0; padding:14px 20px; font-size:12.5px; letter-spacing:.16em; text-transform:uppercase; font-weight:600; color:var(--rez-szoveg); border-bottom:1px solid var(--vonal)}
.roviden dl{margin:0; display:grid; grid-template-columns:max-content minmax(0,1fr)}
.roviden dt,.roviden dd{margin:0; padding:11px 20px; border-bottom:1px solid var(--vonal); font-size:15.5px; line-height:1.45}
.roviden dt{color:var(--tinta-halk); font-weight:600; padding-right:8px}
.roviden dl > :nth-last-child(-n+2){border-bottom:0}
@media (max-width:520px){ .roviden dt,.roviden dd{padding:10px 14px; font-size:15px} }
@media (max-width:359px){
  .roviden dl{grid-template-columns:1fr}
  .roviden dt{border-bottom:0; padding-bottom:0; font-size:13px; text-transform:uppercase; letter-spacing:.08em}
  .roviden dl > dt:nth-last-child(2){border-bottom:0}
  .roviden dl > dd:nth-last-child(1){border-bottom:0}
}

.haz__lista{list-style:none; margin:24px 0 0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px; border:1px solid var(--vonal); border-radius:12px; overflow:hidden; background:var(--vonal)}
.haz__lista li{background:var(--vaszon); padding:14px 18px; font-size:15px; display:flex; gap:10px; align-items:flex-start; line-height:1.45}
.haz__lista svg{flex:none; color:var(--rez); margin-top:3px}
@media (max-width:430px){ .haz__lista{grid-template-columns:1fr} }

.reszletek{margin-top:14px; border:1px solid var(--vonal); border-radius:12px; background:var(--vaszon)}
.reszletek summary{cursor:pointer; padding:14px 18px; font-weight:600; font-size:15px; list-style:none; display:flex; justify-content:space-between; gap:12px; align-items:center; min-height:48px}
.reszletek summary::-webkit-details-marker{display:none}
.reszletek summary::after{content:"+"; font-size:22px; line-height:1; color:var(--rez-szoveg); font-weight:400}
.reszletek[open] summary::after{content:"–"}
.reszletek ul{margin:0; padding:0 18px 16px 36px; columns:2 200px; column-gap:28px; font-size:15px; color:var(--tinta-halk)}
.reszletek li{break-inside:avoid; padding:3px 0}

/* ══════════ 8. NAPTÁR + KALKULÁTOR ══════════ */
.sotet{background:var(--var); color:#fff}
.sotet .cimke{color:#E2B77E}
.sotet .cimke::after{background:rgba(255,255,255,.24)}
.naptar-fej{display:grid; grid-template-columns:minmax(0,1.5fr) minmax(0,1fr); gap:18px 48px; align-items:end; margin-bottom:clamp(28px,4vw,46px)}
.naptar-fej h2{max-width:22ch}
.naptar-fej p{max-width:56ch; color:rgba(255,255,255,.84); margin:14px 0 0}
.naptar-frissites{color:rgba(255,255,255,.7)!important; font-size:13.5px; margin:0!important; text-align:right}
@media (max-width:760px){ .naptar-fej{grid-template-columns:1fr} .naptar-frissites{text-align:left} }

.naptar-racs{display:grid; grid-template-columns:minmax(0,2fr) minmax(0,1fr); gap:clamp(20px,3vw,36px); align-items:start}
@media (max-width:1089px){ .naptar-racs{grid-template-columns:1fr} }

.naptar{background:var(--vaszon); color:var(--tinta); border-radius:var(--r-nagy); padding:clamp(16px,2.4vw,28px); box-shadow:var(--arnyek); scroll-margin-top:calc(var(--fejlec-mag) + 12px)}
.naptar__fej{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px}
.naptar__fej p{margin:0; font-size:13px; letter-spacing:.14em; text-transform:uppercase; font-weight:600; color:var(--tinta-halk); text-align:center}
.naptar__lep{width:44px; height:44px; flex:none; border-radius:50%; border:1px solid var(--vonal); background:#fff;
  display:grid; place-items:center; cursor:pointer; color:var(--tinta); transition:background-color .18s,border-color .18s}
.naptar__lep:hover:not(:disabled){background:var(--ko); border-color:var(--tinta-halk)}
.naptar__lep:disabled{opacity:.32; cursor:not-allowed}
.naptar__honapok{display:grid; grid-template-columns:minmax(0,1fr); gap:24px}
.naptar__honapok[data-db="2"]{grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:26px}
.naptar__figyelmeztetes{margin:0 0 14px; padding:11px 14px; border-radius:10px; background:#F6EEE2; color:var(--hiba); font-size:14px; line-height:1.5}
.naptar__figyelmeztetes[hidden]{display:none}

.honap__cim{font-family:var(--serif); font-size:20px; text-align:center; margin:0 0 10px; font-weight:400}
.naptar__honapok > div{width:100%; max-width:440px; margin-inline:auto}
.honap__racs{width:100%; border-collapse:separate; border-spacing:3px; table-layout:fixed}
.honap__racs th{font-size:11px; font-weight:600; letter-spacing:.06em; color:var(--tinta-halk); text-transform:uppercase; padding:0 0 4px}
.honap__racs th abbr{text-decoration:none}
.honap__racs td{padding:0}
.nap{
  width:100%; aspect-ratio:1; border:0; background:transparent; padding:2px 0 3px; border-radius:9px;
  font-size:14.5px; font-weight:500; color:var(--tinta); line-height:1.05; cursor:pointer;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px;
  transition:background-color .15s, color .15s; -webkit-tap-highlight-color:transparent; position:relative;
}
.nap__ar{display:block; font-size:9.5px; line-height:1; font-weight:600; color:var(--tinta-halk); white-space:nowrap; letter-spacing:-.01em}
.nap--szabad:hover{background:#E7E3D8}
.nap[aria-disabled="true"]{cursor:not-allowed}
.nap--mult,.nap--zart{color:#8F897E; text-decoration:line-through; text-decoration-thickness:1px}
.nap--foglalt{color:var(--foglalt-szoveg); background:var(--foglalt)}
.nap--csak-tavozas{background:linear-gradient(135deg, transparent 0 50%, var(--foglalt) 50% 100%)}
.nap--csak-erkezes{background:linear-gradient(135deg, var(--foglalt) 0 50%, transparent 50% 100%)}
.nap--csak-tavozas .nap__ar,.nap--csak-erkezes .nap__ar{color:var(--tinta)}
.nap--csak-tavozas:hover,.nap--csak-erkezes:hover{box-shadow:inset 0 0 0 1.5px var(--var)}
.nap--kijelolt{background:#DFE2DC}
.nap--vegpont,.nap--vegpont:hover{background:var(--var); color:#fff; font-weight:600}
.nap--vegpont .nap__ar{color:rgba(255,255,255,.8)}
.nap--ma::after{content:""; position:absolute; top:4px; right:5px; width:5px; height:5px; border-radius:50%; background:var(--rez)}
.nap:focus-visible{outline-offset:1px; z-index:1}
@media (max-width:400px){
  .honap__racs{border-spacing:2px}
  .nap{font-size:13px; border-radius:7px}
  .nap__ar{font-size:8.5px}
  .honap__racs th{font-size:9.5px; letter-spacing:0}
}
@media (max-width:340px){ .nap{font-size:12px} .nap__ar{font-size:7.5px} }

.jelmagyarazat{display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:18px; padding-top:16px; border-top:1px solid var(--vonal); font-size:13px; color:var(--tinta-halk)}
.jelmagyarazat span{display:inline-flex; align-items:center; gap:8px}
.jelmagyarazat i{width:14px; height:14px; border-radius:4px; display:inline-block}
.jm-szabad{background:#fff; border:1px solid var(--vonal)}
.jm-foglalt{background:var(--foglalt)}
.jm-fel{background:linear-gradient(135deg,#fff 0 50%,var(--foglalt) 50%); border:1px solid var(--vonal)}
.jm-valasztott{background:var(--var)}

.kalk{background:var(--vaszon); color:var(--tinta); border-radius:var(--r-nagy); padding:clamp(18px,2.4vw,28px); box-shadow:var(--arnyek);
  position:sticky; top:calc(var(--fejlec-mag) + 20px); scroll-margin-top:calc(var(--fejlec-mag) + 12px)}
@media (max-width:1089px){ .kalk{position:static} }
.kalk__ar{display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; margin:0 0 4px}
.kalk__ar b{font-family:var(--serif); font-size:30px; font-weight:500}
.kalk__allapot{font-size:14px; margin:0; color:var(--tinta-halk)}
.kalk__mezok{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--vonal); border:1px solid var(--vonal); border-radius:12px; overflow:hidden; margin:20px 0 4px}
.kalk__mezo{background:#fff; padding:11px 14px; min-height:64px; display:flex; flex-direction:column; justify-content:center; margin:0}
.kalk__mezo > span,.kalk__mezo label{font-size:11px; letter-spacing:.12em; text-transform:uppercase; font-weight:600; color:var(--tinta-halk)}
.kalk__mezo b{font-weight:500; font-size:16px; margin-top:2px}
.kalk__mezo--teljes{grid-column:1/-1}
.kalk__mezo select{border:0; background:transparent; font-size:16px; padding:2px 0 0; width:100%; cursor:pointer; min-height:30px}
@media (max-width:360px){ .kalk__mezok{grid-template-columns:1fr} .kalk__mezo--teljes{grid-column:auto} }
.kalk__sorok{list-style:none; margin:20px 0 0; padding:0; font-size:15px}
.kalk__sorok li{display:flex; justify-content:space-between; gap:16px; padding:7px 0; color:var(--tinta-halk)}
.kalk__sorok li b{font-weight:500; color:var(--tinta); white-space:nowrap}
.kalk__osszeg{display:flex; justify-content:space-between; gap:16px; align-items:baseline; margin-top:12px; padding-top:14px; border-top:1px solid var(--vonal)}
.kalk__osszeg b{font-family:var(--serif); font-size:27px; font-weight:500}
.kalk__ft{margin:4px 0 0; text-align:right; font-size:13px; color:var(--tinta-halk)}
.kalk__ft[hidden]{display:none}
.kalk .gomb{width:100%; margin-top:20px; white-space:normal}
.kalk__labjegyzet{font-size:13px; color:var(--tinta-halk); margin-top:14px; line-height:1.5}
.kalk__uzenet{font-size:14.5px; color:var(--hiba); background:#F6EEE2; border-radius:10px; padding:11px 14px; margin:16px 0 0}
.kalk__uzenet[hidden]{display:none}
.kalk__torles{background:none; border:0; padding:6px 0; margin-top:8px; font-size:14px; color:var(--tinta-halk); text-decoration:underline; text-underline-offset:3px; cursor:pointer}
.kalk__torles[hidden]{display:none}

/* ══════════ 9. ÁRAK ══════════ */
.arak-racs{display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:clamp(20px,3vw,40px); margin-top:34px; align-items:start}
@media (max-width:880px){ .arak-racs{grid-template-columns:1fr} }
.artabla{width:100%; border-collapse:collapse; background:var(--vaszon); border:1px solid var(--vonal); border-radius:14px; overflow:hidden; font-size:15.5px}
.artabla caption{text-align:left; padding:0 0 10px; font-size:14px; color:var(--tinta-halk)}
.artabla th,.artabla td{padding:13px 18px; text-align:left; border-bottom:1px solid var(--vonal); vertical-align:baseline}
.artabla thead th{font-size:11.5px; letter-spacing:.12em; text-transform:uppercase; font-weight:600; color:var(--tinta-halk); background:var(--ko)}
.artabla tbody tr:last-child > *{border-bottom:0}
.artabla tbody th{font-weight:600}
.artabla .szam{text-align:right; white-space:nowrap}
.artabla td.szam b{font-family:var(--serif); font-size:20px; font-weight:500}
.artabla .idoszak{display:block; font-weight:400; font-size:13.5px; color:var(--tinta-halk); margin-top:2px}
@media (max-width:520px){
  .artabla th,.artabla td{padding:12px 12px}
  .artabla .min-oszlop{display:none}
}
.ar-extrak{list-style:none; margin:0; padding:0; display:grid; gap:1px; background:var(--vonal); border:1px solid var(--vonal); border-radius:14px; overflow:hidden}
.ar-extrak li{background:var(--vaszon); padding:14px 18px; display:flex; justify-content:space-between; gap:8px 20px; font-size:15.5px; flex-wrap:wrap}
.ar-extrak b{font-weight:600}
.ar-megjegyzes{font-size:14px; color:var(--tinta-halk); margin-top:14px}

/* ══════════ 10. VÉLEMÉNYEK ══════════ */
.ertekeles-sav{display:flex; flex-wrap:wrap; gap:14px 36px; align-items:center; margin-top:26px; padding:20px 24px;
  background:var(--vaszon); border:1px solid var(--vonal); border-radius:14px; list-style:none}
.ertekeles-sav li{display:flex; flex-direction:column}
.ertekeles-sav b{font-family:var(--serif); font-size:26px; font-weight:500; line-height:1.1}
.ertekeles-sav span{font-size:13px; color:var(--tinta-halk)}
.velemenyek{display:grid; grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr)); gap:16px; margin-top:16px}
.velemeny{background:var(--vaszon); border-radius:14px; padding:26px; border:1px solid var(--vonal); display:flex; flex-direction:column; margin:0}
.velemeny blockquote{margin:0 0 18px; font-family:var(--serif); font-size:19px; line-height:1.45; font-style:italic; font-weight:300}
.velemeny blockquote p{margin:0}
.velemeny figcaption{margin-top:auto; font-size:14px; color:var(--tinta-halk)}
.velemeny figcaption b{display:block; color:var(--tinta); font-weight:600; font-size:15px}
.csillagok{color:var(--rez); letter-spacing:2px; font-size:14px; margin:0 0 14px}
.velemeny-linkek{margin-top:18px; font-size:15px}

/* ══════════ 11. KÖRNYÉK ══════════ */
.kornyek{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(28px,5vw,72px); align-items:center}
@media (max-width:880px){ .kornyek{grid-template-columns:1fr} }
.tavolsagok{list-style:none; margin:30px 0 0; padding:0}
.tavolsagok li{display:flex; align-items:baseline; gap:14px; padding:13px 0; border-bottom:1px solid var(--vonal)}
.tavolsagok li:last-child{border-bottom:0}
.tavolsagok .hely{flex:1; font-size:16.5px}
.tavolsagok .tav{font-family:var(--serif); font-size:17px; color:var(--rez-szoveg); white-space:nowrap}
.kornyek .illusztracio,.kornyek .foto{aspect-ratio:4/5}
@media (max-width:880px){ .kornyek .illusztracio,.kornyek .foto{aspect-ratio:16/10} }

/* ══════════ 12. GYIK ══════════ */
.gyik{max-width:820px; margin-top:34px; border-top:1px solid var(--vonal)}
.gyik details{border-bottom:1px solid var(--vonal)}
.gyik summary{cursor:pointer; list-style:none; padding:20px 44px 20px 0; position:relative;
  font-family:var(--serif); font-size:19px; line-height:1.3; min-height:44px}
.gyik summary::-webkit-details-marker{display:none}
.gyik summary::after{content:""; position:absolute; right:8px; top:50%; width:12px; height:12px;
  border-right:1.5px solid var(--rez-szoveg); border-bottom:1.5px solid var(--rez-szoveg); transform:translateY(-70%) rotate(45deg); transition:transform .25s}
.gyik details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.gyik .valasz{padding:0 0 22px; max-width:66ch; color:var(--tinta-halk)}

/* ══════════ 13. KAPCSOLAT + ŰRLAP + TÉRKÉP ══════════ */
.kapcsolat-racs{display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1fr); gap:clamp(30px,5vw,70px)}
@media (max-width:880px){ .kapcsolat-racs{grid-template-columns:1fr} }
.elerhetosegek{list-style:none; margin:30px 0 0; padding:0; display:grid; gap:22px}
.elerhetosegek span{display:block; font-size:12px; letter-spacing:.14em; text-transform:uppercase; font-weight:600; color:var(--tinta-halk); margin-bottom:3px}
.elerhetosegek a,.elerhetosegek p{font-family:var(--serif); font-size:21px; text-decoration:none; margin:0}
.elerhetosegek a:hover{color:var(--rez-szoveg); text-decoration:underline; text-underline-offset:4px}

.urlap{display:grid; gap:14px}
.urlap__par{display:grid; grid-template-columns:1fr 1fr; gap:14px}
@media (max-width:520px){ .urlap__par{grid-template-columns:1fr} }
.mezo{display:flex; flex-direction:column; gap:6px; min-width:0}
.mezo label{font-size:13px; font-weight:600; color:var(--tinta-halk)}
.mezo label .kotelezo{color:var(--hiba)}
.mezo input,.mezo textarea,.mezo select{font-size:16px; padding:13px 15px; min-height:50px;
  border:1px solid #CFC6B5; border-radius:10px; background:#fff; color:var(--tinta); width:100%}
.mezo textarea{min-height:120px; resize:vertical}
.mezo input[readonly]{background:var(--ko)}
.mezo input:focus,.mezo textarea:focus,.mezo select:focus{border-color:var(--var); outline:none; box-shadow:0 0 0 3px rgba(43,52,64,.16)}
.mezo input:user-invalid,.mezo textarea:user-invalid{border-color:var(--hiba)}
.urlap .gomb{justify-self:start}
@media (max-width:520px){ .urlap .gomb{justify-self:stretch} }
.urlap__jog{font-size:13px; color:var(--tinta-halk); margin:0}
.urlap__csapda{position:absolute; left:-9999px}
.urlap__uzenet{padding:15px 17px; border-radius:14px; font-size:15px; line-height:1.55}
.urlap__uzenet[hidden]{display:none}
.urlap__uzenet--ok{background:#E8F1E9; color:#24482F; border:1px solid #BDD5C1}
.urlap__uzenet--hiba{background:#FBEEE6; color:#6E321B; border:1px solid #E8C9B6}
.urlap__uzenet .gombok{display:flex; flex-wrap:wrap; gap:8px; margin-top:12px}
.urlap__uzenet .gomb{min-height:46px; font-size:15px}

.terkep-blokk{margin-top:clamp(44px,6vw,72px)}
.terkep-racs{display:grid; grid-template-columns:minmax(0,1fr) 340px; border:1px solid var(--vonal); border-radius:var(--r-nagy); overflow:hidden; background:#fff}
@media (max-width:880px){ .terkep-racs{grid-template-columns:1fr} }
.terkep{position:relative; min-height:380px; background:#E3DED2; overflow:hidden}
.terkep iframe{position:absolute; inset:0; width:100%; height:100%; border:0}
.terkep__homlokzat{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; padding:24px; text-align:center;
  background:
    linear-gradient(28deg, transparent 0 47%, rgba(255,255,255,.75) 47% 49.5%, transparent 49.5%),
    linear-gradient(118deg, transparent 0 58%, rgba(255,255,255,.75) 58% 60%, transparent 60%),
    linear-gradient(162deg, transparent 0 30%, rgba(255,255,255,.6) 30% 31.5%, transparent 31.5%),
    radial-gradient(60% 50% at 70% 30%, #CFD8C2 0 60%, transparent 61%),
    #E3DED2}
.terkep__tu{width:46px; height:46px; color:var(--rez-gomb)}
.terkep__homlokzat p{margin:0; font-size:13.5px; color:var(--tinta-halk); max-width:34ch; background:rgba(250,247,240,.85); padding:4px 10px; border-radius:8px}
.terkep-info{padding:clamp(22px,3vw,32px); display:flex; flex-direction:column; gap:18px; border-left:1px solid var(--vonal)}
@media (max-width:880px){ .terkep-info{border-left:0; border-top:1px solid var(--vonal)} }
.terkep-info h3{font-size:22px}
.terkep-cim{font-family:var(--serif); font-size:20px; line-height:1.35; margin:0; font-style:normal}
.terkep-cim small{display:block; font-family:var(--sans); font-size:15px; color:var(--tinta-halk)}
.terkep-info ul{list-style:none; margin:0; padding:0; display:grid; gap:11px; font-size:15px}
.terkep-info li{display:flex; gap:12px; align-items:baseline}
.terkep-info li b{font-weight:600; min-width:78px; color:var(--rez-szoveg); font-family:var(--serif); font-size:15.5px}
.terkep-info .gomb{margin-top:auto; white-space:normal}

/* ══════════ 14. LÁBLÉC ══════════ */
.lablec{background:var(--var); color:rgba(255,255,255,.78); padding-block:52px 40px; font-size:14.5px}
.lablec a{color:#fff; text-underline-offset:3px}
.lablec p{margin:0 0 6px}
.lablec__felso{display:flex; flex-wrap:wrap; gap:24px 60px; justify-content:space-between; padding-bottom:30px; border-bottom:1px solid rgba(255,255,255,.16)}
.lablec__logo{font-family:var(--serif); font-size:26px; color:#fff}
.lablec__also{display:flex; flex-wrap:wrap; gap:10px 30px; justify-content:space-between; padding-top:22px; font-size:13.5px}
.lablec__also p{margin:0}

/* ══════════ 15. MOBIL ALSÓ SÁV ══════════ */
.also-sav{position:fixed; left:0; right:0; bottom:0; z-index:70; display:none; gap:10px;
  padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  background:rgba(250,247,240,.96); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); border-top:1px solid var(--vonal)}
.also-sav .gomb{flex:1; min-height:50px; padding-inline:12px; font-size:15px}
@media (max-width:1060px){
  .also-sav{display:flex}
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  .hero__gombok{display:none}
}
@media (max-width:760px){
  .hero{min-height:auto; padding-bottom:52px}
  .hero__also{gap:22px}
  .tenyek{display:grid; grid-template-columns:1fr 1fr; gap:16px 24px; width:100%}
}
@media (max-width:400px){
  .gomb{padding:13px 20px; font-size:15px}
  .also-sav .gomb{font-size:14px; padding-inline:10px}
}

/* ══════════ 16. NYELVI AJÁNLÓ (nem ugrik át magától — SEO-barát) ══════════ */
.nyelv-ajanlo{position:fixed; z-index:80; left:16px; bottom:16px; max-width:min(420px,calc(100vw - 32px));
  display:flex; align-items:center; gap:12px; padding:12px 12px 12px 18px; border-radius:14px;
  background:var(--var); color:#fff; box-shadow:0 12px 40px -12px rgba(0,0,0,.5); font-size:15px}
.nyelv-ajanlo[hidden]{display:none}
.nyelv-ajanlo a{color:#fff; font-weight:700}
.nyelv-ajanlo button{flex:none; width:40px; height:40px; border:0; border-radius:10px; background:rgba(255,255,255,.12); color:#fff; font-size:20px; cursor:pointer}
@media (max-width:1060px){ .nyelv-ajanlo{bottom:calc(86px + env(safe-area-inset-bottom))} }

/* ══════════ 17. ALOLDALAK (adatkezelés, házirend, 404) ══════════ */
.aloldal{padding-top:calc(var(--fejlec-mag) + clamp(40px,6vw,80px)); padding-bottom:clamp(64px,8vw,110px)}
.aloldal .burok{max-width:860px}
.aloldal h1{font-size:clamp(34px,5vw,56px); margin-bottom:18px}
.aloldal h2{font-size:clamp(23px,2.6vw,30px); margin:44px 0 14px}
.aloldal h3{font-size:20px; margin:26px 0 10px}
.aloldal p,.aloldal li{max-width:70ch}
.aloldal ul{padding-left:22px}
.aloldal li{margin-bottom:6px}
.aloldal table{border-collapse:collapse; width:100%; margin:14px 0; font-size:15px; background:var(--vaszon)}
.aloldal th,.aloldal td{border:1px solid var(--vonal); padding:10px 12px; text-align:left; vertical-align:top}
.aloldal th{background:var(--ko); font-weight:600}
.tabla-gorgeto{overflow-x:auto}
/* adatkezelési táblázat mobilon: soronként kártya, oszlopcímkével */
@media (max-width:640px){
  .tabla-gorgeto table,.tabla-gorgeto tbody,.tabla-gorgeto tr,.tabla-gorgeto td{display:block; width:100%}
  .tabla-gorgeto thead{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0)}
  .tabla-gorgeto table{background:none}
  .tabla-gorgeto tr{background:var(--vaszon); border:1px solid var(--vonal); border-radius:12px; margin-bottom:12px; overflow:hidden}
  .tabla-gorgeto td{border:0; border-bottom:1px solid var(--vonal); padding:10px 14px}
  .tabla-gorgeto td:last-child{border-bottom:0}
  .tabla-gorgeto td:first-child{font-weight:600; background:var(--ko)}
  .tabla-gorgeto td:not(:first-child)::before{display:block; font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; font-weight:600; color:var(--tinta-halk); margin-bottom:2px}
  :lang(hu) .tabla-gorgeto td:nth-child(2)::before{content:"Adatok"}
  :lang(hu) .tabla-gorgeto td:nth-child(3)::before{content:"Jogalap"}
  :lang(hu) .tabla-gorgeto td:nth-child(4)::before{content:"Időtartam"}
  :lang(en) .tabla-gorgeto td:nth-child(2)::before{content:"Data"}
  :lang(en) .tabla-gorgeto td:nth-child(3)::before{content:"Legal basis"}
  :lang(en) .tabla-gorgeto td:nth-child(4)::before{content:"Retention"}
}
.frissitve{font-size:14px; color:var(--tinta-halk)}
.vissza{display:inline-flex; margin-top:36px}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important}
}
@media print{
  .fejlec,.also-sav,.mobilmenu,.nyelv-ajanlo,.terkep,.urlap,.hero__tajkep{display:none!important}
  .hero{color:var(--tinta); background:none; min-height:0; padding-top:0}
  .hero__szemoldok,.hero__alcim,.tenyek li,.tenyek b{color:var(--tinta)}
  body{background:#fff}
}
