/* =====================================================
   SPIRIT SÖRÖZŐ
   style.css
===================================================== */

:root{

    --black:#0f0f0f;
    --dark:#181818;
    --gold:#d89b45;
    --gold-hover:#e7b66a;
    --white:#ffffff;
    --gray:#cfcfcf;

    --radius:15px;

    --transition:.35s ease;

}

*{

    margin:0;
    padding:0;
    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    font-family:'Poppins', sans-serif;

    background:
        linear-gradient(rgba(8,8,8,.50), rgba(8,8,8,.56)),
        url("images/teglafal2-bg.webp");

    background-size:cover;
    background-position:center;
    background-attachment:fixed;
    background-repeat:repeat;

    color:white;

    overflow-x:hidden;

}

/*=========================
Loader
=========================*/

#loader{

    position:fixed;

    inset:0;

    background:#000;

    display:flex;

    justify-content:center;

    align-items:center;

    z-index:99999;

    transition:.6s;

}

#loader img{

    width:170px;

    animation:pulse 2s infinite;

}

@keyframes pulse{

0%{

transform:scale(1);

}

50%{

transform:scale(1.08);

}

100%{

transform:scale(1);

}

}

/*=========================
HEADER
=========================*/

header{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    padding:18px 8%;

    display:flex;

    justify-content:space-between;

    align-items:center;

    backdrop-filter:blur(15px);

    background:rgba(8,8,8,.82);

    border-bottom:1px solid rgba(216,155,69,.10);

    z-index:1000;

    transition:.3s;

}

.logo img{

    height:65px;

}

nav{

    display:flex;

    gap:35px;

}

nav a{

    color:white;

    text-decoration:none;

    font-weight:500;

    transition:.3s;

    position:relative;

}

nav a::after{

content:"";

position:absolute;

left:0;

bottom:-6px;

width:0;

height:2px;

background:var(--gold);

transition:.3s;

}

nav a:hover{

color:var(--gold);

}

nav a:hover::after{

width:100%;

}

/*=========================
Hamburger
=========================*/

#hamburger{

display:none;

flex-direction:column;

cursor:pointer;

gap:6px;

}

#hamburger span{

width:28px;

height:3px;

background:white;

border-radius:5px;

transition:.4s;

}

/*=========================
Mobil menü
=========================*/

#mobileMenu{

position:fixed;

top:95px;

right:-260px;

width:250px;

background:#111;

padding:25px;

display:flex;

flex-direction:column;

gap:20px;

transition:.4s;

z-index:999;

border-left:2px solid var(--gold);

}

#mobileMenu.active{

right:0;

}

#mobileMenu a{

color:white;

text-decoration:none;

font-size:18px;

}

#mobileMenu a:hover{

color:var(--gold);

}

/*=========================
Hero
=========================*/

.hero{

    min-height:85vh;

    display:flex;

    justify-content:center;

    align-items:center;

    text-align:center;

    position:relative;

    overflow:hidden;

    background:
    linear-gradient(rgba(0,0,0,.45), rgba(0,0,0,.72));

}

.overlay{

position:absolute;

inset:0;

background:linear-gradient(to bottom,transparent,#0f0f0f);

}

.hero-content{

    position:relative;

    z-index:2;

    padding:20px;

    margin-top:30px;

}

.hero-logo{
    width:240px;
    margin-bottom:15px;
    animation:
        float 5s ease-in-out infinite,
        fadeUp 1s ease;
}

.hero h1{

    animation:fadeUp 1s .25s both;
}

.hero p{

    animation:fadeUp 1s .5s both;
}

.button{

    animation:fadeUp 1s .75s both;
}

@keyframes float{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-8px);

}

100%{

transform:translateY(0);

}
}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(30px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}


.hero h1{

font-size:58px;

margin-bottom:10px;

}

.hero p{

    font-size:20px;

    color:#dddddd;

    font-weight:300;

    letter-spacing:1px;

    line-height:1.8;

    margin-bottom:20px;

    text-shadow:0 2px 10px rgba(0,0,0,.35);

}

/*=========================
Button
=========================*/

.button{

display:inline-block;

padding:16px 40px;

background:var(--gold);

color:white;

text-decoration:none;

font-weight:600;

border-radius:50px;

transition:.35s;

box-shadow:0 0 20px rgba(216,155,69,.35);

}

.button:hover{

    background:var(--gold-hover);

    transform:translateY(-4px);

}

/*=========================
Section
=========================*/

section{

padding:70px 8%;

background:rgba(15,15,15,.25);

}
.container{

max-width:1200px;

margin:auto;

}

h2{

font-size:38px;

text-align:center;

margin-bottom:15px;

}

.line{

width:90px;

height:4px;

background:var(--gold);

margin:20px auto 40px;

border-radius:20px;

}

.about p{

max-width:900px;

margin:14px auto;

line-height:1.9;

text-align:center;

color:#d2d2d2;

}

/*=========================
Menu Image
=========================*/

.menu-image{

display:flex;

justify-content:center;

}

.menu-image a{
    display:block;
    width:100%;
    text-align:center;
}

.menu-image img{

    width:30%;

    max-width:700px;

    border-radius:20px;

    cursor:pointer;

    transition:.4s;

    box-shadow:0 15px 35px rgba(0,0,0,.6);

}

.menu-image img:hover{

transform:scale(1.03);

}

/*=========================
Lightbox
=========================*/

#lightbox{

position:fixed;

inset:0;

background:rgba(0,0,0,.95);

display:none;

justify-content:center;

align-items:center;

z-index:99999;

}

#lightbox img{

