/* ================================================= 
MODULOS SECTION — TOTALMENTE ISOLADO
================================================= */

.modulos-section{
padding:110px 20px;
background:linear-gradient(
180deg,
#020617 0%,
#031425 100%
);
position:relative;
overflow:hidden;
}

/* CONTAINER */

.modulos-container{
max-width:1100px;
margin:0 auto;
position:relative;
z-index:2;
}

/* LINHA SUPERIOR */

.modulos-section::after{
content:"";
position:absolute;
top:0;
left:50%;
transform:translateX(-50%);
width:80%;
height:1px;
background:linear-gradient(
90deg,
transparent,
rgba(34,211,238,0.4),
transparent
);
}

/* GLOW CENTRAL */

.modulos-section::before{
content:"";
position:absolute;
width:700px;
height:700px;
background:radial-gradient(
circle,
rgba(34,211,238,0.06),
transparent 70%
);
top:50%;
left:50%;
transform:translate(-50%,-50%);
pointer-events:none;
}

/* LINHA INFERIOR */



/* GLOW INFERIOR */

.modulos-container::before{
content:"";
position:absolute;
bottom:-160px;
left:50%;
transform:translateX(-50%);
width:600px;
height:220px;
background:radial-gradient(
ellipse,
rgba(34,211,238,0.08),
transparent 70%
);
pointer-events:none;
}

/* HEADER */

.modulos-header{
text-align:center;
max-width:700px;
margin:0 auto 40px auto;
}

.modulos-tag{
display:inline-block;
padding:6px 14px;
border-radius:30px;
background:rgba(34,211,238,0.08);
color:#22D3EE;
font-size:13px;
margin-bottom:12px;
}

.modulos-title{
font-size:36px;
color:#fff;
margin-bottom:15px;
line-height:1.3;
}

.modulos-title span{
color:#22D3EE;
}

.modulos-description{
color:#94a3b8;
font-size:17px;
line-height:1.6;
}

/* GRID */

.modulos-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:30px;
margin-top:40px;
}

/* CARDS */

.modulos-card{
background:#031425;
padding:35px;
border-radius:14px;
text-align:left;
border:1px solid rgba(255,255,255,0.05);
transition:all .3s ease;
height:100%;
}

.modulos-card:hover{
border-color:#22D3EE;
transform:translateY(-4px);
box-shadow:
0 12px 30px rgba(0,0,0,0.45),
0 0 20px rgba(34,211,238,0.08);
}

.modulos-card h3{
margin-bottom:20px;
font-size:22px;
color:#fff;
font-weight:600;
}

.modulos-card ul{
list-style:none;
padding:0;
margin:0;
}

.modulos-card li{
margin-bottom:16px;
color:#cbd5e1;
line-height:1.6;
font-size:15px;
}

.modulos-card strong{
color:#ffffff;
}

/* BONUS */

.modulos-bonus-container{
margin-top:50px;
display:flex;
justify-content:center;
}

.modulos-bonus-box{
max-width:680px;
width:100%;
padding:32px;
background:linear-gradient(
145deg,
rgba(3,20,37,0.9),
rgba(4,28,51,0.95)
);
border-radius:16px;
border:1px solid rgba(34,211,238,0.25);
backdrop-filter:blur(6px);
position:relative;
transition:all .35s ease;
box-shadow:
0 10px 35px rgba(0,0,0,0.45),
0 0 40px rgba(34,211,238,0.05);
}

.modulos-bonus-box::before{
content:"";
position:absolute;
top:0;
left:50%;
transform:translateX(-50%);
width:60%;
height:1px;
background:linear-gradient(
90deg,
transparent,
#22D3EE,
transparent
);
}

.modulos-bonus-box:hover{
transform:translateY(-6px);
border-color:#22D3EE;
box-shadow:
0 18px 50px rgba(0,0,0,0.55),
0 0 60px rgba(34,211,238,0.15);
}

.modulos-bonus-box h4{
color:#22D3EE;
margin-bottom:12px;
font-size:20px;
font-weight:600;
letter-spacing:.5px;
}

.modulos-bonus-box p{
color:#ffffff;
margin-bottom:16px;
font-size:16px;
}

.modulos-bonus-box ul{
list-style:none;
padding:0;
margin:0;
}

.modulos-bonus-box li{
margin-bottom:10px;
color:#cbd5e1;
font-size:15px;
display:flex;
align-items:center;
gap:8px;
}

.modulos-bonus-box li::before{
content:"✔";
color:#22D3EE;
font-weight:bold;
font-size:14px;
}

/* RESPONSIVO */

@media (max-width:1024px){

.modulos-section{
padding:100px 20px;
}

.modulos-title{
font-size:32px;
}

}

@media (max-width:768px){

.modulos-grid{
grid-template-columns:1fr;
gap:22px;
}

.modulos-title{
font-size:28px;
}

.modulos-description{
font-size:16px;
}

.modulos-card{
padding:28px;
}

.modulos-bonus-box{
padding:24px;
}

}

@media (max-width:480px){

.modulos-section{
padding:85px 18px;
}

.modulos-card li{
font-size:14px;
}

.modulos-bonus-box p{
font-size:15px;
}

}