*{
box-sizing:border-box;
}

body{
margin:0;
padding:18px;
font-family:Arial, sans-serif;
color:#f8fafc;
background:
linear-gradient(135deg, rgba(15,23,42,0.85), rgba(37,99,235,0.45)),
url("https://images.unsplash.com/photo-1500530855697-b586d89ba3ee?auto=format&fit=crop&w=1600&q=80") center/cover no-repeat fixed;
min-height:100vh;
}




/* subtle overlay */
body::before{
content:"";
position:fixed;
inset:0;
background:rgba(255,255,255,0.06);
backdrop-filter:blur(2px);
z-index:0;
pointer-events:none;
}
.container{
position:relative;
z-index:1;
width:calc(100% - 40px);
max-width:none;
margin:0 auto;
padding:20px 24px;
border-radius:18px;
background:rgba(255,255,255,0.12);
border:1px solid rgba(255,255,255,0.22);
box-shadow:0 8px 32px rgba(0,0,0,0.28);
backdrop-filter:blur(16px);
-webkit-backdrop-filter:blur(16px);
}


h2{
margin:0 0 18px;
text-align:center;
font-size:28px;
font-weight:700;
color:#ffffff;
letter-spacing:.3px;
text-shadow:0 1px 10px rgba(0,0,0,.25);
}

#leadForm{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:12px;
}

.form-group{
display:flex;
flex-direction:column;
}

.form-group label{
margin-bottom:5px;
font-size:13px;
font-weight:600;
color:rgba(255,255,255,0.95);
}

.form-group input,
.form-group select{
height:40px;
padding:7px 11px;
font-size:13px;
color:#ffffff;
background:rgba(255,255,255,0.10);
border:1px solid rgba(255,255,255,0.22);
border-radius:10px;
outline:none;
backdrop-filter:blur(8px);
-webkit-backdrop-filter:blur(8px);
transition:all .2s ease;
}


.form-group input::placeholder{
color:rgba(255,255,255,0.65);
}

.form-group select option{
color:#111827;
background:#ffffff;
}

.form-group input:focus,
.form-group select:focus{
border-color:rgba(147,197,253,0.95);
box-shadow:0 0 0 3px rgba(96,165,250,0.18);
background:rgba(255,255,255,0.14);
}
.form-submit{
grid-column:1 / -1;
width:220px;
height:40px;
margin:8px auto 0;
display:block;
border:none;
border-radius:10px;
background:linear-gradient(135deg, rgba(59,130,246,0.95), rgba(37,99,235,0.95));
color:#ffffff;
font-size:15px;
font-weight:700;
cursor:pointer;
box-shadow:0 10px 24px rgba(37,99,235,0.28);
transition:transform .15s ease, box-shadow .2s ease, opacity .2s ease;
}

.form-submit:hover{
transform:translateY(-1px);
box-shadow:0 14px 28px rgba(37,99,235,0.35);
opacity:.98;
}

.form-submit:active{
transform:translateY(0);
}

.popup{
position:fixed;
top:18px;
right:18px;
left:auto;
transform:translateY(-12px);
min-width:260px;
max-width:360px;
padding:12px 14px;
border-radius:12px;
font-size:14px;
font-weight:600;
display:flex;
align-items:center;
gap:10px;
opacity:0;
visibility:hidden;
transition:all .25s ease;
z-index:99999;
box-shadow:0 12px 30px rgba(0,0,0,.22);
backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px);
text-align:left;
}

.popup.show{
opacity:1;
visibility:visible;
transform:translateY(0);
}

.success-box{
background:rgba(22,163,74,0.92);
color:#ffffff;
border:1px solid rgba(255,255,255,0.18);
}

.error-box{
background:rgba(220,38,38,0.92);
color:#ffffff;
border:1px solid rgba(255,255,255,0.18);
}

.popup-icon{
font-size:16px;
line-height:1;
flex-shrink:0;
}

.popup-text{
line-height:1.35;
}

.success-box{
background:rgba(22,101,52,0.18);
color:#dcfce7;
border:1px solid rgba(134,239,172,0.45);
}

.error-box{
background:rgba(127,29,29,0.22);
color:#fee2e2;
border:1px solid rgba(252,165,165,0.45);
}

.debug-details{
grid-column:1 / -1;
margin-top:12px;
padding:12px;
border-radius:12px;
background:rgba(255,255,255,0.10);
border:1px solid rgba(255,255,255,0.18);
color:#ffffff;
backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px);
}

.debug-details summary{
cursor:pointer;
font-weight:700;
}

.debug-details p{
margin:10px 0 6px;
}

pre,
code{
display:block;
width:100%;
overflow:auto;
white-space:pre-wrap;
word-break:break-word;
background:rgba(2,6,23,0.72);
color:#e5eefc;
padding:10px;
border-radius:8px;
font-size:11px;
border:1px solid rgba(255,255,255,0.08);
}

@media(max-width:900px){
#leadForm{
grid-template-columns:repeat(2,1fr);
}
}

@media(max-width:600px){
body{
padding:12px;
}
.container{
padding:16px;
border-radius:14px;
}
h2{
font-size:24px;
}
#leadForm{
grid-template-columns:1fr;
}
}
