/* =========================================
   AI Resume Analyzer Pro
   CSS Part 1
========================================= */

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

body{

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

    background:#07111f;

    color:#fff;

    overflow-x:hidden;

}

/* ================= BACKGROUND ================= */

.bg-animation{

    position:fixed;

    inset:0;

    z-index:-1;

    background:

    radial-gradient(circle at top left,#1d4ed8 0%,transparent 35%),

    radial-gradient(circle at bottom right,#7c3aed 0%,transparent 35%),

    #07111f;

}

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

nav{

    width:100%;

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:22px 8%;

    position:fixed;

    top:0;

    left:0;

    backdrop-filter:blur(16px);

    background:rgba(8,15,30,.65);

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

    z-index:1000;

}

.logo{

    font-size:28px;

    font-weight:700;

    color:#38bdf8;

}

nav ul{

    display:flex;

    gap:35px;

    list-style:none;

}

nav ul li a{

    text-decoration:none;

    color:white;

    font-size:16px;

    transition:.3s;

}

nav ul li a:hover{

    color:#38bdf8;

}

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

.hero{

    min-height:100vh;

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:60px;

    padding:140px 8% 80px;

}

.hero-left{

    flex:1;

}

.tag{

    display:inline-block;

    padding:10px 18px;

    border-radius:40px;

    background:rgba(56,189,248,.15);

    color:#38bdf8;

    margin-bottom:25px;

    font-size:14px;

    border:1px solid rgba(56,189,248,.3);

}

.hero-left h1{

    font-size:58px;

    line-height:1.2;

    margin-bottom:25px;

    font-weight:700;

}

.hero-left h1 span{

    display:block;

    color:#38bdf8;

}

.hero-left p{

    font-size:18px;

    color:#d6d6d6;

    line-height:1.8;

    margin-bottom:35px;

    max-width:650px;

}

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

.hero-buttons{

    display:flex;

    gap:20px;

}

.primary-btn{

    text-decoration:none;

    padding:15px 34px;

    background:#2563eb;

    color:white;

    border-radius:10px;

    font-weight:600;

    transition:.3s;

}

.primary-btn:hover{

    background:#1d4ed8;

    transform:translateY(-3px);

}

.secondary-btn{

    text-decoration:none;

    padding:15px 34px;

    border:2px solid #38bdf8;

    color:#38bdf8;

    border-radius:10px;

    transition:.3s;

}

.secondary-btn:hover{

    background:#38bdf8;

    color:#07111f;

}

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

.hero-right{

    flex:1;

    display:flex;

    justify-content:center;

}

.hero-card{

    width:380px;

    padding:35px;

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

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

    border-radius:22px;

    backdrop-filter:blur(18px);

    box-shadow:0 20px 60px rgba(0,0,0,.35);

}

.hero-card h3{

    margin-bottom:25px;

    color:#38bdf8;

    text-align:center;

}

.hero-card ul{

    list-style:none;

}

.hero-card li{

    margin:18px 0;

    font-size:17px;

}

/* =========================================
   FEATURES SECTION
========================================= */

.features{

    padding:100px 8%;

    text-align:center;

}

.section-title{

    font-size:42px;

    margin-bottom:15px;

    color:#ffffff;

}

.section-subtitle{

    color:#b8b8b8;

    max-width:700px;

    margin:auto;

    margin-bottom:60px;

    line-height:1.8;

}

.feature-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

    gap:30px;

}

.feature-card{

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

    backdrop-filter:blur(15px);

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

    border-radius:18px;

    padding:35px;

    transition:.35s;

}

.feature-card:hover{

    transform:translateY(-10px);

    border-color:#38bdf8;

    box-shadow:0 20px 45px rgba(56,189,248,.18);

}

.feature-icon{

    font-size:48px;

    margin-bottom:20px;

}

.feature-card h3{

    margin-bottom:15px;

    color:#38bdf8;

}

.feature-card p{

    color:#d4d4d4;

    line-height:1.8;

}

/* =========================================
   UPLOAD SECTION
========================================= */

.upload-section{

    padding:100px 8%;

    display:flex;

    justify-content:center;

}

.upload-card{

    width:100%;

    max-width:900px;

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

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

    border-radius:25px;

    backdrop-filter:blur(18px);

    padding:45px;

    text-align:center;

    box-shadow:0 20px 50px rgba(0,0,0,.35);

}

.upload-card h2{

    font-size:36px;

    color:#38bdf8;

    margin-bottom:15px;

}

.upload-card p{

    color:#bfbfbf;

    margin-bottom:35px;

}

/* =========================================
   FILE UPLOAD
========================================= */

.upload-box{

    border:2px dashed #38bdf8;

    border-radius:18px;

    padding:35px;

    margin-bottom:30px;

    transition:.3s;

}

.upload-box:hover{

    background:rgba(56,189,248,.08);

}

.upload-box input{

    width:100%;

    color:white;

    font-size:16px;

    cursor:pointer;

}

/* =========================================
   TEXTAREA
========================================= */

textarea{

    width:100%;

    min-height:220px;

    resize:none;

    border:none;

    outline:none;

    border-radius:18px;

    background:#111827;

    color:white;

    padding:22px;

    font-size:16px;

    margin-bottom:30px;

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

}

textarea::placeholder{

    color:#8f8f8f;

}

/* =========================================
   ANALYZE BUTTON
========================================= */

#analyzeBtn{

    width:100%;

    border:none;

    outline:none;

    background:#2563eb;

    color:white;

    padding:18px;

    border-radius:12px;

    font-size:18px;

    font-weight:600;

    cursor:pointer;

    transition:.3s;

}

