    *{
        padding: 0;
        margin: 0;
        box-sizing: border-box;
        List-style: none;
        text-decoration: none;
        font-family: "Roboto", sans-serif;
    }

    :root{
        --bg-color:#0c0c0c;
        --text-color: #fff;
        --main-color: #ae8957;

        --big-font: 6.6rem;
        --p-font: 1rem;
    }


    body{
        background: url(img/bg.png) no-repeat center center fixed;
        background-size: cover;
        background-attachment: fixed;
        color: var(--text-color);
        
    }

    header{
        position: fixed;
        width: 100%;
        top: 0;
        right: 0;
        z-index: 1000;
        padding: 35px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        transition: all .50s ease;
        background-color: var(--main-color);
        height: 90px; 
    }

    .header-title{
        font-family: "Playfair Display", serif;
        font-size: 30px;
        font-weight:bold;
        color: var(--text-color);
    }

    .logo img{
        width: 100%;
        height: auto;
    }




    /*Navigation*/
    .navlist{
        display: flex;    
    }

    .navlist a{
        display: inline-block;
        margin: 0 35px;
        color: var(--text-color);
        font-size: var(--p-font);
        transition: all .6s ease;
        
    }

    .navlist a:hover{
        color: var(--bg-color);
    }

    .right-content{
        display: flex;
        align-items: center;
    }

    .nav-btn{
        display: inline-block;
        padding: 9px 24px;
        background: transparent;
        border: 2px solid var(--text-color);
        border-radius: 7px;
        color: var(--text-color);
        font-size: 15px;
        font-weight: 500;
        transition: all .6s ease;
    }

    .nav-btn:hover{
        transform: translateY(-5px);
        border: 2px solid var(--bg-color);
        color: var(--bg-color);
    }




    /*Footer*/
    footer {
        width: 100vw;
        position: relative; 
        left: 0; 
        background-color: #333;
        color: #ffffff;
        text-align: center;
        padding: 20px 0;
        font-size: 1rem;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 10px; 
        margin-top: 2em;
    }

    footer p {
        font-size: 1rem;
        color: #ffffff;
        
    }

    footer a {
        font-size: 1rem;
        color: #ae8957;
    }

    
    footer a i {
        font-size: 2rem;
    }


    /*p*/
    p {
        font-size: 1.1rem;
        line-height: 1.6;
        max-width: 800px;
        margin: 20px auto;
        text-align: center;
        color: #ffffff;
        padding-top: 20px;
    }

    .product-description p{
        font-size: 1.1rem;
        line-height: 1.6;
        max-width: 800px;
        margin: 20px auto;
        text-align: center;
        color: #E9E9E9;
        padding-top: 5px
    }

    #menu-icon{
        font-size: 42px;
        z-index: 10001;
        cursor: pointer;
        margin-left: 25px;
        display: none;
    }

    /*Section*/
    section {
        padding: 0 10%; 
        background: transparent; 
        padding-top: 10px; 


    }




    /*Hero*/
    .hero{
        margin-top: 40px;
        position: relative;
        width: 100%;
        height: 100vh;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        align-items: center;
        gap: 2rem;
    }

    .hero-img img {
        width: 55%;
        height: auto;
        transform: translateX(150px); 
    }

    .hero-text h1{
        font-family: "Playfair Display", serif;

        font-size: 5rem;
        font-weight: 600;
        margin: 15px 0;

    }

    .hero-text h5{
        font-size: 18px;
        font-weight: 400;
        letter-spacing: 1px;
    }

    .hero-text p{
        width: 100%;
        max-width: 620px;
        font-size: var(--p-font);
        font-weight: 400;
        line-height: 32px;
        color: var(--text-color);
        margin-bottom: 40px;
        text-align: left;
    }

    .main-hero{
        display: flex;
        align-items: center;
    }


    .spacer {
        height: 100vh;
    }
    .story-section {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 50px;
        margin-top: -75px;
        padding-bottom: 80px;
    }
    .section-title {
        font-size: 2rem;
        margin-bottom: 20px;
    }
    .scroll-text {
        font-size: 1.1rem;
        line-height: 1.6;
        max-width: 800px;
        margin: 20px auto;
        text-align: center;
        color: #ffffff;
        padding-top: 20px;
        opacity: 0;
        transform: translateX(-200px);
    }




    /*Button*/
    .btn{
        display: inline-block;
        padding: 13px 32px;
        background: var(--main-color);
        border: 2px solid transparent;
        border-radius: 7px;
        color: var(--text-color);
        font-size: 15px;
        font-weight: 500;
        transition: all .6s ease;
        margin-right: 20px;
    }

    .btn:hover{
        transform: scale(1.1);
    }


    /*Price*/
    .price{
        display: flex;
        align-items: center;
        font-size: 28px;
        font-weight: bold;
        color: var(--text-color);    
    }

    .price span{
        font-size: 17px;
        font-weight: 400;
        color: var(--main-color);
        margin-left: 10px;
    }


    /*Icons*/
    .icons{
        position: absolute;
        top: 40%;
        padding: 0 7%;
        transform: translateY(-50%);
    }

    .icons i{
        display: block;
        margin: 35px 0;
        color: var(--text-color);
        font-size: 23px;
        transition: all .6s;
    }

    .icons i:hover{
        transform: translateY(-5px);
        color: var(--main-color);
    }


    /*Scroll*/
    .scroll{
        position: absolute;
        top: 92%;
        right: 7%;
        transform: translateY(-50%);
    }

    .scroll a{
        font-size: 16px;
        color: var(--text-color);
    }

    .scroll i{
        font-size: 20px;
        color: var(--text-color);
        margin-right: 6px;
    }


    /*Section-Title*/
    .section-title{
        margin: 0 auto;
        margin-bottom: 30px;
        padding: 0 20px;
        max-width: var(--site-max-width);
        text-align: center;
        font-size: 40px;
    }




    /*Timeline*/
    .timeline-section{
        padding-bottom: 70px;
    }

    .timeline {
        background: var(--primary-color);
        margin: 0 auto; 
        padding: 0; 
        width: 100%; 
        max-width: 1200px; 
        display: flex;
        flex-direction: column;
        align-items: center;
        min-height: 100vh;
        overflow: visible;
        position: relative; 
    }
    
    .card {
        position: relative;
        width: 100%; 
        max-width: 1000px; 
        padding: 40px; 
    }

    .card:nth-child(odd) {
        padding: 50px 0 50px 50px; 
    }
    .card:nth-child(even) {
        padding: 50px 50px 50px 0; 
    }


    .card::before {
        content: "";
        position: absolute;
        width: 50%;
        border: solid #ae8957;
        top: 50%; 
        z-index: -1; 
    }
    
    .card:nth-child(odd)::before {
        left: 0px;
        top: -4.5px;
        bottom: -4.5px;
        border-width: 5px 0 5px 5px;
        border-radius: 50px 0 0 50px;
    }
    
    @media only screen and (max-width: 400px) {
        .card:nth-child(odd)::before {
            top: -5px;
            bottom: -5px;
        }

        .card:nth-child(even)::before {
            top: -5px;
            bottom: -5px;
        }

        .timeline {
            min-height: auto;
        }
    }

    .card:nth-child(even)::before {
        right: 0;
        top: 0;
        bottom: 0;
        border-width: 5px 5px 5px 0;
        border-radius: 0 50px 50px 0;
    }
    
    .card:first-child::before {
        border-top: 0;
        border-top-left-radius: 0;
        top: 0;
    }
    
    .card:last-child:nth-child(odd)::before {
        border-bottom: 0;
        border-bottom-left-radius: 0;
        bottom: 0; 

    }
    
    .card:last-child:nth-child(even)::before {
        border-bottom: 0;
        border-bottom-right-radius: 0;
        bottom: 0; 
    }

    .info {
        display: flex;
        flex-direction: column;
        background: #333;
        color: gray;
        border-radius: 10px;
        padding: 45px; 
    }
    
    .title {
        color: #ae8957;
        position: relative;
    }
    
    .title::before {
        content: attr(data-number); 
        position: absolute;
        width: 40px; 
        height: 40px;
        background: white;
        border-radius: 999px;
        border: 3px solid #ae8957;
        top: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 16px; 
        font-weight: bold;
        color: #ae8957;

        
    }
    
    .card:nth-child(even) > .info > .title {
        text-align: right;
    }

    .card:nth-child(odd) > .info > .title::before {
        left: -115px;
    }

    .card:nth-child(even) > .info > .title::before {
        right: -115px;
    }




    /*Team*/
    .team-section{
        padding: 0 10% 100px;
        background: var(--light-pink-color);
    }


    .team-section .slider-wrapper{
        overflow: hidden;
        margin: 0 60px 50px;   
    }

    .team-section .team{
        display: flex;
        padding: 35px;
        text-align: center;
        flex-direction: column;
        align-items: center;

    }

    .team-section .team .user-image{
        width: 180px;
        height: 180px;
        object-fit: cover;
        margin-bottom: 50px;
        border-radius: 100px;
    }

    .team-section .team .name{
        margin-bottom: 16px;
        font-size: var(--font-size-m);
    }

    .team-section .team .name::first-letter {
        font-weight: bold;
        color: #ae8957;
    }


    .team-section .team .feedback{
        line-height: 25px;
    }

    .team-section .swiper-pagination-bullet{
        width: 15px;
        height: 15px;
        opacity: 1;
        background: var(--text-color);
    }


    .team-section .swiper-slide-button{
        margin-top: -50px;
        color: var(--text-color);
        transform: 0.6s ease;
    }

    .team-section .swiper-slide-button:hover{
        color: var(--main-color);
    }




    /* Swiper navigation */
    .swiper-button-prev,
    .swiper-button-next {
        color: #333;
        font-size: 20px;
    }

    .swiper-pagination-bullet {
        background: #333;
    }




  

    .gallery-section .gallery-list{
        display: flex;
        flex-wrap: wrap;
        gap: 32px;
    }

    .gallery-section .gallery-list .gallery-item{
        overflow: hidden;
        border-radius: 4px;
        width: calc(100% / 3 - 32px);
    }

    .gallery-section .gallery-item .gallery-image{
        width: 100%;
        height: 100%;
        cursor: zoom-in;
        transition: 0.5s ease;
    }

    .gallery-section .gallery-item:hover .gallery-image{
        transform: scale(1.1);
    }




    /*Conatact*/
    .contact-section{
        background: var(--light-pink-color);
        padding-bottom: 100px;
        align-content: center;
        
    }

    .contact-section .section-content{
        display: flex;
        gap: 48px;
        align-items: flex-start;
        justify-content: space-between;
    }

    .contact-section .contact-form {
        margin: 0 auto; 
        text-align: center;  
    }

    .contact-section .contact-form .form-input{
        width: 100%;
        height: 50px;
        padding: 0 12px;
        outline: none;
        margin-bottom: 16px;
        background: var(--text-color);
        border-radius: 5px;
        border: 1px solid var(--bg-color);
    }

    .contact-section .contact-form .form-input:focus{
        border-color: var(--main-color);
    }

    .contact-section .contact-form textarea.form-input{
        height: 100px;
        padding: 12px;
        resize: vertical;
    }

    .contact-section .contact-form .submit-button{
        padding: 10px 26px;
        margin-top: 10px;
        background: var(--main-color);
        color: var(--text-color);
        border-radius: 20px;
        border: 1px solid var(--main-color);
        transition: 0.3s ease;
    }

    .contact-section .contact-form .submit-button:hover{
        background: transparent;
        color: var(--main-color);
    }




    /*shop*/
    .shop-section{
        background: var(--light-pink-color);
        padding-bottom: 100px;

        align-content: center;
        padding-top: 100px; 
        transform: translateY(50px); 
        animation: flyIn 1s ease-out forwards; 
    }

    .shop-section .section-title{
        padding-top: 30px ;
    }

    @keyframes flyIn {
        0% {
            opacity: 0;
            transform: translateY(50px); 
        }
        100% {
            opacity: 1;
            transform: translateY(0); /
        }
    }

    .shop-section .section-content{
        display: flex;
        gap: 48px;
        align-items: flex-start;
        justify-content: space-between;
        padding-top: 20px;
    }

    .shop-section .shop-form {
        margin: 0 auto; 
        text-align: center; 
        padding: 30px; 
        background: #fff; 
        border-radius: 10px; 
        border: 2px solid var(--main-color); 
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); 
    }

    .shop-section .shop-form .form-input{
        width: 600px;
        height: 50px;
        padding: 0 12px;
        outline: none;
        margin-bottom: 16px;
        background: var(--text-color);
        border-radius: 5px;
        border: 1px solid var(--bg-color);
        display: block; 
        margin: 0 auto 16px auto; 
        border: 3px solid var(--main-color); 
    }

    .shop-section .shop-form .form-input:focus{
        border-color: var(--main-color);
    }

    .shop-section .shop-form textarea.form-input{
        height: 100px;
        padding: 12px;
        resize: vertical;
    }

    .shop-section .shop-form .submit-button{
        padding: 10px 26px;
        margin-top: 10px;
        background: var(--main-color);
        color: var(--text-color);
        border-radius: 20px;
        border: 1px solid var(--main-color);
        transition: 0.3s ease;
    }

    .shop-section .shop-form .submit-button:hover{
        background: transparent;
        color: var(--main-color);
    }




    /*Bestellnummer*/
    #bestellnummer {
        border: none;
        background: none;
        font-size: 18px;
        font-weight: bold;
        color: rgb(174, 137, 87);; 
        text-align: center;
        display: block;
        border-radius: 5px;
        background-color: rgba(174, 137, 87, 0.2); 
    }


    /*Story, Kontakt*/
    #story, #contact {
        padding-top: 120px;
    }


    /*Label*/
    label {
        font-size: 1rem;
        color: #414141;
        font-weight: 600;
        margin-bottom: 10px;
        display: block;
        text-align: left;
        padding-bottom: 8px;
    }

    /*Land*/
    .country {
        display: flex;
        align-items: center;
        margin-top: 15px;
    }


    /*Flags*/
    .flag-icon {
        font-size: 20px;
        margin-right: 5px;
    }


    /*Conuntry Name*/
    .country-name {
        font-size: var(--font-size-m);
        font-weight: 5px
    }



