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

body{
background:#081120;
color:#fff;
line-height:1.6;
}

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

.page-hero{
background:linear-gradient(135deg,#1d8fff,#0b3d91);
text-align:center;
padding:70px 20px 50px;
}

.page-hero h1{
font-size:42px;
font-weight:800;
margin-bottom:18px;
}

.page-hero p{
max-width:650px;
margin:auto;
font-size:18px;
color:#dbeafe;
line-height:1.8;
}

/* ================= SEARCH ================= */

.search-section{
max-width:700px;
margin:50px auto 20px;
padding:0 20px;
}

.search-section input{
width:100%;
padding:16px 20px;
border:none;
border-radius:14px;
background:#10233c;
color:#fff;
font-size:16px;
outline:none;
border:1px solid rgba(255,255,255,.08);
}

.search-section input::placeholder{
color:#9fb9dd;
}

/* ================= VCF LIST ================= */

.vcf-container{
max-width:900px;
margin:auto;
padding:20px;
display:grid;
gap:20px;
}

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

.vcf-card{
background:#ffffff;
color:#111827;
border-radius:20px;
padding:24px;
border:none;
box-shadow:0 12px 30px rgba(0,0,0,.12);
transition:.3s ease;
}

.vcf-card:hover{
transform:translateY(-6px);
box-shadow:0 18px 40px rgba(0,0,0,.18);
}

.vcf-card h3{
font-size:24px;
margin-bottom:12px;
color:#0f172a;
font-weight:700;
}

.vcf-info{
display:grid;
grid-template-columns:1fr 1fr;
gap:12px;
margin:20px 0;
}

.vcf-info p{
background:#f8fafc;
padding:12px;
border-radius:12px;
margin:0;
font-size:14px;
font-weight:600;
color:#334155;
}

.download-btn{
display:block;
width:100%;
padding:15px;
background:#16a34a;
color:#fff;
text-align:center;
text-decoration:none;
font-weight:700;
border-radius:14px;
transition:.3s ease;
}

.download-btn:hover{
background:#15803d;
transform:scale(1.02);
}

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

.loading{
text-align:center;
padding:80px 20px;
font-size:18px;
color:#d6e7ff;
}

/* ================= EMPTY ================= */

.empty{
text-align:center;
padding:80px 20px;
color:#d6e7ff;
font-size:18px;
}

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

@media(max-width:768px){

.page-hero{
padding:55px 20px 40px;
}

.page-hero h1{
font-size:34px;
}

.page-hero p{
font-size:16px;
}

.vcf-card{
padding:20px;
}

.download-btn{
width:100%;
}

}

.today-badge{

display:inline-block;

margin:10px 0;

padding:6px 14px;

background:#16a34a;

color:#fff;

font-size:13px;

font-weight:700;

border-radius:30px;

letter-spacing:.5px;

box-shadow:0 4px 10px rgba(22,163,74,.25);

}

/* ================= PAGINATION ================= */

.pagination{

display:flex;

justify-content:center;

align-items:center;

gap:15px;

margin:40px 0;

flex-wrap:wrap;

}

.pagination button{

background:#1d8fff;

color:#fff;

border:none;

padding:12px 20px;

border-radius:10px;

font-size:15px;

font-weight:700;

cursor:pointer;

transition:.3s;

}

.pagination button:hover:not(:disabled){

background:#0b63ce;

transform:translateY(-2px);

}

.pagination button:disabled{

background:#64748b;

cursor:not-allowed;

opacity:.5;

}

.pagination span{

font-size:16px;

font-weight:700;

color:#fff;

}