/* Apartmanok – letisztult lista + reptéri (split-flap) betűpörgetés */
.apt{background:#101815;color:#eff3ed;padding:70px 4.5vw 120px}
.apt .section-top{border-bottom-color:#a7bbab30;color:#aebcb1}
.apt .apt-title{font-size:clamp(36px,4.6vw,68px);margin:60px 0 56px;line-height:1.06;letter-spacing:-.05em}

/* --- betűpörgetés --- */
.fl{display:inline-block;position:relative;perspective:300px;clip-path:inset(-.25em 0)}
.fl-sp{display:inline}
.fl-f{opacity:0;transition:opacity .12s}
.fl.done .fl-f{opacity:1}
.fl-r{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transform-origin:50% 55%;backface-visibility:hidden}
.fl.spin .fl-r{opacity:1;color:#d2f990}
.fl.done .fl-r{opacity:0}
.fl-r.flip{animation:fl-flip 55ms ease-out}
@keyframes fl-flip{from{transform:rotateX(-90deg);opacity:.3}to{transform:rotateX(0);opacity:1}}

/* --- rács --- */
.apt-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:6vw;align-items:start}

/* --- lista --- */
.apt-list{list-style:none;margin:0;padding:0;border-top:1px solid #a7bbab30}
.apt-list li{border-bottom:1px solid #a7bbab30}
.apt-row{width:100%;display:grid;grid-template-columns:44px 1fr auto;align-items:baseline;gap:14px;padding:22px 0;background:none;border:0;text-align:left;color:#8f9c92;position:relative;transition:color .2s,padding .25s}
.apt-row::before{content:'';position:absolute;left:-18px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:#d2f990;opacity:0;transform:scale(.4);transition:.25s}
.apt-no{font-size:11px;letter-spacing:1.5px;font-variant-numeric:tabular-nums}
.apt-name{font-size:clamp(22px,2.1vw,30px);letter-spacing:-.035em;line-height:1.15;white-space:nowrap}
.apt-meta{font-size:12px;color:#7d8b80;white-space:nowrap;font-variant-numeric:tabular-nums}
.apt-row:hover{color:#dbe7dc}
.apt-row.is-on{color:#eff3ed;padding-left:6px}
.apt-row.is-on::before{opacity:1;transform:none}
.apt-row.is-on .apt-meta{color:#c4ed99}
.apt-row:focus-visible{outline-offset:2px}

.apt-detail{display:flex;flex-direction:column;gap:22px;min-width:0}

/* --- fotó --- */
.apt-photo{position:relative}
.apt-photo img#apt-img{width:100%;aspect-ratio:4/3;max-height:520px;object-fit:cover;display:block;border-radius:2px;transition:opacity .25s,transform .4s}
.apt-photo img.swap{opacity:0;transform:scale(1.015)}
.apt-thumbs{display:flex;gap:8px;margin-top:10px;overflow-x:auto;scrollbar-width:none}
.apt-thumbs[hidden]{display:none}
.apt-thumbs button{flex:0 0 auto;width:64px;height:46px;padding:0;border:1px solid transparent;border-radius:2px;background:none;opacity:.5;transition:.2s}
.apt-thumbs button img{width:100%;height:100%;object-fit:cover;display:block}
.apt-thumbs button:hover,.apt-thumbs button.on{opacity:1;border-color:#d2f990}

/* --- infó --- */
.apt-info{display:flex;flex-direction:column;gap:22px;max-width:560px}
.apt-desc{margin:0;line-height:1.75;color:#bcc9be;font-size:16px}
.apt-more{display:block;margin-top:12px;font-size:14px;color:#94a398}
.apt-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:0;padding:18px 0;border-top:1px solid #a7bbab30;border-bottom:1px solid #a7bbab30}
.apt-facts[hidden]{display:none}
.apt-facts dt{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:#7d8b80;margin-bottom:6px}
.apt-facts dd{margin:0;font-size:15px}
.apt-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.apt-cta{display:inline-flex;gap:14px;align-items:center;padding:14px 26px;border-radius:30px;background:#d2f990;color:#101815;font-size:14px;font-weight:600;transition:background .2s,transform .2s}
.apt-cta:hover{background:#eff3ed;transform:translateX(3px)}

@media(max-width:900px){
  .apt-grid{grid-template-columns:1fr;gap:40px}
  .apt-row::before{left:-12px}
}
@media(max-width:750px){
  .apt{padding:45px 6vw 70px}
  .apt .apt-title{margin:38px 0 34px;font-size:clamp(32px,9vw,44px)}
  .apt-row{grid-template-columns:30px 1fr;row-gap:4px;padding:18px 0}
  .apt-meta{grid-column:2}
  .apt-name{font-size:22px}
  .apt-facts{gap:10px}
  .apt-facts dd{font-size:14px}
}
@media(prefers-reduced-motion:reduce){
  .fl-r{animation:none!important}
  .fl .fl-f{opacity:1}
  .apt-photo img#apt-img,.apt-row,.apt-cta{transition:none}
}

/* --- alaprajz --- */
.apt-plan-btn{display:inline-flex;gap:10px;align-items:center;padding:13px 24px;border-radius:30px;border:1px solid #ffffff50;background:transparent;color:#eff3ed;font-size:14px;transition:background .2s,color .2s,border-color .2s}
.apt-plan-btn::before{content:'';width:14px;height:14px;border:1.5px solid currentColor;border-radius:1px;background:linear-gradient(currentColor,currentColor) 50% 0/1.5px 60% no-repeat,linear-gradient(currentColor,currentColor) 0 60%/55% 1.5px no-repeat}
.apt-plan-btn:hover{background:#eff3ed;color:#101815;border-color:#eff3ed}
.apt-plan-btn[hidden]{display:none}
.plan-dlg{width:min(980px,94vw);max-height:92vh;padding:22px 24px 26px;border:1px solid #a7bbab40;border-radius:4px;background:#f3f1ea;color:#18281f}
.plan-dlg::backdrop{background:#00110dd0;backdrop-filter:blur(8px)}
.plan-dlg .dialog-top{color:#18281f;border-bottom:1px solid #18281f20;margin-bottom:18px}
.plan-dlg .dialog-top button{color:#18281f}
.plan-body svg{display:block;width:100%;height:auto;max-height:76vh}
/* rajzi elemek – minden alaprajz ugyanezeket az osztályokat használja */
.plan-body .wall{fill:none;stroke:#18281f;stroke-width:8;stroke-linecap:square;stroke-linejoin:miter}
.plan-body .room{fill:none}
.plan-body .zone{fill:#e3e8d8}
.plan-body .outdoor{fill:#dfe9e3}
.plan-body .door{fill:none;stroke:#18281f;stroke-width:1}
.plan-body .win{fill:#f3f1ea;stroke:#18281f;stroke-width:1}
.plan-body .glass{fill:none;stroke:#18281f;stroke-width:1.5;stroke-dasharray:1 3}
.plan-body .furn{fill:none;stroke:#18281f80;stroke-width:1.2}
.plan-body .label{font:500 12px/1 Steg,Arial,sans-serif;fill:#18281f;text-anchor:middle;letter-spacing:.02em}
.plan-body .sub{font:400 9px/1 Steg,Arial,sans-serif;fill:#18281f99;text-anchor:middle}
.plan-body :is(.label,.sub){paint-order:stroke;stroke:#f3f1ea;stroke-width:4px;stroke-linejoin:round}
.plan-body .note{font:400 11px/1 Steg,Arial,sans-serif;fill:#18281f99}
/* megnyitás: az ablak finoman beúszik, a rajzot az apartments.js animálja */
.plan-dlg[open]{animation:plan-open .45s cubic-bezier(.2,.8,.2,1)}
.plan-dlg[open]::backdrop{animation:plan-fade .4s ease}
@keyframes plan-open{from{opacity:0;transform:translateY(18px) scale(.975)}}
@keyframes plan-fade{from{opacity:0}}
@media(prefers-reduced-motion:reduce){.plan-dlg[open],.plan-dlg[open]::backdrop{animation:none}}

/* --- felfújható flamingó a záró képen (mozgását a flamingo.js vezérli, görgetéshez kötve) --- */
.closing{overflow:hidden}
.flamingo{display:block;position:absolute;right:0;bottom:-3%;width:clamp(240px,34vw,520px);z-index:2;pointer-events:none;transform-origin:62% 100%;transform:translateX(105%);will-change:transform}
.flamingo svg{display:block;width:100%;height:auto;overflow:visible;filter:drop-shadow(0 18px 22px #0006)}
@media(max-width:750px){.flamingo{width:62vw;bottom:-2%}}

/* --- Badacsony vonalrajz a cím mellett (görgetésre rajzolódik ki, apartments.js) --- */
.apt-head{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end;gap:4vw;margin:60px 0 56px}
.apt .apt-head .apt-title{margin:0}
.apt-mountain{justify-self:end;width:min(100%,640px);margin-bottom:-6px}
.apt-mountain svg{display:block;width:100%;height:auto;overflow:visible}
.apt-mountain svg *{stroke-dasharray:1;stroke-dashoffset:1}
.apt-mountain .bm-line{stroke:#e6ede0;stroke-width:1.8}
.apt-mountain .bm-water{stroke:#a7bbab;stroke-width:1;opacity:.6}
.apt-mountain .bm-hatch{stroke:#e6ede0;stroke-width:1;opacity:.75}
.apt-mountain .bm-vine{stroke:#c4ed99;stroke-width:1;opacity:.55}
.apt-mountain .bm-wave{stroke:#a7bbab;stroke-width:1.1;opacity:.55}
.apt-mountain .bm-sun{stroke:#d2f990;stroke-width:1.4}
.apt-mountain .bm-boat{stroke:#e6ede0;stroke-width:1.1}
@media(max-width:750px){
  .apt-head{grid-template-columns:1fr;gap:22px;margin:38px 0 34px}
  .apt-mountain{justify-self:stretch;width:100%}
}
@media(prefers-reduced-motion:reduce){.apt-mountain svg *{stroke-dashoffset:0!important}}

/* --- „Foglalj most” gomb a záró képen: egérre és kattintásra zölden felvillan --- */
.closing .pill{position:relative;transition:background .25s,color .25s,transform .2s,box-shadow .35s}
.closing .pill:hover,.closing .pill:focus-visible{background:#d2f990;color:#101815;box-shadow:0 0 0 0 #d2f990b0;animation:pill-flash .7s ease-out}
.closing .pill:active{background:#e6ffb8;transform:scale(.96);box-shadow:0 0 0 0 #d2f990;animation:pill-flash-hard .45s ease-out}
@keyframes pill-flash{0%{box-shadow:0 0 0 0 #d2f990d0;filter:brightness(1.25)}100%{box-shadow:0 0 0 22px #d2f99000;filter:brightness(1)}}
@keyframes pill-flash-hard{0%{box-shadow:0 0 0 0 #e6ffb8;filter:brightness(1.4)}100%{box-shadow:0 0 0 34px #d2f99000;filter:brightness(1)}}
@media(prefers-reduced-motion:reduce){.closing .pill:hover,.closing .pill:active{animation:none}}

/* Keskeny kijelzőn harmonika: a részletek az apartman sora alatt nyílnak le */
.apt-acc{height:0;overflow:hidden;transition:height .45s cubic-bezier(.2,.8,.2,1)}
.apt-acc>.apt-detail{padding:4px 0 30px}
@media(max-width:900px){
  .apt-grid{gap:0}
  .apt-row{grid-template-columns:30px 1fr 22px;row-gap:4px}
  .apt-meta{grid-column:2}
  .apt-row::after{content:'';grid-column:3;grid-row:1/3;align-self:center;justify-self:end;width:12px;height:12px;background:linear-gradient(currentColor,currentColor) center/12px 1.5px no-repeat,linear-gradient(currentColor,currentColor) center/1.5px 12px no-repeat;transition:transform .35s cubic-bezier(.2,.8,.2,1);opacity:.8}
  .apt-row[aria-expanded="true"]::after{transform:rotate(45deg)}
  .apt-row.is-on{padding-left:0}
  .apt-row::before{display:none}
  .apt-acc .apt-photo img#apt-img,.apt-acc .apt-photo img{aspect-ratio:4/3;height:auto}
}
@media(max-width:750px){.apt-row{grid-template-columns:30px 1fr 22px}}
@media(prefers-reduced-motion:reduce){.apt-acc,.apt-row::after{transition:none}}

/* Lenyitott apartman (keskeny kijelző): letisztult kártya, a fő képhez hasonló kép-érkezéssel */
.apt-frame{position:relative}
@media(max-width:900px){
  .apt-acc>.apt-detail{gap:20px;padding:6px 0 34px}
  .apt-acc .apt-frame{overflow:hidden;border-radius:18px;transform-origin:0 50%;will-change:transform;background:#18231d;isolation:isolate}
  .apt-acc .apt-photo img#apt-img{aspect-ratio:4/3;max-height:none;border-radius:0;transition:opacity .25s;transform-origin:50% 50%;will-change:transform}
  .apt-acc .apt-thumbs{gap:8px;margin-top:12px;padding:2px}
  .apt-acc .apt-thumbs button{width:58px;height:42px;border-radius:10px;overflow:hidden;opacity:.45;border:1.5px solid transparent}
  .apt-acc .apt-thumbs button.on{opacity:1;border-color:#d2f990}
  .apt-acc .apt-info{gap:18px;max-width:none}
  .apt-acc .apt-desc{font-size:15px;line-height:1.7}
  .apt-acc .apt-facts{border:0;background:#ffffff0a;border-radius:16px;padding:14px 16px;gap:10px;grid-template-columns:.8fr 1.45fr .95fr}
  .apt-acc .apt-facts dd{white-space:nowrap}
  .apt-acc .apt-facts dt{font-size:9.5px;margin-bottom:4px}
  .apt-acc .apt-facts dd{font-size:14px}
  .apt-acc .apt-actions{display:grid;grid-template-columns:1fr auto;gap:10px}
  .apt-acc .apt-actions:has(.apt-plan-btn[hidden]){grid-template-columns:1fr}
  .apt-acc .apt-cta{justify-content:center;padding:15px 22px;border-radius:14px}
  .apt-acc .apt-cta:hover{transform:none}
  .apt-acc .apt-plan-btn{border-radius:14px;padding:14px 18px}
}
@media(max-width:900px) and (prefers-reduced-motion:reduce){.apt-acc .apt-frame,.apt-acc .apt-photo img#apt-img{transform:none!important}}

/* Széles nézet: lekerekített képkeret (a váltás-animációt az apartments.js adja) */
@media(min-width:901px){
  .apt-frame{overflow:hidden;border-radius:18px;transform-origin:0 50%;will-change:transform,opacity;isolation:isolate;background:#18231d}
  .apt-frame img#apt-img{border-radius:0;transition:opacity .25s;transform-origin:50% 50%;will-change:transform}
  .apt-thumbs button{border-radius:10px;overflow:hidden}
}
@media(min-width:901px) and (prefers-reduced-motion:reduce){.apt-frame,.apt-frame img#apt-img{transform:none!important;opacity:1!important}}
/* mobil: sok kép esetén a bélyegkép-sáv ne szélesítse ki az oldalt (a rács oszlopa összehúzható legyen) */
@media(max-width:900px){
  .apt-grid{grid-template-columns:minmax(0,1fr)}
  .apt-list,.apt-list>li,.apt-acc,.apt-acc>.apt-detail,.apt-photo{min-width:0;max-width:100%}
  .apt-row{grid-template-columns:30px minmax(0,1fr) 22px}
  .apt-thumbs{min-width:0;max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
}
/* biztonsági háló: a főoldal semmilyen eleme ne szélesíthesse ki vízszintesen a képernyőt (mobilon oldalra csúszás) */
@supports (overflow:clip){html,body{overflow-x:clip}}
@media(max-width:900px){.apt{overflow-x:clip}}
/* képek lapozása ujjal + számláló */
.apt-frame{position:relative;touch-action:pan-y}
.apt-frame img{-webkit-user-drag:none;user-select:none;-webkit-user-select:none}
.apt-count{position:absolute;right:12px;bottom:12px;z-index:2;padding:4px 10px;border-radius:999px;background:#101815b0;color:#eff3ed;font-size:12px;letter-spacing:.3px;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.apt-count[hidden]{display:none}

/* Elérhetőség link: a fejlécben csak gépen (mobilon a láblécben) */
footer .foot-ct:hover{color:#c9eeaa}
@media(max-width:750px){nav .nav-ct{display:none}}

/* Kiválasztott apartman: világos (a honlap világos részeivel azonos, #eef0e8) kitöltésű, lekerekített keret,
   amely ívvel a képes részhez kapcsolódik (az SVG-t az apartments.js rajzolja) */
.apt-grid{position:relative}
.apt-link{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}
.apt-link path{fill:#eef0e8;fill-opacity:0;stroke:#eef0e8;stroke-opacity:.9;stroke-width:1.2;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;transition:fill-opacity .7s .45s}
.apt-link.in path{fill-opacity:1;animation:apt-link-draw 1.1s cubic-bezier(.6,0,.2,1) forwards}
@keyframes apt-link-draw{to{stroke-dashoffset:0}}
.apt-grid>.apt-list,.apt-grid>.apt-detail{position:relative;z-index:1}
.apt-linked .apt-row::before{display:none}
.apt-linked .apt-row.is-on{padding-left:0}
.apt-linked .apt-list li:has(.apt-row.is-on),.apt-linked .apt-list li:has(+ li .apt-row.is-on){border-bottom-color:transparent}
.apt-linked .apt-list:has(li:first-child .apt-row.is-on){border-top-color:transparent}
/* a világos keretben sötét betűk */
.apt-row{transition:color .35s,padding .25s}
.apt-lit.apt-linked .apt-row.is-on{color:#18281f}
.apt-lit.apt-linked .apt-row.is-on .apt-meta{color:#56745d}
.apt-lit.apt-linked .apt-thumbs button{opacity:.6}
.apt-lit.apt-linked .apt-thumbs button:hover,.apt-lit.apt-linked .apt-thumbs button.on{opacity:1;border-color:#18281f}
.apt-detail .apt-desc,.apt-detail .apt-more,.apt-facts,.apt-facts dt,.apt-facts dd,.apt-plan-btn{transition:color .35s,background .35s,border-color .35s}
.apt-cta{transition:color .35s,background .35s,transform .2s}
.apt-lit.apt-linked .apt-detail .apt-desc{color:#2f4636}
.apt-lit.apt-linked .apt-detail .apt-more{color:#4e6153}
.apt-lit.apt-linked .apt-facts{border-color:#18281f1f}
.apt-lit.apt-linked .apt-facts dt{color:#56745d}
.apt-lit.apt-linked .apt-facts dd{color:#18281f}
.apt-lit.apt-linked .apt-cta{background:#18281f;color:#eff3ed}
.apt-lit.apt-linked .apt-cta:hover{background:#2f4636}
.apt-lit.apt-linked .apt-plan-btn{border-color:#18281f40;color:#18281f}
.apt-lit.apt-linked .apt-plan-btn:hover{background:#18281f;color:#eff3ed;border-color:#18281f}
@media(max-width:900px){
  .apt-link{display:none}
}
@media(prefers-reduced-motion:reduce){.apt-link path{animation:none!important;stroke-dashoffset:0;transition:none}}

/* Alacsony asztali ablak (pl. 1920×1080-as laptop 125–150%-os nagyítással): a fotó magassága a képernyőhöz igazodik,
   hogy a leírás, az adatok és a Foglalás gomb is beférjen a képbe görgetés nélkül (magas ablakban marad az 520 px). */
@media(min-width:901px){
  .apt-photo img#apt-img{max-height:clamp(240px,calc(var(--vh,1svh)*100 - 412px),520px)}
}
