/* -- Services page specific styles for ForzeGamePL -- */
.services-hero {
  padding: var(--space-16) 0 var(--space-8) 0;
  text-align: center;
}
.services-title {
  font-size: 2.5rem;
  color: var(--color-primary);
  margin-bottom: var(--space-4);
}
.services-lead {
  font-size: 1.25rem;
  color: var(--color-gray-600);
  margin-bottom: var(--space-8);
}
.services-overview {
  padding-bottom: var(--space-12);
}
.services-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--space-8);
  margin-top: var(--space-6);
}
.service-card {
  padding: var(--space-6) var(--space-4);
  text-align: left;
  align-items: flex-start;
}
.service-icon {
  margin-bottom: var(--space-2);
}
.service-name {
  margin-bottom: var(--space-2);
}
.service-desc {
  margin-bottom: var(--space-4);
  color: var(--color-gray-600);
}

.services-custom {
  padding: var(--space-12) 0;
  background: var(--color-gray-100);
}
.flex-vertical-gap {
  gap: var(--space-12);
}
.custom-content {
  flex: 1 1 0;
}
.custom-image {
  flex: 1 1 0;
  min-width: 280px;
  max-width: 440px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.custom-image img {
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
}

.services-packages {
  padding: var(--space-12) 0;
}
.packages-list {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: var(--space-8);
  margin-top: var(--space-6);
}
.package-card {
  position: relative;
  padding-top: var(--space-6);
}
.package-card h3 {
  font-size: var(--font-size-lg);
  color: var(--color-primary);
  margin-bottom: var(--space-2);
}
.package-badge {
  position: absolute;
  top: var(--space-3);
  left: 50%;
  transform: translateX(-50%);
  background: var(--color-primary);
  color: #fff;
  font-size: var(--font-size-xs);
  font-weight: 600;
  border-radius: var(--radius-md);
  padding: 2px 12px;
  letter-spacing: 0.5px;
  z-index: 1;
}
.package-features {
  margin: var(--space-4) 0 var(--space-4) 1em;
  padding-left: 0;
  color: var(--color-gray-600);
}
.package-features li {
  margin-bottom: var(--space-2);
  font-size: var(--font-size-sm);
}
.package-price {
  font-size: var(--font-size-md);
  color: var(--color-success);
}

.services-testimonials {
  padding: var(--space-12) 0;
  background: var(--color-gray-100);
}
.testimonials-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: var(--space-8);
  margin-top: var(--space-6);
}
.testimonial {
  font-size: var(--font-size-md);
  color: var(--color-gray-700);
  border-left: 4px solid var(--color-primary);
  padding-left: var(--space-4);
}
.testimonial footer {
  font-size: var(--font-size-sm);
  color: var(--color-gray-500);
  margin-top: var(--space-2);
}

.services-expertise {
  padding: var(--space-12) 0;
}
.expertise-content {
  flex: 1 1 0;
}
.expertise-image {
  flex: 1 1 0;
  min-width: 280px;
  max-width: 440px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.expertise-image img {
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
}
.expertise-list {
  margin-top: var(--space-4);
  margin-left: 1.3em;
  color: var(--color-gray-600);
  font-size: var(--font-size-sm);
}

.services-benefits {
  padding: var(--space-12) 0;
}
.benefits-list {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--space-8);
  margin-top: var(--space-6);
}
.benefit {
  text-align: center;
  padding: var(--space-6) var(--space-4);
}
.benefit-icon {
  font-size: 2rem;
  margin-bottom: var(--space-2);
}

.services-process {
  padding: var(--space-12) 0;
  background: var(--color-gray-100);
}
.process-steps {
  counter-reset: step;
  margin: var(--space-6) 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-8);
}
.process-steps li {
  background: var(--color-surface);
  padding: var(--space-6);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-xs);
  display: flex;
  align-items: flex-start;
  gap: var(--space-4);
}
.step-number {
  background: var(--color-primary);
  color: #fff;
  font-size: var(--font-size-lg);
  min-width: 2rem;
  min-height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-weight: 700;
  margin-right: var(--space-2);
}
.process-cta {
  margin-top: var(--space-8);
  text-align: center;
}

.services-guarantee {
  padding: var(--space-12) 0 var(--space-16) 0;
}
.guarantee-box {
  display: flex;
  align-items: center;
  gap: var(--space-6);
  max-width: 900px;
  margin-inline: auto;
}
.guarantee-icon {
  min-width: 64px;
  max-width: 64px;
}
.guarantee-box h2 {
  margin-top: 0;
  color: var(--color-success);
}
@media (max-width: 1100px) {
  .services-list { grid-template-columns: 1fr 1fr; }
  .packages-list { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
  .flex-between { flex-direction: column; align-items: stretch; }
  .services-list, .testimonials-list, .benefits-list { grid-template-columns: 1fr; }
  .packages-list { grid-template-columns: 1fr; }
  .process-steps { grid-template-columns: 1fr 1fr; }
  .guarantee-box { flex-direction: column; align-items: flex-start; }
  .custom-image, .expertise-image { justify-content: center; }
}
@media (max-width: 650px) {
  .services-hero, .services-packages, .services-testimonials, .services-expertise, .services-benefits, .services-process, .services-guarantee, .services-custom {
    padding-left: 0;
    padding-right: 0;
  }
  .process-steps { grid-template-columns: 1fr; }
}
