/* ==========================================
   SERVICES PAGE
========================================== */
.services-hero{
    max-width:1300px;
    margin:50px auto;
    padding:0 5%;
}
.hero-content{
    max-width:700px;
}
.hero-badge{
    display:inline-flex;
    padding:8px 18px;
    background:#FEECEC;
    color:var(--primary);
    border-radius:999px;
    font-weight:700;
}
.hero-content h1{
    margin-top:22px;
    font-size:4.2rem;
    line-height:.95;
    font-weight:900;
}
.hero-content h1 span{
    color:var(--primary);
}
.hero-content p{
    margin-top:22px;
    color:var(--text-light);
    line-height:1.8;
    max-width:600px;
}
.hero-search{
    margin-top:40px;
    display:flex;
    align-items:center;
    gap:15px;
    background:var(--surface);
    padding:18px 22px;
    border-radius:20px;
    box-shadow:var(--shadow);
}
.hero-search input{
    border:none;
    outline:none;
    flex:1;
    background:none;
}
.hero-search i{
    color:#999;
}
.mobile-categories{
    max-width:1300px;
    margin:35px auto;
    padding:0 5%;
    display:flex;
    gap:18px;
    overflow-x:auto;
    scrollbar-width:none;
}
.mobile-categories::-webkit-scrollbar{
    display:none;
}
.mobile-categories button{
    flex:0 0 auto;
    width:95px;
    height:95px;
    border:none;
    background:var(--surface);
    border-radius:22px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:10px;
    box-shadow:var(--shadow);
}
.mobile-categories button.active{
    background:var(--primary);
}
.mobile-categories button.active i,
.mobile-categories button.active span{
    color:white;
}
.mobile-categories i{
    font-size:24px;
    color:var(--primary);
}
.mobile-categories span{
    font-size:12px;
    font-weight:600;
}
/* ==========================================
   SERVICE GRID
========================================== */
.section-title{
    max-width:1300px;
    margin:50px auto 30px;
    padding:0 5%;
}
.service-grid{
    max-width:1300px;
    margin:auto;
    padding:0 5% 80px;
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
    gap:28px;
}
.service-card{
    background:var(--surface);
    border-radius:24px;
    overflow:hidden;
    box-shadow:var(--shadow);
    transition:.3s;
}
.service-card:hover{
    transform:translateY(-6px);
}
.service-image{
    height:170px;
    display:flex;
    justify-content:center;
    align-items:center;
    background:linear-gradient(135deg,#ffe5e5,#fff5f5);
}
.service-image i{
    font-size:60px;
    color:var(--primary);
}
.service-info{
    padding:24px;
}
.service-category{
    display:inline-block;
    background:#FEECEC;
    color:var(--primary);
    padding:6px 14px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
}
.service-info h3{
    margin:18px 0 10px;
}
.service-description{
    color:var(--text-light);
    min-height:60px;
}
.service-meta{
    display:flex;
    justify-content:space-between;
    margin:20px 0;
    font-size:14px;
    color:var(--text-light);
}
.service-footer{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding-top:18px;
    border-top:1px solid var(--border);
}
.provider{
    color:var(--text-light);
    font-size:14px;
}
.service-actions{
    display:flex;
    gap:12px;
    margin-top:20px;
}
.service-actions .btn{
    flex:1;
}
.empty-state{
    width:100%;
    min-height:420px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    padding:60px 30px;
    border-radius:28px;
    background:var(--surface);
    border:1px solid var(--border);
    box-shadow:0 20px 50px rgba(0,0,0,.06);
}
.empty-state i{
    width:90px;
    height:90px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:22px;
    font-size:38px;
    color:var(--primary);
    background:rgba(239,68,68,.08);
    margin-bottom:24px;
}
.empty-state h3{
    font-size:2rem;
    margin-bottom:12px;
    color:var(--text);
}
.empty-state p{
    max-width:420px;
    color:var(--text-light);
    font-size:1.05rem;
    line-height:1.7;
}
body.dark .empty-state{
    background:var(--surface);
    border-color:rgba(255,255,255,.08);
    box-shadow:none;
}
body.dark .empty-state i{
    background:rgba(239,68,68,.12);
}