/* FULL SCREEN MENU – v1.0.4 */

/* A fejlécben lévő eredeti gomb */
.whb-sticked .ap-fs-menu-toggle,
.whb-sticked .ap-fs-menu-toggle span{color:#333!important}
.whb-sticked .ap-fs-menu-toggle span{background:#333!important}

.ap-fs-menu{
    --ap-bg:#1a1a1a;
    --ap-accent:var(--wd-alternative-color,#b39a45);
    position:relative;
    z-index:999999;
    height:100%;
    display:flex;
    align-items:center;
}

.ap-fs-menu-toggle{
    position:relative!important;
    top:auto!important;
    transform:none!important;
    display:block!important;
    width:32px!important;
    height:28px!important;
    min-width:32px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    outline:0!important;
    background:transparent!important;
    box-shadow:none!important;
    cursor:pointer!important;
    appearance:none!important;
    -webkit-appearance:none!important;
    z-index:1000002!important;
    color:#333!important;
}

.ap-fs-menu-toggle span{
    position:absolute!important;
    left:0!important;
    display:block!important;
    width:32px!important;
    height:2px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:#333!important;
    opacity:1!important;
    transform-origin:center center!important;
    transition:top .35s cubic-bezier(.77,0,.18,1),transform .35s cubic-bezier(.77,0,.18,1),opacity .2s ease!important;
}

.ap-fs-menu-toggle span:nth-child(1){top:3px!important}
.ap-fs-menu-toggle span:nth-child(2){top:13px!important}
.ap-fs-menu-toggle span:nth-child(3){top:23px!important}

/* Eredeti hamburger → X animáció */
.ap-fs-menu.is-open .ap-fs-menu-toggle span:nth-child(1){
    top:13px!important;
    transform:rotate(45deg)!important;
}
.ap-fs-menu.is-open .ap-fs-menu-toggle span:nth-child(2){opacity:0!important}
.ap-fs-menu.is-open .ap-fs-menu-toggle span:nth-child(3){
    top:13px!important;
    transform:rotate(-45deg)!important;
}
.ap-fs-menu.is-open .ap-fs-menu-toggle,
.ap-fs-menu.is-open .ap-fs-menu-toggle span{color:#fff!important}
.ap-fs-menu.is-open .ap-fs-menu-toggle span{background:#fff!important}

/* A bezáró gomb az overlay saját, body-szintű rétegében marad.
   Ugyanaz a 3 span + hamburger → X animáció, mint az eredeti gombnál. */

.ap-fs-menu-close{
    position:fixed!important;
    top:var(--ap-fs-close-top,0px)!important;
    left:var(--ap-fs-close-left,0px)!important;
    width:32px!important;
    height:28px!important;
    min-width:32px!important;
    padding:0!important;
    margin:0!important;
    border:0!important;
    outline:0!important;
    background:transparent!important;
    box-shadow:none!important;
    cursor:pointer!important;
    appearance:none!important;
    -webkit-appearance:none!important;
    transform:none!important;
    transition:none!important;
    z-index:2147483647!important;
    color:#fff!important;
    display:block!important;
    pointer-events:auto!important;
}

.ap-fs-menu-close span{
    position:absolute!important;
    left:0!important;
    display:block!important;
    width:32px!important;
    height:2px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:#fff!important;
    transform-origin:center center!important;
    transition:top .35s cubic-bezier(.77,0,.18,1),transform .35s cubic-bezier(.77,0,.18,1),opacity .2s ease!important;
}

.ap-fs-menu-close span:nth-child(1){top:3px!important}
.ap-fs-menu-close span:nth-child(2){top:13px!important}
.ap-fs-menu-close span:nth-child(3){top:23px!important}

.ap-fs-menu-close.is-open span:nth-child(1){
    top:13px!important;
    transform:rotate(45deg)!important;
}
.ap-fs-menu-close.is-open span:nth-child(2){opacity:0!important}
.ap-fs-menu-close.is-open span:nth-child(3){
    top:13px!important;
    transform:rotate(-45deg)!important;
}

@media(max-width:767px){
    .ap-fs-menu-close{
        top:var(--ap-fs-close-top,0px)!important;
        left:var(--ap-fs-close-left,0px)!important;
    }
}

/* BODY-SZINTŰ OVERLAY – ettől nem tudja a Leaflet felülírni */
.ap-fs-menu-overlay{
    --ap-bg:#1a1a1a;
    --ap-accent:var(--wd-alternative-color,#b39a45);
    position:fixed!important;
    inset:0!important;
    width:100%!important;
    height:100dvh!important;
    overflow:hidden!important;
    background:var(--ap-bg)!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
    transition:opacity .55s ease,visibility .55s ease!important;
    z-index:1000000!important;
}

/* FONTOS: az overlay már a body közvetlen gyereke */
body.ap-fs-menu-open .ap-fs-menu-overlay{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
}

/* Háttér – AZ EREDETI KÉP ÉS ARÁNYOK */
.ap-fs-menu-bg{
    position:absolute!important;
    inset:0!important;
    background:
        linear-gradient(90deg,rgba(26,26,26,.97) 0%,rgba(26,26,26,.88) 48%,rgba(26,26,26,.94) 100%),
        url('https://lh3.googleusercontent.com/gps-cs-s/AHRPTWkaYHiRz8U0oSEJloIFyRlh3ANI4L72zJ6gwfCTv4njNqS6EkbQK4qhJz_DLL84_f_v80FOEI4SZ9nQ6SO_csDNSJvGX6xzmPVhYNCgOU2NJMglhpxNULGCbptZSIVUYmDv9eiGbw=s1360-w1360-h1020-rw') center center/cover no-repeat!important;
    opacity:.85!important;
    pointer-events:none!important;
    transform:scale(1.06)!important;
    transition:transform 1.1s cubic-bezier(.22,1,.36,1)!important;
}

body.ap-fs-menu-open .ap-fs-menu-bg{transform:scale(1)!important}

/* TARTALOM – AZ EREDETI ELRENDEZÉS */
.ap-fs-menu-content{
    position:relative!important;
    z-index:2!important;
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    max-width:1500px!important;
    margin:0 auto!important;
    padding:28px 5vw 40px!important;
    box-sizing:border-box!important;
    display:flex!important;
    flex-direction:column!important;
}

.ap-fs-menu-header{
    position:relative!important;
    width:100%!important;
    height:80px!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    flex-shrink:0!important;
}

.ap-fs-menu-logo{
    display:block!important;
    line-height:0!important;
}

.ap-fs-menu-logo img{
    display:block!important;
    width:auto!important;
    height:100px!important;
    max-width:240px!important;
    object-fit:contain!important;
    filter:brightness(0) invert(1)!important;
    opacity:.92!important;
}

.ap-fs-navigation{
    width:100%!important;
    flex:1!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    gap:44px!important;
}

.ap-fs-navigation-primary{
    width:100%!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(200px,1fr))!important;
    column-gap:clamp(35px,6vw,100px)!important;
    row-gap:56px!important;
    align-items:start!important;
}

.ap-fs-navigation-secondary{
    width:100%!important;
    margin:0!important;
    padding:0!important;
    list-style:none!important;
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(160px,1fr))!important;
    column-gap:clamp(35px,6vw,100px)!important;
    row-gap:28px!important;
    align-items:start!important;
    text-align:center!important;
}

.ap-fs-divider{
    width:100%!important;
    height:1px!important;
    background:rgba(255,255,255,.12)!important;
    opacity:0!important;
    transition:opacity .6s ease .25s!important;
}

body.ap-fs-menu-open .ap-fs-divider{opacity:1!important}

.ap-fs-navigation-primary>li,
.ap-fs-navigation-secondary>li{
    display:block!important;
    width:auto!important;
    margin:0!important;
    padding:0!important;
    opacity:0!important;
    transform:translateY(22px)!important;
    transition:opacity .7s ease,transform .8s cubic-bezier(.22,1,.36,1)!important;
}

body.ap-fs-menu-open .ap-fs-navigation-primary>li,
body.ap-fs-menu-open .ap-fs-navigation-secondary>li{
    opacity:1!important;
    transform:translateY(0)!important;
}

.ap-fs-navigation-primary>li:nth-child(1){transition-delay:.08s!important}
.ap-fs-navigation-primary>li:nth-child(2){transition-delay:.15s!important}
.ap-fs-navigation-primary>li:nth-child(3){transition-delay:.22s!important}
.ap-fs-navigation-primary>li:nth-child(4){transition-delay:.29s!important}
.ap-fs-navigation-primary>li:nth-child(5){transition-delay:.36s!important}
.ap-fs-navigation-primary>li:nth-child(6){transition-delay:.43s!important}
.ap-fs-navigation-primary>li:nth-child(n+7){transition-delay:.5s!important}

.ap-fs-navigation-secondary>li:nth-child(1){transition-delay:.3s!important}
.ap-fs-navigation-secondary>li:nth-child(2){transition-delay:.36s!important}
.ap-fs-navigation-secondary>li:nth-child(3){transition-delay:.42s!important}
.ap-fs-navigation-secondary>li:nth-child(4){transition-delay:.48s!important}
.ap-fs-navigation-secondary>li:nth-child(n+5){transition-delay:.54s!important}

.ap-fs-navigation-primary>li>a{
    position:relative!important;
    display:inline-block!important;
    margin:0!important;
    padding:0 0 17px!important;
    color:#fff!important;
    font-size:clamp(27px,2.45vw,42px)!important;
    line-height:1.08!important;
    font-weight:400!important;
    text-decoration:none!important;
    transition:color .3s ease,transform .35s ease!important;
    font-family:FreightDisp;
}

.ap-fs-navigation-primary>li>a:after{
    content:""!important;
    position:absolute!important;
    left:0!important;
    bottom:0!important;
    width:38px!important;
    height:1px!important;
    background:var(--ap-accent)!important;
    transition:width .35s ease!important;
}

.ap-fs-navigation-primary>li>a:hover{transform:translateX(3px)!important}
.ap-fs-navigation-primary>li>a:hover:after{width:62px!important}
.ap-fs-navigation-primary>li.current-menu-item>a{color:var(--ap-accent)!important}
.ap-fs-navigation-primary>li.current-menu-item>a:after{width:62px!important}

.ap-fs-navigation-secondary>li>a{
    position:relative!important;
    display:inline-block!important;
    margin:0!important;
    padding:0 0 14px!important;
    color:#fff!important;
    font-size:clamp(20px,1.55vw,27px)!important;
    line-height:1.08!important;
    font-weight:400!important;
    text-decoration:none!important;
    transition:color .3s ease,transform .35s ease!important;
    font-family:FreightDisp!important;
}

.ap-fs-navigation-secondary>li>a:after{
    content:""!important;
    position:absolute!important;
    left:50%!important;
    bottom:0!important;
    width:38px!important;
    height:1px!important;
    background:var(--ap-accent)!important;
    transform:translateX(-50%)!important;
    transition:width .35s ease!important;
}

.ap-fs-navigation-secondary>li>a:hover{transform:translateY(-2px)!important}
.ap-fs-navigation-secondary>li>a:hover:after{width:56px!important}
.ap-fs-navigation-secondary>li.current-menu-item>a{color:var(--ap-accent)!important}

.ap-fs-navigation-primary .sub-menu,
.ap-fs-navigation-secondary .sub-menu{
    display:block!important;
    width:100%!important;
    margin:20px 0 0!important;
    padding:0!important;
    list-style:none!important;
}

.ap-fs-navigation-primary .sub-menu li,
.ap-fs-navigation-secondary .sub-menu li{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
}

.ap-fs-navigation-primary .sub-menu a,
.ap-fs-navigation-secondary .sub-menu a{
    position:relative!important;
    display:block!important;
    padding:8px 0!important;
    color:rgba(255,255,255,.66)!important;
    font-size:clamp(15px,1.08vw,18px)!important;
    line-height:1.35!important;
    font-weight:400!important;
    text-decoration:none!important;
    transition:color .3s ease,padding-left .3s ease!important;
}

.ap-fs-navigation-primary .sub-menu a:after,
.ap-fs-navigation-secondary .sub-menu a:after{
    content:""!important;
    position:absolute!important;
    left:0!important;
    bottom:0!important;
    width:100%!important;
    height:1px!important;
    background:rgba(255,255,255,.08)!important;
    transition:background .3s ease!important;
}

.ap-fs-navigation-primary .sub-menu a:hover,
.ap-fs-navigation-secondary .sub-menu a:hover{
    color:#fff!important;
    padding-left:5px!important;
}

.ap-fs-navigation-primary .sub-menu a:hover:after,
.ap-fs-navigation-secondary .sub-menu a:hover:after{
    background:rgba(255,255,255,.18)!important;
}

.ap-fs-navigation-primary .sub-menu .sub-menu,
.ap-fs-navigation-secondary .sub-menu .sub-menu{
    margin:3px 0 4px 15px!important;
    width:calc(100% - 15px)!important;
}

.ap-fs-navigation-primary .sub-menu .sub-menu a,
.ap-fs-navigation-secondary .sub-menu .sub-menu a{
    padding:5px 0!important;
    font-size:15px!important;
    color:rgba(255,255,255,.45)!important;
}

.ap-fs-navigation-primary:hover>li>a,
.ap-fs-navigation-secondary:hover>li>a{
    color:rgba(255,255,255,.55)!important;
}

.ap-fs-navigation-primary:hover>li:hover>a,
.ap-fs-navigation-secondary:hover>li:hover>a{
    color:#fff!important;
}

body.ap-fs-menu-open{overflow:hidden!important}
/*
 * Végső védelem Leaflet / egyedi z-index ellen:
 * nyitott menünél a térképet nem engedjük kirajzolódni a menü fölé.
 */
body.ap-fs-menu-open .apsl,
body.ap-fs-menu-open .apsl .leaflet-container{
    visibility:hidden!important;
}


@media(max-width:1024px){
    .ap-fs-menu{display:none!important}
}

@media(max-height:800px) and (min-width:1025px){
    .ap-fs-menu-content{
        padding-top:18px!important;
        padding-bottom:25px!important;
    }
    .ap-fs-menu-header{height:65px!important}
    .ap-fs-menu-logo img{height:100px!important}
    .ap-fs-navigation{gap:30px!important}
    .ap-fs-navigation-primary{row-gap:38px!important}
    .ap-fs-navigation-primary>li>a{
        font-size:clamp(24px,2.25vw,36px)!important;
        padding-bottom:12px!important;
    }
    .ap-fs-navigation-primary .sub-menu,
    .ap-fs-navigation-secondary .sub-menu{
        margin-top:12px!important;
    }
    .ap-fs-navigation-primary .sub-menu a,
    .ap-fs-navigation-secondary .sub-menu a{
        padding:5px 0!important;
    }
}

@media(prefers-reduced-motion:reduce){
    .ap-fs-menu-overlay,
    .ap-fs-menu-bg,
    .ap-fs-menu-toggle span,
    .ap-fs-navigation-primary>li,
    .ap-fs-navigation-secondary>li,
    .ap-fs-navigation-primary>li>a,
    .ap-fs-navigation-secondary>li>a,
    .ap-fs-divider,
    .sub-menu a{
        transition:none!important;
    }
}

/* FULL SCREEN MENU VÉGE */