#analyzeBtn:hover{

    background:#1d4ed8;

    transform:translateY(-3px);

}

/* =========================================
   LOADING
========================================= */

.loading{

    display:none;

    margin-top:35px;

}

.spinner{

    width:60px;

    height:60px;

    margin:auto;

    border:6px solid rgba(255,255,255,.15);

    border-top:6px solid #38bdf8;

    border-radius:50%;

    animation:spin 1s linear infinite;

}

.loading p{

    margin-top:20px;

    color:#38bdf8;

    font-weight:500;

}

@keyframes spin{

    100%{

        transform:rotate(360deg);

    }

}

/* =========================================
   RESULT SECTION
========================================= */

.result-section{

    padding:100px 8%;

}

.result-container{

    margin-top:50px;

}

/* =========================================
   SCORE CARDS
========================================= */

.score-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));

    gap:30px;

    margin-bottom:40px;

}

.score-card{

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

    backdrop-filter:blur(18px);

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

    border-radius:20px;

    padding:35px;

    text-align:center;

    transition:.35s;

}

.score-card:hover{

    transform:translateY(-8px);

    border-color:#38bdf8;

    box-shadow:0 20px 45px rgba(56,189,248,.15);

}

.score-card h3{

    margin-bottom:18px;

    color:#38bdf8;

    font-size:22px;

}

.score-number{

    font-size:55px;

    font-weight:700;

    color:#ffffff;

}

/* =========================================
   CHART
========================================= */

.chart-card{

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

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

    backdrop-filter:blur(18px);

    border-radius:20px;

    padding:35px;

    margin-bottom:40px;

}

.chart-card h3{

    color:#38bdf8;

    margin-bottom:25px;

    text-align:center;

}

.chart-card canvas{

    max-height:350px;

}

/* =========================================
   ANALYSIS CARDS
========================================= */

.analysis-grid{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(320px,1fr));

    gap:30px;

    margin-top:40px;

}

.analysis-card{

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

    backdrop-filter:blur(18px);

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

    border-radius:18px;

    padding:30px;

    transition:.35s;

}

.analysis-card:hover{

    transform:translateY(-6px);

    border-color:#38bdf8;

}

.analysis-card h3{

    color:#38bdf8;

    margin-bottom:20px;

    font-size:22px;

}

.analysis-card p{

    color:#d5d5d5;

    line-height:1.9;

    white-space:pre-line;

}

/* =========================================
   RESULT BUTTONS
========================================= */

.result-buttons{

    display:flex;

    justify-content:center;

    flex-wrap:wrap;

    gap:20px;

    margin-top:50px;

}

.result-buttons button{

    padding:16px 30px;

    border:none;

    border-radius:12px;

    cursor:pointer;

    font-size:16px;

    font-weight:600;

    transition:.3s;

}

#downloadPdf{

    background:#16a34a;

    color:white;

}

#downloadPdf:hover{

    background:#15803d;

    transform:translateY(-3px);

}

#copyResult{

    background:#2563eb;

    color:white;

}

#copyResult:hover{

    background:#1d4ed8;

    transform:translateY(-3px);

}

