/* Services page — page-specific layout only.
   Card, grid and icon styling now live in style.css (single source). */

.services-hero { min-height: 460px; position: relative; display: flex; align-items: center; }
.services-hero .container { width: 100%; }
.services-hero .hero-content { max-width: 800px; margin: 0 auto; }

.hero-search { margin: var(--spacing-lg) auto 0; max-width: 600px; position: relative; }
.search-input { position: relative; display: flex; align-items: center; filter: drop-shadow(0 6px 16px rgba(16,36,47,.18)); }
.search-input input { width: 100%; padding: 1.15rem 1.5rem; border: none; border-radius: var(--border-radius-lg); font-size: 1.05rem; }
.search-input input:focus { outline: none; box-shadow: 0 0 0 3px rgba(46,160,121,.3); }
.search-btn { position: absolute; right: 10px; width: 46px; height: 46px; border: none; border-radius: 50%; color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; background: linear-gradient(135deg, var(--primary-blue), var(--primary-green)); transition: transform var(--transition-normal), box-shadow var(--transition-normal); }
.search-btn:hover { transform: translateY(-2px) scale(1.05); box-shadow: var(--shadow-md); }
.search-btn:active { transform: scale(.98); }

.services-section { padding: var(--spacing-xxl) 0; }
.category-section { margin-bottom: var(--spacing-xxl); }
.category-section:last-child { margin-bottom: 0; }
.category-title { font-size: clamp(1.6rem, 2.6vw, 2.1rem); color: var(--primary-blue); margin-bottom: var(--spacing-xl); position: relative; padding-bottom: var(--spacing-md); display: inline-block; }
.category-title::after { content: ''; position: absolute; left: 0; bottom: 0; width: 72px; height: 4px; border-radius: 2px; background: linear-gradient(90deg, var(--primary-blue), var(--primary-green)); }

.cta-section { padding: var(--spacing-xl) 0; }
.cta-box { background: linear-gradient(135deg, var(--primary-blue), var(--primary-green)); color: #fff; border-radius: var(--border-radius-lg); padding: var(--spacing-xxl) var(--spacing-xl); display: flex; align-items: center; justify-content: space-between; gap: var(--spacing-xl); box-shadow: var(--shadow-md); }
.cta-content { flex: 1; }
.cta-content h2 { color: #fff; margin-bottom: var(--spacing-sm); font-size: clamp(1.6rem, 3vw, 2.1rem); }
.cta-content p { opacity: .92; font-size: 1.1rem; margin: 0; }
.cta-action { flex-shrink: 0; }

@media (max-width: 992px) {
  .cta-box { flex-direction: column; text-align: center; gap: var(--spacing-lg); }
}
@media (max-width: 768px) {
  .hero-search { max-width: 100%; }
}