:root {
  --brand: #0b6e4f;        /* Saudi green */
  --brand-dark: #08543c;
  --accent: #f4b400;
}

body { padding-bottom: 0; }
@media (max-width: 991.98px) { body { padding-bottom: 64px; } }

.bg-brand { background-color: var(--brand) !important; }
.text-brand { color: var(--brand) !important; }
.btn-brand { background-color: var(--brand); border-color: var(--brand); color: #fff; }
.btn-brand:hover, .btn-brand:focus { background-color: var(--brand-dark); border-color: var(--brand-dark); color: #fff; }
.btn-outline-brand { border-color: var(--brand); color: var(--brand); }
.btn-outline-brand:hover { background-color: var(--brand); color: #fff; }

.hero {
  background: linear-gradient(135deg, var(--brand-dark) 0%, var(--brand) 60%, #12936a 100%);
}

.category-card { transition: transform .15s, box-shadow .15s; }
.category-card:hover { transform: translateY(-3px); box-shadow: 0 .5rem 1rem rgba(0,0,0,.12) !important; }
.cat-icon { font-size: 2.2rem; line-height: 1; margin-bottom: .5rem; }

.service-card { transition: transform .15s, box-shadow .15s; }
.service-card:hover { transform: translateY(-3px); }
.card-img-placeholder, .detail-img-placeholder {
  background: #eef5f2; display: flex; align-items: center; justify-content: center; font-size: 3.5rem;
}
.card-img-placeholder { height: 150px; }
.detail-img-placeholder { height: 280px; font-size: 6rem; }
.card-img-top { height: 150px; object-fit: cover; }

.wa-float {
  position: fixed; right: 18px; bottom: 18px; z-index: 1030;
  width: 58px; height: 58px; border-radius: 50%;
  background: #25d366; color: #fff; font-size: 1.9rem;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 6px 18px rgba(0,0,0,.25); text-decoration: none;
}
.wa-float:hover { color: #fff; background: #1ebe5b; }
@media (max-width: 991.98px) { .wa-float { bottom: 78px; } }

.mobile-bar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 1030;
  display: flex; gap: 8px; padding: 8px 12px;
  background: #fff; border-top: 1px solid #ddd; box-shadow: 0 -2px 10px rgba(0,0,0,.08);
}

.errorlist { list-style: none; padding: 0; margin: .25rem 0 0; color: #dc3545; font-size: .875rem; }
.service-description p { font-size: 1.05rem; }
