.elementor-601 .elementor-element.elementor-element-1cdc796{--display:flex;}/* Start custom CSS for html, class: .elementor-element-2a886fa */.catalog-page{
font-family:Inter,Segoe UI,sans-serif;
background:#f5f7fb;
padding-bottom:60px;
}

/* HERO */
.catalog-hero{
text-align:center;
padding:70px 20px 40px;
}
.catalog-hero h1 span{
color:#FF2B2F;
font-size:36px;
font-weight:800;
}
.catalog-hero h2{
color:#078ccd;
font-size:34px;
font-weight:700;
margin:12px 0;
}
.catalog-hero p{
max-width:700px;
margin:auto;
color:#334155;
}

/* FILTER */
.catalog-filter{
max-width:900px;
margin:30px auto;
display:grid;
gap:10px;
}

.filter-label{
font-size:14px;
font-weight:600;
color:#334155;
margin-left:4px;
}

/* INPUT & SELECT */
.catalog-filter input,
.catalog-filter select{
padding:16px;
border-radius:12px;
border:2px solid #cfd8df;
font-size:15px;
background:#fff !important;
color:#111 !important;
-webkit-text-fill-color:#111 !important;
opacity:1 !important;
appearance:none;
}

/* GRID */
.training-grid{
max-width:1100px;
margin:auto;
display:grid;
grid-template-columns:repeat(3,1fr);
gap:26px;
padding:20px;
}

.training-card{
background:#fff;
border-radius:18px;
overflow:hidden;
box-shadow:0 8px 22px rgba(0,0,0,0.06);
transition:.25s;
cursor:pointer;
}

.training-card:hover{
transform:translateY(-6px);
box-shadow:0 16px 35px rgba(0,0,0,0.12);
}

.training-card img{
width:100%;
height:180px;
object-fit:cover;
}

.training-content{padding:18px;}

.training-title{
font-weight:700;
font-size:17px;
color:#0f172a;
}

.training-desc{
font-size:14px;
color:#475569;
margin:8px 0;
}

.training-meta{
font-size:13px;
color:#64748b;
}

.training-tag{
display:inline-block;
padding:6px 12px;
background:#e6f0fa;
color:#2c6fa3;
border-radius:20px;
font-size:12px;
font-weight:600;
margin-top:10px;
}

/* PAGINATION */
.pagination{text-align:center;margin-top:20px;}
.pagination button{
background:#078ccd;
color:white;
border:none;
padding:10px 18px;
margin:6px;
border-radius:8px;
cursor:pointer;
}

/* MOBILE */
@media(max-width:900px){
.training-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:600px){
.training-grid{grid-template-columns:1fr;}
}/* End custom CSS */