/*Responsiveness*/
@media(max-width: 1770px){
    header{
        padding: 22px 4%;
    }
    .icons{
    padding: 0 4%;
    }

    .scroll{
        right: 4%
    }
}

@media(max-width: 1670px){
    :root{
        --big-font: 5.5rem;
        --p-font: 15px;
    }
}

@media(max-width: 1370px){
    
    .section{
        padding: 0 4%;
    }
}                                                     

@media(max-width: 1200px){
    :root{
        --big-font: 4.6rem;
    }
    .price{
        font-size: 20px;
    }

    .btn{
        padding: 10px 23px;
    }

    .hero{
        margin-top: -10px;
    }

    .hero-img img {
        width: 60%;
        height: auto;
    }
}

@media(max-width: 950px){
    #menu-icon{
        display: block;
    }
    .icons{
        display: none;
    }
    .navlist{
        position: absolute;
        width: 100%;
        height: 100vh;
        padding: 100px 50px;
        top: 0;
        right: 0;
        bottom: 0;
        left: 100%;
        display: flex;
        flex-direction: column;
        backdrop-filter: blur(32px);
        transition: all .6s ease-in-out;
    }
    .navlist a{
        display: block;
        padding: 0;
        margin: 0px 0px 25px 0px;
        font-size: 1.7rem;
    }
    .navlist.open{
        left: 0;
    }
    .gallery-section .gallery-list .gallery-item{
        width: calc(100% / 2 - 30px);

    }
}

