/* ======================================================
   SUDENAZ DEMİR PORTFOLIO
   CLEAN STYLE.CSS
====================================================== */


/* =========================
   RESET
========================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    text-decoration:none;
    list-style:none;
    scroll-behavior:smooth;
}


html{
    font-size:62.5%;
}


body{

    font-family:"Poppins",sans-serif;

    background:#080812;

    color:#fff;

    overflow-x:hidden;

}


/* =========================
   ROOT
========================= */


:root{

    --bg:#080812;

    --card:rgba(255,255,255,.06);

    --text:#fff;

    --light:#b8b8c8;

    --purple:#8b5cf6;

    --cyan:#06b6d4;

    --gradient:
    linear-gradient(
        135deg,
        #8b5cf6,
        #06b6d4
    );

    --border:
    1px solid rgba(255,255,255,.1);

}



/* =========================
   GENERAL
========================= */


body.light-theme{

    --bg:#f5f7ff;

    --card:rgba(0,0,0,.05);

    --text:#111;

    --light:#555;

}



.container{

    width:90%;

    max-width:1200px;

    margin:auto;

}



section{

    padding:100px 0;

    position:relative;

}



img{

    max-width:100%;

    display:block;

}



.btn{

    display:inline-flex;

    justify-content:center;

    align-items:center;

    padding:14px 35px;

    border-radius:50px;

    background:var(--gradient);

    color:white;

    font-size:1.5rem;

    font-weight:600;

    transition:.3s;

}



.btn:hover{

    transform:translateY(-5px);

}





/* =========================
   LOADER
========================= */


#loader{

    position:fixed;

    inset:0;

    background:#080812;

    display:flex;

    justify-content:center;

    align-items:center;

    z-index:9999;

}



.loader-circle{

    width:60px;

    height:60px;

    border-radius:50%;

    border:5px solid #333;

    border-top-color:#8b5cf6;

    animation:spin 1s linear infinite;

}



@keyframes spin{

    to{

        transform:rotate(360deg);

    }

}




/* =========================
   STAR BACKGROUND
========================= */


#stars{

    position:fixed;

    inset:0;

    width:100%;

    height:100%;

    z-index:-2;

}



.gradient-bg{

    position:fixed;

    width:500px;

    height:500px;

    right:-200px;

    top:-200px;

    background:

    radial-gradient(
        circle,
        rgba(139,92,246,.3),
        transparent 70%
    );

    filter:blur(40px);

    z-index:-1;

}
/* ======================================================
   HEADER / NAVBAR
====================================================== */


header{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    height:90px;

    z-index:1000;

    transition:.3s;

}



header.sticky{

    background:rgba(8,8,18,.85);

    backdrop-filter:blur(15px);

    box-shadow:
    0 10px 30px rgba(0,0,0,.3);

}





header .container{

    height:100%;

    display:flex;

    align-items:center;

    justify-content:space-between;

}





/* LOGO */


.logo{

    font-size:3rem;

    font-weight:800;

    color:white;

}



.logo span{

    color:var(--purple);

}






/* NAVBAR */


#navbar{

    display:flex;

    align-items:center;

    gap:30px;

}

.menu-btn{

    display:none;

}



#navbar a{

    color:var(--light);

    font-size:1.5rem;

    font-weight:500;

    position:relative;

    transition:.3s;

}



#navbar a:hover,
#navbar a.active{

    color:white;

}





#navbar a::after{

    content:"";

    position:absolute;

    left:0;

    bottom:-8px;

    width:0;

    height:2px;

    background:var(--gradient);

    transition:.3s;

}



#navbar a:hover::after,
#navbar a.active::after{

    width:100%;

}






/* HEADER BUTTONS */


.header-right{

    display:flex;

    align-items:center;

    gap:15px;

}



.header-right button{

    width:42px;

    height:42px;

    border-radius:50%;

    border:none;

    cursor:pointer;

    background:var(--card);

    color:white;

    font-size:1.8rem;

    display:flex;

    justify-content:center;

    align-items:center;

}


