/* HERO */

.page-hero{


color:white;

text-align:center;

padding:120px 20px;

position:relative;

overflow:hidden;

}

.hero-content{
max-width:800px;
margin:auto;
}

.page-hero h1{

font-size:52px;
font-weight:700;



margin-bottom:15px;

}

.page-hero p{

font-size:18px;
opacity:0.9;
max-width:600px;
margin:auto;

}



/* INTRO */

.euro-intro{
padding:100px 0;
}

.euro-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:70px;
align-items:center;
}

.euro-text p{
color:#555;
line-height:1.7;
margin-bottom:18px;
}

.highlight{

background:rgba(122,69,196,0.08);
border-left:4px solid var(--violet);

padding:18px;

border-radius:8px;

font-weight:500;

}

.euro-image img{

width:100%;

border-radius:14px;

box-shadow:0 20px 45px rgba(0,0,0,0.18);

}



/* CONDITIONS */

.euro-conditions{

background:var(--gris-clair);

padding:100px 0;

text-align:center;

}

.conditions-grid{

display:grid;

grid-template-columns:repeat(3,1fr);

gap:35px;

margin-top:50px;

}

.condition-card{

background:white;

padding:40px;

border-radius:14px;

box-shadow:0 12px 30px rgba(0,0,0,0.08);

transition:.3s;

}

.condition-card:hover{

transform:translateY(-6px);

}

.condition-card h3{

color:var(--violet);

margin-bottom:10px;

}



/* ETAPES */

.euro-function{

padding:100px 0;

text-align:center;

}

.steps{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:30px;

margin-top:45px;

}

.step{

background:white;

padding:30px;

border-radius:12px;

box-shadow:0 10px 25px rgba(0,0,0,0.08);

}

.step span{

display:inline-block;

width:38px;
height:38px;

line-height:38px;

background:linear-gradient(135deg,var(--vert),#b9e64a);

color:white;

border-radius:50%;

font-weight:600;

margin-bottom:12px;

}



/* FORMATIONS */

.euro-formations{

background:var(--gris-clair);

padding:100px 0;

text-align:center;

}

.formation-grid{

display:grid;

grid-template-columns:repeat(4,1fr);

gap:25px;

margin-top:40px;

}

.formation-card{

background:white;

padding:35px;

border-radius:12px;

box-shadow:0 12px 30px rgba(0,0,0,0.08);

font-weight:500;

transition:.25s;

}

.formation-card:hover{

transform:translateY(-6px);

}



/* CTA */

.cta-euro h2{
margin-bottom:15px;
}

.cta-euro p{
max-width:620px;
margin:0 auto 25px;
opacity:0.92;
line-height:1.7;
}



/* RESPONSIVE */

@media(max-width:900px){

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

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

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

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

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

}
