/*=========================================
        RESTAURACJA DEMO
=========================================*/

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

:root{

    --bg:#141311;

    --surface:rgba(255,255,255,.06);

    --border:rgba(255,255,255,.08);

    --text:#F8F6F3;

    --muted:#C6C1B9;

    --gold:#C9A227;

    --green:#244332;

    --radius:22px;

}

html{

    scroll-behavior:smooth;

}

body{

    font-family:'Inter',sans-serif;

    background:var(--bg);

    color:var(--text);

    overflow-x:hidden;

}

h1,h2,h3{

    font-family:'Cormorant Garamond',serif;

}

/*=========================================
        WŁOSKA FLAGA
=========================================*/

.italy-bar{

    height:5px;

    background:
    linear-gradient(90deg,
    #009246 33%,
    #ffffff 33%,
    #ffffff 66%,
    #CE2B37 66%);

}

/*=========================================
        TŁO
=========================================*/

body::before{

    content:"";

    position:fixed;

    inset:0;

    z-index:-2;

    background:

    radial-gradient(circle at 20% 20%,rgba(201,162,39,.12),transparent 35%),

    radial-gradient(circle at 80% 20%,rgba(36,67,50,.18),transparent 40%),

    radial-gradient(circle at 50% 100%,rgba(201,162,39,.08),transparent 45%);

    filter:blur(60px);

}

/*=========================================
        HERO
=========================================*/

.hero{

    position:relative;

    min-height:95vh;

    display:flex;

    justify-content:center;

    align-items:center;

    text-align:center;

    overflow:hidden;

}

.hero::before{

    content:"";

    position:absolute;

    inset:0;

    background:url("assets/hero.jpg") center/cover;

    filter:brightness(.42);

    transform:scale(1.05);

}

.hero-overlay{

    position:absolute;

    inset:0;

    background:

    linear-gradient(to bottom,

    rgba(20,19,17,.25),

    rgba(20,19,17,.88));

}

.hero-content{

    position:relative;

    z-index:5;

    max-width:760px;

    padding:20px;

}

.badge{

    display:inline-block;

    padding:10px 18px;

    border-radius:999px;

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.08);

    margin-bottom:25px;

}

.hero h1{

    font-size:clamp(60px,8vw,110px);

    letter-spacing:3px;

    margin-bottom:20px;

}

.hero p{

    color:var(--muted);

    font-size:20px;

    line-height:1.9;

}

/*=========================================
        CONTAINER
=========================================*/

.container{

    width:min(1180px,92%);

    margin:auto;

}

section{

    padding:120px 0;

}

/*=========================================
        ABOUT
=========================================*/

.about .container{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:center;

}

.about h2{

    font-size:52px;

    color:var(--gold);

    margin-bottom:25px;

}

.about p{

    color:var(--muted);

    line-height:2;

    margin-bottom:18px;

}

.about-image img{

    width:100%;

    display:block;

    border-radius:22px;

    box-shadow:0 30px 70px rgba(0,0,0,.45);

    transition:.45s;

}

.about-image img:hover{

    transform:scale(1.03);

}

/*=========================================
        SPECJALNOŚCI
=========================================*/

.specialities{

    text-align:center;

}

.specialities h2{

    font-size:50px;

    color:var(--gold);

    margin-bottom:60px;

}

.cards{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:28px;

}

.card{

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.08);

    border-radius:22px;

    padding:45px;

    backdrop-filter:blur(20px);

    transition:.35s;

}

.card:hover{

    transform:translateY(-10px);

    border-color:rgba(201,162,39,.35);

    box-shadow:0 25px 60px rgba(0,0,0,.4);

}

.icon{

    font-size:46px;

    margin-bottom:18px;

}

.card h3{

    font-size:34px;

    margin-bottom:12px;

}

.card p{

    color:var(--muted);

    line-height:1.8;

}

/*=========================================
            GALERIA
=========================================*/

.gallery{

    text-align:center;

}

.gallery h2{

    font-size:50px;

    color:var(--gold);

    margin-bottom:60px;

}

.gallery-grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:24px;

}

.gallery-grid img{

    width:100%;

    aspect-ratio:1.15;

    object-fit:cover;

    border-radius:22px;

    cursor:pointer;

    transition:
    transform .45s ease,
    box-shadow .45s ease,
    filter .45s ease;

    filter:brightness(.92);

}

.gallery-grid img:hover{

    transform:scale(1.04);

    filter:brightness(1);

    box-shadow:
    0 30px 70px rgba(0,0,0,.45);

}

/*=========================================
        WŁOSKI KLIMAT
=========================================*/

.experience .container{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:70px;

    align-items:center;

}

.experience-image img{

    width:100%;

    border-radius:22px;

    display:block;

    transition:.45s;

    box-shadow:0 30px 70px rgba(0,0,0,.45);

}

.experience-image img:hover{

    transform:scale(1.03);

}

.experience h2{

    font-size:52px;

    color:var(--gold);

    margin-bottom:22px;

}

