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

body{
background:#eef2ff;
color:#111827;
}

/* BANNERS */

.top-banner img,
.bottom-banner img{
width:100%;
display:block;
}

.layout{
display:flex;
gap:25px;
padding:30px;
}

/* SIDE ADS */

.side-ad{
width:250px;
}

.side-ad img{
width:100%;
border-radius:22px;
box-shadow:0 15px 35px rgba(0,0,0,0.08);
}

/* MAIN CARD */

.main-card{
flex:1;
background:white;
border-radius:30px;
padding:40px;
box-shadow:0 20px 50px rgba(79,70,229,0.12);
}

/* HERO */

.hero{
margin-bottom:35px;
}

.hero h1{
font-size:48px;
font-weight:700;
background:linear-gradient(90deg,#4f46e5,#7c3aed);
-webkit-background-clip:text;
-webkit-text-fill-color:transparent;
margin-bottom:12px;
}

.hero p{
font-size:17px;
color:#6b7280;
}

/* BOX */

.generator-box{
background:#f8faff;
padding:35px;
border-radius:24px;
border:1px solid #dbeafe;
}

/* INPUT GROUP */

.field-box{
margin-bottom:20px;
}

.field-box label{
display:block;
margin-bottom:10px;
font-size:14px;
font-weight:600;
color:#374151;
}

input,
textarea,
select{
width:100%;
padding:16px;
border-radius:16px;
border:1px solid #dbeafe;
background:white;
font-size:15px;
transition:0.3s;
}

input:focus,
textarea:focus,
select:focus{
outline:none;
border-color:#6366f1;
box-shadow:0 0 0 5px rgba(99,102,241,0.15);
}

textarea{
height:120px;
resize:none;
}

/* GRID */

.grid-2{
display:grid;
grid-template-columns:1fr 1fr;
gap:20px;
}

/* BUTTON */

.generate-btn{
width:100%;
padding:18px;
border:none;
border-radius:18px;
background:linear-gradient(135deg,#4f46e5,#7c3aed);
color:white;
font-size:17px;
font-weight:600;
cursor:pointer;
margin-top:10px;
transition:0.3s;
box-shadow:0 12px 25px rgba(99,102,241,0.25);
}

.generate-btn:hover{
transform:translateY(-3px);
}

/* QR RESULT */

.qr-result{
margin-top:40px;
text-align:center;
}

#qrcode{
display:inline-block;
padding:30px;
background:white;
border-radius:24px;
box-shadow:0 10px 30px rgba(0,0,0,0.08);
}

/* DOWNLOAD BUTTONS */

.download-buttons{
margin-top:25px;
display:flex;
justify-content:center;
gap:15px;
}

.download-buttons button{
padding:14px 24px;
border:none;
border-radius:14px;
background:#111827;
color:white;
cursor:pointer;
font-weight:500;
transition:0.3s;
}

.download-buttons button:hover{
background:#1f2937;
}

/* MOBILE */

@media(max-width:1200px){

.side-ad{
display:none;
}

.layout{
padding:15px;
}

}

@media(max-width:768px){

.main-card{
padding:20px;
border-radius:20px;
}

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

.grid-2{
grid-template-columns:1fr;
}

.generator-box{
padding:20px;
}

.download-buttons{
flex-direction:column;
}

.download-buttons button{
width:100%;
}

}