@media(max-width: 920px){
    .scroll{
        display: none;
    }
    .header-title{
        font-size: 20px;
    }
    .hero{
        grid-template-columns: 1fr;
        height: auto;
    }
    .hero-text{
        padding-top: 130px;
    }
    .hero-img{
        height: 500px;
        width: 500px;
        margin: 0 auto;
    }

    .hero-img img{
        width: 100%;
        height: 100%;
        object-fit: contain;
    }   
    .shop-section .shop-form .form-input {
            width: 300px;}



    .shop-section .shop-form textarea.form-input {
        height: 80px; 
    }

    .shop-section .shop-form .submit-button {
        width: 100%; 
        padding: 12px; 
    }          
}

@media(max-width: 570px){
    .hero{
        height: 100vh;
    }

    .hero-img{
        height: 400px;
        width: 400px;
        margin: 0 auto;
    }
    :root{
       --big-font: 4rem; 
    }
    .gallery-section .gallery-list .gallery-item{
    width: 100%;    
    }
    
}


@media(max-width: 440px){
    :root{
        --big-font: 3.4rem;
    }

    .hero-text h1{

        font-size: 3rem;
        

    }

    

    .hero-text h5{
        font-size: 15px;
    }

    .hero-img {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        
    }

    .hero-img img {
        width: 70%;
        height: auto;
        transform: none;
        margin: 0 auto;
    }

    .story-section .section-title{
        margin-top: 20px;
    }
    .gallery-section .gallery-list .gallery-item{
        width: 100%;    
            }

    .section-title{
        padding-top: 30px;
    }

    .shop-section .shop-form {
        max-width: 90%; 
        width: 450px;
    }

    .shop-section .shop-form .form-input {
        padding: 14px; 
        margin-bottom: 18px; 
        max-width: 100%; 
        font-size: 17px;

    }

    .hero {
            display: flex;
            flex-direction: column;
            align-items: center;
            text-align: left;
        }

    

    
    .hero-text p {
        text-align: center; 
        width: 100%;
    }

    .contact-section .contact-form .form-input{
        font-size: 17px;
    }


    .info {
        padding: 20px; 
        }

    .title::before {
    content: attr(data-number); 
    position: absolute;
    width: 40px; 
    height: 40px;
    background: white;
    border-radius: 999px;
    border: 3px solid #ae8957;
    top: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px; 
    font-weight: bold;
    color: #ae8957;


    }
    
    .card:nth-child(even) > .info > .title {
    text-align: right;
    }

    .card:nth-child(odd) > .info > .title::before {
    left: -90px;
    }

    .card:nth-child(even) > .info > .title::before {
    right: -90px;
    }

}
                        