max-width:92%;

max-height:90%;

border-radius:15px;

}

#closeLightbox{

position:absolute;

top:25px;

right:40px;

font-size:50px;

cursor:pointer;

color:white;

}

/*=========================
Kapcsolat
=========================*/

.contact-box{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:20px;

margin-top:30px;

}

.contact-item{

background:rgba(20,20,20,.55);

backdrop-filter:blur(12px);

-webkit-backdrop-filter:blur(12px);

padding:22px 20px;

border-radius:15px;

border:1px solid rgba(216,155,69,.18);

transition:.35s;

text-align:center;

}

.contact-item:hover{

transform:translateY(-8px);

border-color:var(--gold);

}

.contact-item h3{

margin-bottom:8px;

    color:var(--gold);

    font-size:20px;

}

.map{

    margin:45px auto 0;
    max-width:760px;

}

.map-placeholder{
    height:260px;
    border-radius:20px;
    overflow:hidden;

    background:rgba(20,20,20,.55);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);

    border:1px solid rgba(216,155,69,.18);

    transition:.35s ease;
}

.map-placeholder:hover{
    transform:translateY(-8px);
    border-color:var(--gold);
    box-shadow:0 16px 35px rgba(0,0,0,.45);
}
.map-placeholder iframe{
    width:100%;
    height:100%;
    display:block;
    border:none;
}

/*=========================
Footer
=========================*/

footer{

padding:50px 20px;

text-align:center;

background:rgba(8,8,8,.80);

backdrop-filter:blur(10px);

border-top:1px solid rgba(216,155,69,.15);

}

footer img{

width:95px;

margin-bottom:20px;

}

footer p{

color:#888;

}

/*=========================
Top Button
=========================*/

#topBtn{

position:fixed;

bottom:25px;

right:25px;

width:55px;

height:55px;

border:none;

border-radius:50%;

background:var(--gold);

color:white;

font-size:22px;

cursor:pointer;

display:none;

box-shadow:0 0 20px rgba(216,155,69,.45);

transition:.3s;

}

#topBtn:hover{

transform:translateY(-4px);

}

/*=========================
Reveal Animation
=========================*/

.reveal{

opacity:0;

transform:translateY(60px);

transition:1s;

}

.reveal.active{

opacity:1;

transform:translateY(0);

}

/*=========================
Responsive
=========================*/

@media (max-width:900px){

    body{
        background:
            linear-gradient(rgba(8,8,8,.70), rgba(8,8,8,.76)),
            url("images/teglafal2-bg.webp");

        background-size:600px;
        background-position:center top;
        background-repeat:repeat;
        background-attachment:scroll;
    }

    nav{
        display:none;
    }

    #hamburger{
        display:flex;
    }

    .hero h1{
        font-size:42px;
    }

    .hero-logo{
        width:210px;
        margin-bottom:25px;
        animation:float 5s infinite ease-in-out;
    }

    h2{
        font-size:30px;
    }

    section{
        padding:80px 25px;
    }

    .logo img{
        height:55px;
    }
}

@media(max-width:500px){

.contact-box{

grid-template-columns:1fr;

}

.hero h1{

font-size:34px;

}

.hero p{

font-size:16px;

}

.button{

padding:14px 28px;

}

#mobileMenu{

width:220px;

}

}
/*=========================
Közösségi gombok
=========================*/
.social-buttons{

    display:flex;
    justify-content:center;
    gap:16px;
    margin-top:18px;

}

.social-buttons a{

    width:58px;
    height:58px;

    display:flex;
    justify-content:center;
    align-items:center;

    border-radius:16px;

    text-decoration:none;

    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);

    background:rgba(255,255,255,.08);

    border:1px solid rgba(255,255,255,.15);

    box-shadow:0 8px 20px rgba(0,0,0,.30);

    transition:.35s;

}

.social-buttons a:hover{

    transform:translateY(-4px);

}

.social-buttons i{

    font-size:26px;

}

/* Facebook */

.facebook{

    border-color:rgba(24,119,242,.45);

}

.facebook i{

    color:#1877F2;

}

.facebook:hover{

    background:rgba(24,119,242,.15);

    box-shadow:0 0 18px rgba(24,119,242,.40);

}

/* Instagram */

.instagram{

    border-color:rgba(221,42,123,.45);

}

.instagram i{

    background:linear-gradient(
        45deg,
        #F58529,
        #DD2A7B,
        #8134AF,
        #515BD4
    );

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;

}

.instagram:hover{

    background:rgba(221,42,123,.12);

    box-shadow:0 0 18px rgba(221,42,123,.40);

}
/*=========================
Galéria
=========================*/

.gallery .container{

    max-width:800px;

}

.gallery-grid{

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
    margin-top:40px;

}

.gallery-grid img{

    width:100%;

    aspect-ratio:4/3;

    object-fit:cover;

    border-radius:18px;

    cursor:pointer;

    transition:.35s ease;

    box-shadow:0 10px 30px rgba(0,0,0,.35);

    border:1px solid transparent;

}

.gallery-grid img:hover{

    transform:translateY(-3px);

    box-shadow:0 14px 30px rgba(0,0,0,.45);

    border:1px solid rgba(216,155,69,.22);

}

@media(max-width:900px){

.gallery-grid{

    grid-template-columns:repeat(2,1fr);

}

}

@media(max-width:600px){

.gallery-grid{

    grid-template-columns:1fr;

    }

.gallery-grid img{

    width:65%;
    margin:auto;

}

}
@media (max-width: 600px){

    .menu-image img{
        width: 65%;
        max-width: 350px;
    }

}