#langToggle {

    width:50px;
    height:35px;

    border:none;
    border-radius:20px;

    background:var(--gradient);

    color:white;

    font-size:1.4rem;

    font-weight:600;

    cursor:pointer;

    transition:.3s;

}


#langToggle:hover {

    transform:translateY(-3px);

}









/* ======================================================
   MOBILE MENU
====================================================== */


@media (max-width:850px){

    header{
        height:80px;
    }

    

    #navbar{

        position:fixed;
        top:80px;
        left:-100%;

        width:100%;
        height:calc(100vh - 80px);

        display:flex;
        flex-direction:column;
        justify-content:center;
        align-items:center;
        gap:30px;

        background:rgba(8,8,18,.95);
        backdrop-filter:blur(15px);

        transition:.4s;
    }

    #navbar.active{
        left:0;
    }

    #navbar a{
        font-size:2rem;
    }

}
/* ======================================================
   HERO SECTION
====================================================== */


.hero{

    min-height:100vh;

    display:flex;

    align-items:center;

    padding-top:120px;

}



.hero-container{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:50px;

}





/* SOL TARAF */


.hero-left{

    width:55%;

}



.hero-tag{

    display:inline-block;

    padding:10px 20px;

    border-radius:30px;

    background:var(--card);

    color:#ddd;

    font-size:1.4rem;

    margin-bottom:25px;

}





.hero-left h1{

    font-size:6rem;

    line-height:1.1;

    font-weight:800;

    margin-bottom:15px;

}





.hero-left h1 span{

    background:var(--gradient);

    -webkit-background-clip:text;

    color:transparent;

}



.typing{

    min-height:45px;

    font-size:3rem;

    color:#aaa;

    margin-bottom:25px;

}





.hero-left p{

    max-width:600px;

    font-size:1.7rem;

    line-height:1.8;

    color:var(--light);

}







/* HERO BUTONLAR */


.hero-buttons{

    display:flex;

    gap:20px;

    margin-top:35px;

}



.btn.secondary{

    background:transparent;

    border:1px solid rgba(255,255,255,.3);

}





/* SOSYAL ICONLAR */


.hero-social{

    display:flex;

    gap:15px;

    margin-top:35px;

}



.hero-social a{

    width:45px;

    height:45px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:var(--card);

    color:white;

    font-size:2rem;

    transition:.3s;

}



.hero-social a:hover{

    background:var(--purple);

    transform:translateY(-5px);

}







/* ======================================================
   PROFILE IMAGE
====================================================== */



.hero-right{

    width:40%;

    display:flex;

    justify-content:center;

}




.profile-card{

    width:390px;

    height:390px;

    position:relative;

    display:flex;

    align-items:center;

    justify-content:center;

}




.profile-ring{

    position:absolute;

    width:380px;

    height:380px;

    border-radius:50%;

    background:var(--gradient);

    animation:rotate 8s linear infinite;

}




.profile-ring::before{

    content:"";

    position:absolute;

    inset:5px;

    background:var(--bg);

    border-radius:50%;

}






.profile-card img{

    width:310px;

    height:310px;

    object-fit:cover;

    border-radius:50%;

    border:8px solid var(--bg);

    position:relative;

    z-index:2;

}




@keyframes rotate{

    from{

        transform:rotate(0deg);

    }

    to{

        transform:rotate(360deg);

    }

}






/* SCROLL ICON */


.scroll-down{

    position:absolute;

    bottom:40px;

    left:50%;

    transform:translateX(-50%);

    color:white;

    font-size:2.5rem;

    animation:scrollMove 1.5s infinite;

}



@keyframes scrollMove{

    50%{

        transform:translate(-50%,15px);

    }

}







/* ======================================================
   HERO RESPONSIVE
====================================================== */


@media(max-width:850px){


.hero{

    padding-top:120px;

}



.hero-container{

    flex-direction:column-reverse;

    text-align:center;

}



.hero-left,
.hero-right{

    width:100%;

}



.hero-left p{

    margin:auto;

}



.hero-buttons{

    justify-content:center;

    flex-wrap:wrap;

}



.hero-social{

    justify-content:center;

}



.profile-card{

    width:300px;

    height:300px;

}



.profile-ring{

    width:290px;

    height:290px;

}



.profile-card img{

    width:240px;

    height:240px;

}



}