.experience p{

    color:var(--muted);

    line-height:2;

}

/*=========================================
        STOPKA
=========================================*/

footer{

    padding:90px 20px;

    text-align:center;

    border-top:1px solid rgba(255,255,255,.08);

    margin-top:70px;

}

footer h3{

    font-size:42px;

    color:var(--gold);

    margin-bottom:16px;

}

footer p{

    color:#A8A29E;

    line-height:1.8;

}

/*=========================================
        SCROLL ANIMATIONS
=========================================*/

.hidden{

    opacity:0;

    transform:translateY(70px);

    transition:

    opacity .9s ease,

    transform .9s ease;

}

.show{

    opacity:1;

    transform:translateY(0);

}

/*=========================================
        DELIKATNE ANIMACJE
=========================================*/

.hero-content{

    animation:heroFade 1.4s ease;

}

@keyframes heroFade{

    from{

        opacity:0;

        transform:translateY(30px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

.card{

    position:relative;

    overflow:hidden;

}

.card::before{

    content:"";

    position:absolute;

    inset:-120%;

    background:

    linear-gradient(

        120deg,

        transparent,

        rgba(255,255,255,.08),

        transparent

    );

    transition:1s;

}

.card:hover::before{

    inset:120%;

}

/*=========================================
        RESPONSIVE
=========================================*/

@media(max-width:980px){

.hero{

min-height:80vh;

}

.hero h1{

font-size:64px;

}

.hero p{

font-size:17px;

}

.about .container,

.experience .container{

grid-template-columns:1fr;

text-align:center;

}

.cards{

grid-template-columns:1fr;

}

.gallery-grid{

grid-template-columns:1fr;

}

.about h2,

.specialities h2,

.gallery h2,

.experience h2{

font-size:40px;

}

}

@media(max-width:600px){

.hero h1{

font-size:48px;

}

.badge{

font-size:13px;

}

.hero p{

font-size:16px;

line-height:1.7;

}

.about h2,

.specialities h2,

.gallery h2,

.experience h2{

font-size:34px;

}

.card{

padding:30px;

}

footer h3{

font-size:32px;

}

}

/*=========================
        NAVBAR
=========================*/

.navbar{

position:fixed;

top:20px;

left:50%;

transform:translateX(-50%);

width:min(1150px,92%);

padding:16px 28px;

display:flex;

justify-content:space-between;

align-items:center;

background:rgba(15,15,15,.55);

backdrop-filter:blur(18px);

border:1px solid rgba(255,255,255,.08);

border-radius:18px;

z-index:999;

}

.logo{

font-size:26px;

font-family:"Cormorant Garamond",serif;

color:var(--gold);

font-weight:700;

}

.navbar ul{

display:flex;

gap:35px;

list-style:none;

}

.navbar a{

color:#fff;

text-decoration:none;

transition:.3s;

}

.navbar a:hover{

color:var(--gold);

}

/*=========================
        MENU
=========================*/

.menu-section{

text-align:center;

}

.menu-subtitle{

color:var(--muted);

margin-bottom:45px;

}

.menu-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:28px;

}

.menu-box{

background:rgba(255,255,255,.05);

border:1px solid rgba(255,255,255,.08);

border-radius:22px;

padding:35px;

backdrop-filter:blur(20px);

text-align: left; 

}

.menu-box h3{

font-size:32px;

margin-bottom:25px;

color:var(--gold);

}

.menu-box ul{

list-style:none;

}

.menu-box li{

display:flex;

justify-content:space-between;

padding:14px 0;

border-bottom:1px solid rgba(255,255,255,.06);

}

/*=========================
        KONTAKT
=========================*/

.contact{

text-align:center;

}

.contact-box{

background:rgba(255,255,255,.05);

border:1px solid rgba(255,255,255,.08);

border-radius:22px;

padding:40px;

max-width:650px;

margin:40px auto;

line-height:2;

backdrop-filter:blur(18px);

}

.demo-note{

margin-top:25px;

color:#9CA3AF;

font-size:14px;

}

/*=========================
      RESPONSIVE
=========================*/

@media(max-width:900px){

.navbar ul{

display:none;

}

.menu-grid{

grid-template-columns:1fr;

}

}

/*=========================================
            LIGHTBOX
=========================================*/

.lightbox{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.88);

    display:flex;

    justify-content:center;

    align-items:center;

    opacity:0;

    visibility:hidden;

    transition:.35s;

    z-index:99999;

}

.lightbox.active{

    opacity:1;

    visibility:visible;

}

.lightbox img{

    max-width:90%;

    max-height:85vh;

    border-radius:18px;

    transform:scale(.9);

    transition:.35s;

    box-shadow:0 40px 100px rgba(0,0,0,.6);

}

.lightbox.active img{

    transform:scale(1);

}

.lightbox-close{

    position:absolute;

    top:30px;

    right:40px;

    font-size:46px;

    color:#fff;

    cursor:pointer;

    transition:.3s;

}

.lightbox-close:hover{

    transform:rotate(90deg);

    color:var(--gold);

}