#newAnalysis{

    background:#ea580c;

    color:white;

}

#newAnalysis:hover{

    background:#c2410c;

    transform:translateY(-3px);

}

/* =========================================
   HOW IT WORKS
========================================= */

.how-it-works{

    padding:100px 8%;

    text-align:center;

}

.steps{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));

    gap:30px;

    margin-top:60px;

}

.step-card{

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

    backdrop-filter:blur(18px);

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

    border-radius:20px;

    padding:35px;

    transition:.35s;

}

.step-card:hover{

    transform:translateY(-10px);

    border-color:#38bdf8;

    box-shadow:0 20px 45px rgba(56,189,248,.18);

}

.step-number{

    width:65px;

    height:65px;

    margin:auto;

    margin-bottom:20px;

    border-radius:50%;

    background:#2563eb;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:26px;

    font-weight:bold;

}

.step-card h3{

    margin-bottom:15px;

    color:#38bdf8;

}

.step-card p{

    color:#d4d4d4;

    line-height:1.8;

}

/* =========================================
   CTA
========================================= */

.cta{

    padding:90px 8%;

    text-align:center;

}

.cta h2{

    font-size:42px;

    margin-bottom:20px;

}

.cta p{

    color:#cfcfcf;

    max-width:700px;

    margin:auto;

    margin-bottom:40px;

    line-height:1.8;

}

/* =========================================
   FOOTER
========================================= */

footer{

    padding:40px 8%;

    text-align:center;

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

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

}

.footer-content h3{

    color:#38bdf8;

    margin-bottom:10px;

}

.footer-content p{

    color:#cfcfcf;

    margin:10px 0;

}

/* =========================================
   SCROLLBAR
========================================= */

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:#08111f;

}

::-webkit-scrollbar-thumb{

    background:#2563eb;

    border-radius:20px;

}

::-webkit-scrollbar-thumb:hover{

    background:#38bdf8;

}

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

@media(max-width:992px){

.hero{

flex-direction:column;

text-align:center;

padding-top:130px;

}

.hero-left h1{

font-size:44px;

}

.hero-buttons{

justify-content:center;

flex-wrap:wrap;

}

.hero-card{

width:100%;

max-width:450px;

}

nav{

padding:18px 6%;

}

nav ul{

display:none;

}

}

@media(max-width:768px){

.section-title{

font-size:34px;

}

.hero-left h1{

font-size:36px;

}

.hero-left p{

font-size:16px;

}

.upload-card{

padding:30px;

}

.score-number{

font-size:42px;

}

.result-buttons{

flex-direction:column;

}

.result-buttons button{

width:100%;

}

textarea{

min-height:180px;

}

}

@media(max-width:500px){

.hero{

padding:120px 20px 60px;

}

.features,
.upload-section,
.result-section,
.how-it-works,
.cta{

padding:70px 20px;

}

.logo{

font-size:22px;

}

.primary-btn,
.secondary-btn{

width:100%;

text-align:center;

}

.hero-buttons{

flex-direction:column;

}

}

/* =========================================
   AI LOADING
========================================= */

.loading{

    display:none;

    text-align:center;

    padding:80px 20px;

}

.ai-loader{

    display:flex;

    justify-content:center;

    gap:18px;

    margin-bottom:30px;

}

.loader-circle{

    width:22px;

    height:22px;

    border-radius:50%;

    background:#3b82f6;

    animation:bounce 1s infinite;

}

.delay1{

    animation-delay:.2s;

}

.delay2{

    animation-delay:.4s;

}

@keyframes bounce{

    0%,80%,100%{

        transform:scale(.4);

        opacity:.5;

    }

    40%{

        transform:scale(1.2);

        opacity:1;

    }

}

.loading h2{

    color:white;

    margin-bottom:15px;

}

.loading p{

    color:#cfcfcf;

    margin-bottom:25px;

}

.progress-bar{

    width:320px;

    max-width:90%;

    height:10px;

    margin:auto;

    background:#1f2937;

    border-radius:20px;

    overflow:hidden;

}

.progress-fill{

    width:0%;

    height:100%;

    background:linear-gradient(90deg,#2563eb,#38bdf8);

    animation:loadingBar 2.5s infinite;

}

@keyframes loadingBar{

    0%{

        width:0%;

    }

    100%{

        width:100%;

    }

}

/* =========================================
   END
========================================= */