@media(max-width:600px){


.hero-left h1{

    font-size:4rem;

}



.typing{

    font-size:2.3rem;

}



.hero-buttons{

    flex-direction:column;

}



.hero-buttons .btn{

    width:100%;

}



}
/* ======================================================
   SECTION HEADER
====================================================== */


.section-header{

    max-width:750px;

    margin:auto;

    text-align:center;

}



.section-subtitle{

    color:var(--cyan);

    font-size:1.5rem;

    font-weight:600;

    letter-spacing:2px;

}



.section-title{

    font-size:4rem;

    font-weight:700;

    margin:15px 0;

}



.section-description{

    color:var(--light);

    font-size:1.6rem;

    line-height:1.8;

}





/* ======================================================
   ABOUT SECTION
====================================================== */


.about-wrapper{

    display:grid;

    grid-template-columns:1fr 380px;

    gap:50px;

    margin-top:60px;

    align-items:start;

}




.about-content h3{

    font-size:3rem;

    margin-bottom:20px;

}




.about-content p{

    color:var(--light);

    font-size:1.6rem;

    line-height:1.9;

    margin-bottom:20px;

}




.about-buttons{

    margin-top:30px;

}







/* ABOUT INFO CARDS */


.about-info{

    display:flex;

    flex-direction:column;

    gap:20px;

}




.info-card{

    padding:25px;

    background:var(--card);

    border:var(--border);

    border-radius:20px;

    backdrop-filter:blur(10px);

    transition:.3s;

}



.info-card:hover{

    transform:translateY(-5px);

    border-color:var(--purple);

}



.info-card span{

    display:block;

    color:var(--light);

    font-size:1.4rem;

    margin-bottom:8px;

}



.info-card strong{

    font-size:1.7rem;

}







/* ======================================================
   COUNTER CARDS
====================================================== */


.counter-wrapper{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

    margin-top:70px;

}




.counter-card{

    padding:35px 20px;

    text-align:center;

    border-radius:25px;

    background:var(--card);

    border:var(--border);

}



.counter-card h3{

    font-size:4rem;

    background:var(--gradient);

    -webkit-background-clip:text;

    color:transparent;

}



.counter-card span{

    color:var(--light);

    font-size:1.5rem;

}







/* ======================================================
   SKILLS SECTION
====================================================== */


.skills-grid{

    margin-top:60px;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

}




.skill-card{

    padding:35px 25px;

    text-align:center;

    border-radius:25px;

    background:var(--card);

    border:var(--border);

    transition:.3s;

}




.skill-card:hover{

    transform:translateY(-10px);

    border-color:var(--purple);

}





.skill-card i{

    font-size:4rem;

    color:var(--cyan);

    margin-bottom:20px;

}



.skill-card h3{

    font-size:2rem;

    margin-bottom:10px;

}



.skill-card p{

    color:var(--light);

    font-size:1.4rem;

    line-height:1.7;

}






/* ======================================================
   ABOUT + SKILLS RESPONSIVE
====================================================== */


@media(max-width:1100px){


.about-wrapper{

    grid-template-columns:1fr;

}



.skills-grid{

    grid-template-columns:repeat(2,1fr);

}



.counter-wrapper{

    grid-template-columns:repeat(2,1fr);

}


}





@media(max-width:600px){


.section-title{

    font-size:3rem;

}



.about-content h3{

    font-size:2.5rem;

}



.counter-wrapper{

    grid-template-columns:1fr;

}



.skills-grid{

    grid-template-columns:1fr;

}


}
/* ======================================================
   PROJECTS SECTION
====================================================== */


.projects-grid{

    margin-top:60px;

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}





.project-card{

    background:var(--card);

    border:var(--border);

    border-radius:25px;

    overflow:hidden;

    transition:.4s;

}





.project-card:hover{

    transform:translateY(-10px);

    box-shadow:
    0 20px 40px rgba(0,0,0,.35);

}





.project-image{

    height:220px;

    overflow:hidden;

}



.project-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.5s;

}



.project-card:hover .project-image img{

    transform:scale(1.1);

}






