/* ===========================
   GOOGLE FONT
=========================== */

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

/* ===========================
   RESET
=========================== */

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:'Poppins',sans-serif;
}

html{
scroll-behavior:smooth;
}

body{

background:#f4f7fc;

color:#1f2937;

}

/* ===========================
   HEADER
=========================== */

.header{

display:flex;

justify-content:space-between;

align-items:center;

padding:18px 8%;

background:#ffffff;

position:sticky;

top:0;

z-index:999;

box-shadow:0 5px 15px rgba(0,0,0,.08);

}

.logo{

text-decoration:none;

font-size:30px;

font-weight:700;

color:#2563eb;

}

nav{

display:flex;

gap:35px;

}

nav a{

text-decoration:none;

color:#374151;

font-weight:500;

transition:.3s;

}

nav a:hover{

color:#2563eb;

}

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

.hero{

width:90%;

max-width:1200px;

margin:60px auto;

padding:60px;

text-align:center;

border-radius:25px;

background:linear-gradient(135deg,#2563eb,#4f8cff);

color:white;

box-shadow:0 15px 35px rgba(37,99,235,.25);

}

.hero h1{

font-size:48px;

margin-bottom:15px;

}

.hero p{

font-size:18px;

opacity:.95;

}

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

.container{

width:90%;

max-width:1200px;

margin:50px auto;

}

/* ===========================
   SELECT CARDS
=========================== */

.card{

background:#ffffff;

padding:28px;

border-radius:18px;

margin-bottom:25px;

box-shadow:0 8px 20px rgba(0,0,0,.08);

}

.card label{

display:block;

font-size:18px;

font-weight:600;

margin-bottom:12px;

}

.card select{

width:100%;

padding:15px;

font-size:16px;

border-radius:12px;

border:1px solid #d1d5db;

outline:none;

transition:.3s;

}

.card select:focus{

border-color:#2563eb;

box-shadow:0 0 0 4px rgba(37,99,235,.12);

}

/* ===========================
   SEMESTER SECTION
=========================== */

.semester-section{

background:white;

padding:30px;

border-radius:18px;

box-shadow:0 8px 20px rgba(0,0,0,.08);

margin-top:35px;

}

.semester-section h2{

margin-bottom:25px;

text-align:center;

font-size:32px;

color:#2563eb;

}

#semesterContainer{

display:grid;

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

gap:25px;

}

.semester-card{

background:#f8fafc;

padding:25px;

border-radius:16px;

transition:.3s;

}

.semester-card:hover{

transform:translateY(-5px);

}

.semester-card h3{

margin-bottom:15px;

}

.semester-card input{

width:100%;

padding:14px;

border-radius:12px;

border:1px solid #d1d5db;

outline:none;

font-size:16px;

}

.semester-card input:focus{

border-color:#2563eb;

}


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

.result{

display:grid;

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

gap:25px;

margin-top:40px;

}

.result-card{

background:white;

padding:35px;

border-radius:18px;

text-align:center;

box-shadow:0 10px 25px rgba(0,0,0,.08);

transition:.3s;

}

.result-card:hover{

transform:translateY(-8px);

}

.result-card h2{

font-size:42px;

color:#2563eb;

margin-bottom:10px;

}

.result-card p{

font-size:18px;

color:#6b7280;

}

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

.buttons{

display:flex;

justify-content:center;

gap:20px;

flex-wrap:wrap;

margin-top:40px;

}

.buttons button{

padding:15px 35px;

font-size:16px;

font-weight:600;

border:none;

border-radius:12px;

cursor:pointer;

transition:.3s;

}

#calculateBtn{

background:#2563eb;

color:white;

}

#resetBtn{

background:#ef4444;

color:white;

}

#downloadBtn{

background:#10b981;

color:white;

}

.buttons button:hover{

transform:translateY(-5px);

box-shadow:0 10px 20px rgba(0,0,0,.15);

}

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

footer{

margin-top:70px;

background:#111827;

color:white;

text-align:center;

padding:25px;

font-size:15px;

}

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

::-webkit-scrollbar{

width:10px;

}

::-webkit-scrollbar-thumb{

background:#2563eb;

border-radius:20px;

}

::-webkit-scrollbar-track{

background:#e5e7eb;

}

/* ===========================
   MOBILE
=========================== */

@media(max-width:900px){

.header{

flex-direction:column;

gap:20px;

}

nav{

flex-wrap:wrap;

justify-content:center;

gap:18px;

}

.hero{

padding:40px 25px;

}

.hero h1{

font-size:36px;

}

.hero p{

font-size:16px;

}

}

@media(max-width:600px){

.logo{

font-size:24px;

}

.hero h1{

font-size:28px;

}

.hero p{

font-size:15px;

}

.card{

padding:20px;

}

.semester-card{

padding:20px;

}

.result-card h2{

font-size:34px;

}

.buttons button{

width:100%;

}

}