/* =====================================================
   services.css — Tjenester (services) page
   ===================================================== */
@import url('./base.css');

/* ---- Hero ---- */
.services-hero {
  text-align: center; padding: var(--space-20) var(--space-4) var(--space-16);
  background: linear-gradient(135deg, var(--white) 0%, var(--gray-50) 50%, #ecfdf5 100%);
  background-size: 200% 200%;
  animation: gradientShift 8s ease infinite;
  position: relative; overflow: hidden;
}
.services-hero::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(circle at 70% 30%, rgba(5,150,105,.05), transparent 50%);
  pointer-events: none;
}
.services-hero h1 {
  font-size: 3rem; font-weight: 800; margin-bottom: var(--space-4);
  background: linear-gradient(135deg, var(--primary), var(--accent), #047857);
  background-size: 200% 200%;
  animation: gradientShift 4s ease infinite;
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  position: relative;
}
.services-hero p { font-size: 1.25rem; color: var(--secondary); max-width: 700px; margin: 0 auto; position: relative; }

/* ---- Grid ---- */
.services-section { padding: var(--space-16) var(--space-4); max-width: 1200px; margin: 0 auto; }
.services-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(350px,1fr)); gap: var(--space-8);
}

/* ---- Service card ---- */
.service-card {
  background: rgba(255,255,255,.8); backdrop-filter: blur(12px);
  border: 1px solid var(--gray-200); border-radius: var(--radius-2xl);
  padding: var(--space-8); position: relative; overflow: hidden;
  transition: all .4s cubic-bezier(.22,1,.36,1);
}
.service-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px;
  background: linear-gradient(90deg, var(--accent), #10b981, #047857);
  background-size: 200% 100%;
  opacity: 0; transition: opacity .4s ease;
}
.service-card::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(5,150,105,.02), rgba(5,150,105,.06));
  opacity: 0; transition: opacity .4s ease;
  border-radius: inherit;
}
.service-card:hover {
  transform: translateY(-12px) scale(1.02); 
  box-shadow: 0 25px 50px rgba(5,150,105,.15); 
  border-color: var(--accent);
}
.service-card:hover::before { opacity: 1; animation: shimmer 2s linear infinite; }
.service-card:hover::after { opacity: 1; }
.service-icon { 
  font-size: 3.5rem; margin-bottom: var(--space-6); 
  display: inline-block;
  transition: transform .4s cubic-bezier(.22,1,.36,1);
  position: relative; z-index: 1;
}
.service-card:hover .service-icon { transform: scale(1.2) rotate(-8deg); }
.service-title { font-size: 1.5rem; font-weight: 700; color: var(--primary); margin-bottom: var(--space-3); position: relative; z-index: 1; }
.service-description { color: var(--secondary); line-height: 1.7; margin-bottom: var(--space-6); position: relative; z-index: 1; }
.service-features { list-style: none; padding: 0; margin: 0 0 var(--space-6); }
.service-features li {
  padding: var(--space-2) 0; color: var(--gray-600); font-size: .9rem;
  display: flex; align-items: center; gap: var(--space-2);
}
.service-features li::before { content: '✓'; color: var(--accent); font-weight: 700; }
.service-price {
  font-size: 1.75rem; font-weight: 800; color: var(--accent); margin-bottom: var(--space-6);
}
.service-price span { font-size: .875rem; font-weight: 400; color: var(--secondary); }
.service-cta {
  display: inline-block; background: var(--accent); color: var(--white);
  padding: var(--space-3) var(--space-8); border-radius: var(--radius-lg);
  font-weight: 600; text-decoration: none; transition: var(--transition);
}
.service-cta:hover { background: #047857; transform: translateY(-2px); }

/* ---- CTA section ---- */
.cta-section {
  text-align: center; padding: var(--space-16) var(--space-4);
  background: linear-gradient(135deg, var(--accent), #047857, #10b981);
  background-size: 200% 200%;
  animation: gradientShift 6s ease infinite;
  color: var(--white); position: relative; overflow: hidden;
}
.cta-section::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(circle at 50% 50%, rgba(255,255,255,.08), transparent 60%);
  pointer-events: none;
}
.cta-section h2 { font-size: 2.5rem; font-weight: 800; margin-bottom: var(--space-4); position: relative; }
.cta-section p { font-size: 1.25rem; opacity: .9; margin-bottom: var(--space-8); position: relative; }
.cta-btn {
  display: inline-block; background: var(--white); color: var(--accent);
  padding: var(--space-4) var(--space-12); border-radius: var(--radius-lg);
  font-weight: 700; font-size: 1.125rem; text-decoration: none;
  transition: all .35s cubic-bezier(.22,1,.36,1);
  position: relative; overflow: hidden;
}
.cta-btn:hover { 
  transform: translateY(-4px) scale(1.05); 
  box-shadow: 0 10px 40px rgba(0,0,0,.2); 
  color: var(--accent);
}

/* ---- Responsive ---- */
@media (max-width: 768px) {
  .services-hero h1 { font-size: 2.25rem; }
  .services-grid { grid-template-columns: 1fr; }
  .cta-section h2 { font-size: 2rem; }
}
