/*
|--------------------------------------------------------------------------
| Escola de Ciências
| Desenvolvido por Moon Soluções em TI - Jales/SP
|--------------------------------------------------------------------------
*/

*{
margin:0;
padding:0;
box-sizing:border-box;
}

:root{
--azul:#07152f;
--azul-2:#13294b;
--texto:#1d2b46;
--muted:#64748b;
--amarelo:#f7b500;
--amarelo-2:#ffcc33;
--fundo:#f8fafc;
--branco:#ffffff;
--borda:#e5e7eb;
--sombra:0 18px 45px rgba(15,23,42,.10);
}

html{
scroll-behavior:smooth;
}

body{
font-family:'Poppins',Arial,sans-serif;
background:var(--fundo);
color:var(--texto);
font-size:16px;
}

a{
text-decoration:none;
}

img{
max-width:100%;
}

/* CONTAINER */

.container{
width:92%;
max-width:1400px;
margin:0 auto;
}

/* TOPO */

.topbar{
background:rgba(255,255,255,.97);
box-shadow:0 4px 25px rgba(0,0,0,.06);
position:sticky;
top:0;
z-index:999;
backdrop-filter:blur(10px);
}

.nav{
display:flex;
align-items:center;
justify-content:space-between;
min-height:105px;
gap:30px;
}

.logo img{
height:105px;
width:auto;
display:block;
}

.menu{
display:flex;
align-items:center;
gap:34px;
}

.menu a{
color:var(--azul);
font-weight:700;
font-size:.96rem;
transition:.2s;
}

.menu a:hover{
color:var(--amarelo);
}

.actions{
display:flex;
align-items:center;
gap:12px;
}

.btn-primary,
.btn-outline,
.btn-link{
display:inline-flex;
align-items:center;
justify-content:center;
border-radius:14px;
font-weight:800;
font-size:.95rem;
transition:.2s;
white-space:nowrap;
}

.btn-primary{
background:linear-gradient(135deg,var(--amarelo),var(--amarelo-2));
color:var(--azul);
padding:14px 24px;
box-shadow:0 10px 22px rgba(247,181,0,.25);
}

.btn-primary:hover{
transform:translateY(-2px);
}

.btn-primary.full{
width:100%;
}

.btn-outline{
background:#fff;
border:1px solid var(--borda);
padding:13px 24px;
color:var(--azul);
box-shadow:0 8px 20px rgba(15,23,42,.06);
}

.btn-outline:hover{
border-color:var(--amarelo);
color:var(--amarelo);
}

.btn-link{
color:#94a3b8;
font-weight:800;
}

/* HERO */