.project-content{

    padding:30px;

}




.project-category{

    color:var(--cyan);

    font-size:1.3rem;

    font-weight:600;

}





.project-content h3{

    font-size:2.3rem;

    margin:15px 0;

}





.project-content p{

    color:var(--light);

    font-size:1.5rem;

    line-height:1.7;

}







/* Teknoloji Etiketleri */


.project-tech{

    display:flex;

    flex-wrap:wrap;

    gap:10px;

    margin:20px 0;

}



.project-tech span{

    padding:7px 15px;

    border-radius:20px;

    background:rgba(139,92,246,.15);

    color:#ddd;

    font-size:1.2rem;

}







/* Proje Butonları */


.project-buttons{

    display:flex;

    gap:15px;

}



.project-buttons a{

    padding:10px 20px;

    border-radius:30px;

    background:var(--gradient);

    color:white;

    font-size:1.3rem;

    transition:.3s;

}



.project-buttons a:hover{

    transform:translateY(-3px);

}








/* ======================================================
   CERTIFICATES SECTION
====================================================== */


.certificate-grid{

    margin-top:50px;

    display:flex;

    justify-content:center;

}




.certificate-card{

    width:100%;

    max-width:550px;

    text-align:center;

    padding:50px;

    border-radius:30px;

    background:var(--card);

    border:var(--border);

}





.certificate-card i{

    font-size:5rem;

    color:#facc15;

    margin-bottom:20px;

}





.certificate-card h3{

    font-size:2.5rem;

    margin-bottom:15px;

}





.certificate-card p{

    color:var(--light);

    font-size:1.5rem;

    line-height:1.8;

}







/* ======================================================
   PROJECT + CERTIFICATE RESPONSIVE
====================================================== */


@media(max-width:1100px){


.projects-grid{

    grid-template-columns:repeat(2,1fr);

}


}





@media(max-width:700px){


.projects-grid{

    grid-template-columns:1fr;

}



.project-content h3{

    font-size:2rem;

}



.certificate-card{

    padding:35px 25px;

}



}
/* ======================================================
   EXPERIENCE / TIMELINE
====================================================== */


.timeline{

    position:relative;

    max-width:900px;

    margin:70px auto 0;

}



.timeline::before{

    content:"";

    position:absolute;

    left:50%;

    top:0;

    transform:translateX(-50%);

    width:3px;

    height:100%;

    background:var(--gradient);

}





.timeline-item{

    width:50%;

    padding:30px;

    position:relative;

}





.timeline-item:nth-child(odd){

    left:0;

    text-align:right;

}





.timeline-item:nth-child(even){

    left:50%;

}





.year{

    display:inline-block;

    padding:8px 20px;

    border-radius:30px;

    background:var(--gradient);

    color:white;

    font-size:1.4rem;

    font-weight:600;

}





.timeline-content{

    margin-top:20px;

    padding:25px;

    border-radius:20px;

    background:var(--card);

    border:var(--border);

}





.timeline-content h3{

    font-size:2rem;

    margin-bottom:10px;

}





.timeline-content p{

    color:var(--light);

    font-size:1.4rem;

    line-height:1.7;

}








/* ======================================================
   CONTACT SECTION
====================================================== */



.contact-wrapper{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:50px;

    margin-top:60px;

    align-items:start;

}





.contact-info{

    display:flex;

    flex-direction:column;

    gap:25px;

}





.contact-card{

    display:flex;

    align-items:center;

    gap:20px;

    padding:25px;

    border-radius:20px;

    background:var(--card);

    border:var(--border);

}





.contact-card i{

    width:55px;

    height:55px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:50%;

    background:var(--gradient);

    color:white;

    font-size:2rem;

    flex-shrink:0;

}





.contact-card h3{

    font-size:1.7rem;

    margin-bottom:5px;

}





.contact-card a{

    color:var(--light);

    font-size:1.4rem;

    word-break:break-word;

}