.hero{
padding:70px 0 55px;
background:
radial-gradient(circle at 75% 20%, rgba(247,181,0,.13), transparent 35%),
linear-gradient(180deg,#fff 0%,#f8fafc 100%);
}

.hero-grid{
display:grid;
grid-template-columns:1.15fr .85fr;
gap:50px;
align-items:center;
}

.hero-badge{
display:inline-flex;
align-items:center;
background:#fff7d6;
color:#8a6500;
padding:10px 18px;
border-radius:999px;
font-size:.92rem;
font-weight:800;
margin-bottom:20px;
}

.hero h1{
font-size:clamp(2.6rem,5vw,5.2rem);
line-height:1.04;
font-weight:900;
letter-spacing:-2px;
color:var(--azul);
margin-bottom:24px;
max-width:760px;
}

.hero h1 span{
display:block;
color:var(--amarelo);
}

.hero p{
font-size:1.12rem;
line-height:1.8;
color:var(--muted);
margin-bottom:30px;
max-width:660px;
}

.hero-buttons{
display:flex;
gap:16px;
flex-wrap:wrap;
}

.hero-image{
display:flex;
justify-content:center;
}

.hero-image img,
.hero img{
width:100%;
max-width:760px;
display:block;
margin:auto;
filter:drop-shadow(0 20px 30px rgba(15,23,42,.08));
}

/* CARDS DO HERO */

.hero-features{
margin-top:50px;
background:#fff;
border:1px solid var(--borda);
border-radius:24px;
box-shadow:var(--sombra);
display:grid;
grid-template-columns:repeat(4,1fr);
overflow:hidden;
}

.hero-feature{
display:flex;
gap:16px;
align-items:center;
padding:26px;
border-right:1px solid var(--borda);
}

.hero-feature:last-child{
border-right:0;
}

.feature-icon{
width:54px;
height:54px;
border-radius:50%;
background:#eef6ff;
display:flex;
align-items:center;
justify-content:center;
font-size:1.55rem;
flex:0 0 54px;
}

.hero-feature h3{
font-size:1rem;
color:var(--azul);
margin-bottom:4px;
}

.hero-feature p{
font-size:.9rem;
color:var(--muted);
line-height:1.5;
}

/* SEÇÕES GERAIS */

.section{
padding:80px 0;
}

.section-title{
text-align:center;
font-size:clamp(2rem,3.3vw,3.2rem);
line-height:1.1;
color:var(--azul);
font-weight:900;
margin-bottom:45px;
}

.section-head{
display:flex;
align-items:center;
justify-content:space-between;
gap:20px;
margin-bottom:32px;
}

.section-head.center{
display:block;
text-align:center;
}

.section-head h2{
font-size:2.2rem;
color:var(--azul);
font-weight:900;
}

.section-head p{
color:var(--muted);
margin-top:8px;
}

.section-head a{
color:#006fd6;
font-weight:800;
}

/* CURSOS HOME */

.courses-section{
background:#f8fafc;
padding-top:55px;
}

.courses{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:30px;
}

.course-card{
background:#fff;
border-radius:22px;
overflow:hidden;
border:1px solid var(--borda);
box-shadow:0 12px 35px rgba(15,23,42,.08);
transition:.25s;
}

.course-card:hover{
transform:translateY(-5px);
box-shadow:0 20px 45px rgba(15,23,42,.13);
}

.course-card img{
width:100%;
height:auto;
display:block;
background:#07152f;
}

.course-content{
padding:26px;
}

.course-content h3{
color:var(--azul);
font-size:1.35rem;
margin-bottom:10px;
}

.course-content p{
color:var(--muted);
line-height:1.65;
margin-bottom:18px;
}

.course-price{
font-size:1.45rem;
font-weight:900;
color:#0f9f4f;
}

.course-link{
display:inline-flex;
margin-top:18px;
font-weight:800;
color:var(--azul);
}

.empty-courses{
grid-column:1 / -1;
background:#fff;
border:1px dashed var(--borda);
border-radius:18px;
text-align:center;
padding:45px 20px;
}

.empty-courses h3{
color:var(--azul);
margin-bottom:8px;
}

.empty-courses p{
color:var(--muted);
}

/* COMO FUNCIONA */

.how{
padding:90px 0;
background:#fff;
}

.how-grid{
margin-top:40px;
display:grid;
grid-template-columns:repeat(4,1fr);
gap:25px;
}

.how-card{
background:#f8fafc;
border:1px solid var(--borda);
border-radius:22px;
padding:32px 26px;
box-shadow:0 10px 28px rgba(15,23,42,.05);
}

.how-card span{
display:inline-flex;
width:42px;
height:42px;
border-radius:50%;
align-items:center;
justify-content:center;
background:#fff7d6;
color:#8a6500;
font-weight:900;
margin-bottom:18px;
}

.how-card h3{
color:var(--azul);
font-size:1.2rem;
margin-bottom:10px;
}

.how-card p{
color:var(--muted);
line-height:1.65;
}

/* BENEFÍCIOS */

.benefits{
padding:90px 0;
background:#fff;
}

.benefits-grid{
display:grid;
grid-template-columns:repeat(4,minmax(220px,1fr));
gap:26px;
}

.benefit{
background:#f8fafc;
border:1px solid var(--borda);
padding:34px 26px;
border-radius:22px;
text-align:center;
box-shadow:0 10px 28px rgba(15,23,42,.05);
}

.benefit h3{
font-size:1.25rem;
color:var(--azul);
margin-bottom:12px;
}

.benefit p{
color:var(--muted);
line-height:1.65;
}

/* CERTIFICADO */

.certificate-area{
padding:90px 0;
background:#f8fafc;
}

.certificate-box{
background:linear-gradient(135deg,#07152f,#13294b);
padding:60px 35px;
border-radius:30px;
color:#fff;
text-align:center;
box-shadow:var(--sombra);
}

.certificate-box h2{
font-size:2.4rem;
margin-bottom:12px;
}

.certificate-box p{
opacity:.85;
}

.certificate-box form{
margin-top:28px;
display:flex;
justify-content:center;
gap:12px;
flex-wrap:wrap;
}

.certificate-box input{
padding:17px 18px;
width:360px;
max-width:100%;
border:none;
border-radius:14px;
font-family:'Poppins',sans-serif;
outline:none;
}

.certificate-box button{
background:linear-gradient(135deg,var(--amarelo),var(--amarelo-2));
color:var(--azul);
border:none;
padding:17px 28px;
border-radius:14px;
cursor:pointer;
font-weight:900;
font-family:'Poppins',sans-serif;
}

/* CTA */

.cta{
padding:90px 0;
text-align:center;
background:
radial-gradient(circle at 50% 0%, rgba(247,181,0,.16), transparent 35%),
#fffaf0;
}

.cta h2{
font-size:clamp(2rem,3.2vw,3.2rem);
color:var(--azul);
margin-bottom:14px;
}

.cta p{
color:var(--muted);
font-size:1.1rem;
margin-bottom:22px;
}

/* PÁGINA DO CURSO */

.course-page{
padding:75px 0;
background:#f8fafc;
}

.course-page-grid{
display:grid;
grid-template-columns:minmax(0,1fr) 430px;
gap:42px;
align-items:start;
}

.course-info{
background:#fff;
padding:42px;
border-radius:24px;
border:1px solid var(--borda);
box-shadow:0 12px 35px rgba(15,23,42,.06);
min-width:0;
}

.course-category{
display:inline-block;
background:#fff7d6;
color:#8a6500;
padding:8px 14px;
border-radius:999px;
font-weight:900;
margin-bottom:18px;
}

.course-info h1{
font-size:clamp(2.2rem,4vw,4rem);
line-height:1.1;
color:var(--azul);
margin-bottom:18px;
font-weight:900;
}

.course-subtitle{
font-size:1.1rem;
line-height:1.8;
color:var(--muted);
margin-bottom:28px;
}

.course-meta{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:15px;
margin-bottom:35px;
}

.course-meta div{
background:#f8fafc;
border:1px solid var(--borda);
border-radius:16px;
padding:18px;
text-align:center;
}

.course-meta strong{
display:block;
font-size:1.3rem;
color:var(--azul);
}

.course-meta span{
font-size:.88rem;
color:var(--muted);
}

.course-description{
line-height:1.9;
color:#334155;
font-size:1rem;
word-break:break-word;
}

.course-description p{
margin-bottom:16px;
}

.course-sidebar{
background:#fff;
border:1px solid var(--borda);
border-radius:24px;
box-shadow:0 12px 35px rgba(15,23,42,.08);
overflow:hidden;
position:sticky;
top:130px;
}

.course-sidebar img{
width:100%;
height:auto;
display:block;
background:#07152f;
}

.price-box{
padding:28px;
border-bottom:1px solid var(--borda);
}

.price-box h2{
font-size:2rem;
color:#0f9f4f;
margin-bottom:8px;
font-weight:900;
}

.price-box p{
color:var(--muted);
margin-bottom:20px;
}

.course-list{
list-style:none;
padding:28px;
}

.course-list li{
padding:10px 0;
border-bottom:1px solid #eef2f7;
color:#334155;
font-weight:700;
}

.course-list li:before{
content:"✓";
color:#0f9f4f;
font-weight:900;
margin-right:8px;
}

.course-list li:last-child{
border-bottom:0;
}

/* RODAPÉ */

.footer{
background:var(--azul);
color:#fff;
padding-top:65px;
margin-top:0;
}

.footer-grid{
display:grid;
grid-template-columns:2fr 1fr 1fr;
gap:55px;
}

.footer-logo{
height:90px;
margin-bottom:18px;
}

.footer p{
opacity:.82;
line-height:1.7;
max-width:420px;
}

.footer h4{
margin-bottom:18px;
font-size:1.1rem;
}

.footer ul{
list-style:none;
}

.footer li{
margin-bottom:12px;
}

.footer a{
color:#fff;
opacity:.82;
}

.footer a:hover{
opacity:1;
color:var(--amarelo);
}

.copyright{
margin-top:45px;
padding:22px;
text-align:center;
border-top:1px solid rgba(255,255,255,.12);
font-size:.92rem;
opacity:.9;
}

.dev-credit{
display:block;
margin-top:7px;
font-size:.85rem;
opacity:.75;
}

/* RESPONSIVO */

@media(max-width:1100px){

.course-page-grid{
grid-template-columns:1fr;
}

.course-sidebar{
position:relative;
top:auto;
max-width:520px;
margin:0 auto;
}

.hero-features,
.how-grid{
grid-template-columns:1fr 1fr;
}

.hero-feature:nth-child(2){
border-right:0;
}

.hero-feature{
border-bottom:1px solid var(--borda);
}

.hero-feature:nth-child(3),
.hero-feature:nth-child(4){
border-bottom:0;
}

}

@media(max-width:1000px){

.nav{
min-height:90px;
}

.logo img{
height:75px;
}

.menu{
display:none;
}

.hero{
padding:55px 0;
}

.hero-grid{
grid-template-columns:1fr;
gap:35px;
text-align:center;
}

.hero p{
margin-left:auto;
margin-right:auto;
}

.hero-buttons{
justify-content:center;
}

.stats-grid,
.benefits-grid{
grid-template-columns:1fr 1fr;
}

.footer-grid{
grid-template-columns:1fr;
}

}

@media(max-width:620px){

.container{
width:90%;
}

.nav{
min-height:78px;
gap:10px;
}

.actions{
gap:8px;
}

.btn-primary,
.btn-outline{
padding:11px 14px;
font-size:.82rem;
}

.logo img{
height:62px;
}

.hero h1{
letter-spacing:-1px;
}

.hero-features,
.how-grid,
.stats-grid,
.benefits-grid{
grid-template-columns:1fr;
}

.hero-feature{
border-right:0;
border-bottom:1px solid var(--borda);
}

.hero-feature:last-child{
border-bottom:0;
}

.stat-box{
border-right:0;
border-bottom:1px solid var(--borda);
}

.stat-box:last-child{
border-bottom:0;
}

.section-head{
display:block;
text-align:center;
}

.section-head a{
display:inline-block;
margin-top:12px;
}

.course-info{
padding:28px 22px;
}

.course-meta{
grid-template-columns:1fr;
}

.certificate-box{
padding:40px 22px;
}

}