/* FORM 


.contact-form{

    display:flex;

    flex-direction:column;

    gap:20px;

}





.contact-form input,

.contact-form textarea{

    width:100%;

    padding:18px;

    border-radius:15px;

    background:var(--card);

    border:1px solid rgba(255,255,255,.1);

    color:white;

    font-size:1.5rem;

    outline:none;

    font-family:"Poppins",sans-serif;

}



.contact-form input:focus,

.contact-form textarea:focus{

    border-color:var(--purple);

}





.contact-form textarea{

    resize:none;

}





.contact-form button{

    border:none;

    cursor:pointer;

    width:max-content;

}
*/






/* ======================================================
   EXPERIENCE + CONTACT RESPONSIVE
====================================================== */


@media(max-width:850px){


.timeline::before{

    left:20px;

}



.timeline-item,

.timeline-item:nth-child(odd),

.timeline-item:nth-child(even){

    width:100%;

    left:0;

    text-align:left;

    padding-left:60px;

}





.contact-wrapper{

    grid-template-columns:1fr;

}



}




@media(max-width:600px){


.contact-card{

    align-items:flex-start;

}



.contact-form button{

    width:100%;

}


}
/* ======================================================
   FOOTER
====================================================== */


footer{

    padding:50px 0 30px;

    background:#101020;

    position:relative;

    z-index:2;

}





.footer-top{

    display:flex;

    justify-content:space-between;

    align-items:center;

}





.footer-logo{

    font-size:3rem;

    font-weight:800;

    color:white;

}





.footer-logo span{

    color:var(--purple);

}





.footer-social{

    display:flex;

    gap:15px;

}





.footer-social a{

    width:45px;

    height:45px;

    display:flex;

    justify-content:center;

    align-items:center;

    border-radius:50%;

    background:var(--card);

    color:white;

    font-size:1.8rem;

    transition:.3s;

}



.footer-social a:hover{

    background:var(--purple);

    transform:translateY(-5px);

}







.footer-links{

    display:flex;

    justify-content:center;

    gap:25px;

    flex-wrap:wrap;

    margin:35px 0;

}





.footer-links a{

    color:var(--light);

    font-size:1.4rem;

    transition:.3s;

}



.footer-links a:hover{

    color:white;

}





.copyright{

    text-align:center;

    color:var(--light);

    font-size:1.3rem;

}








/* ======================================================
   BACK TO TOP
====================================================== */


#backToTop{

    position:fixed;

    right:30px;

    bottom:30px;

    width:45px;

    height:45px;

    border:none;

    border-radius:50%;

    background:var(--gradient);

    color:white;

    cursor:pointer;

    font-size:1.8rem;

    opacity:0;

    pointer-events:none;

    transition:.3s;

    z-index:999;

}



#backToTop.show{

    opacity:1;

    pointer-events:auto;

}



#backToTop:hover{

    transform:translateY(-5px);

}







/* ======================================================
   SCROLL ANIMATION
====================================================== */


.fade-up{

    opacity:0;

    transform:translateY(40px);

    transition:.8s ease;

}



.fade-up.show{

    opacity:1;

    transform:translateY(0);

}







/* ======================================================
   LIGHT THEME FIX
====================================================== */


.light-theme header.sticky{

    background:rgba(255,255,255,.85);

}



.light-theme .logo,
.light-theme #navbar a.active,
.light-theme #navbar a:hover,
.light-theme .footer-logo{

    color:#111;

}



.light-theme .header-right button,
.light-theme .hero-social a,
.light-theme .footer-social a{

    color:#111;

}





.light-theme .contact-form input,
.light-theme .contact-form textarea{

    color:#111;

}







/* ======================================================
   SCROLLBAR
====================================================== */


::-webkit-scrollbar{

    width:10px;

}



::-webkit-scrollbar-track{

    background:#080812;

}



::-webkit-scrollbar-thumb{

    background:var(--gradient);

    border-radius:20px;

}








/* ======================================================
   FINAL RESPONSIVE
====================================================== */


@media(max-width:850px){


.footer-top{

    flex-direction:column;

    gap:25px;

}



.footer-links{

    flex-direction:column;

    align-items:center;

}



}



@media(max-width:600px){


section{

    padding:70px 0;

}



.container{

    width:92%;

}



#backToTop{

    right:20px;

    bottom:20px;

}


}
