/* ===========================
   SERVIÇOS PAGE - servicos.html
   =========================== */

.services__intro {
  text-align: center;
  padding: 40px 20px 20px;
}

.services__intro p {
  font-size: 20px;
  color: var(--gray-text);
  max-width: 900px;
  margin: 0 auto;
}

/* Service Block */
.service-block {
  padding: 60px;
  max-width: 1400px;
  margin: 0 auto;
}

.service-block__title {
  font-family: var(--font-heading);
  font-size: 42px;
  color: var(--white);
  text-align: center;
  margin-bottom: 30px;
  text-decoration: underline;
  text-decoration-color: var(--gold);
  text-underline-offset: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
}

.service-icon {
  width: 48px;
  height: 48px;
  color: var(--gold);
  flex-shrink: 0;
}

.service-block__content {
  display: flex;
  gap: 40px;
  align-items: center;
  flex-wrap: wrap;
}

.service-block__images {
  flex: 1;
  min-width: 300px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.service-block__images img {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 20px;
  object-fit: cover;
  object-position: center center;
}

.service-block__info {
  flex: 1;
  min-width: 300px;
}

.service-block__desc {
  font-size: 20px;
  line-height: 1.6;
  margin-bottom: 20px;
  color: var(--white);
}

.service-block__list {
  font-size: 18px;
  color: var(--white);
}

.service-block__list h4 {
  color: var(--gold);
  margin-bottom: 8px;
  font-size: 20px;
}

.service-block__list ul {
  padding-left: 20px;
}

.service-block__list ul li {
  list-style: disc;
  margin-bottom: 6px;
  color: var(--gray-text);
}

.service-block__divider {
  width: 80%;
  max-width: 1200px;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--gold), transparent);
  margin: 20px auto;
}

/* Differentials */
.differentials {
  padding: 60px;
  text-align: center;
}

.differentials__title {
  font-family: var(--font-heading);
  font-size: 42px;
  color: var(--white);
  text-decoration: underline;
  text-decoration-color: var(--gold);
  text-underline-offset: 8px;
  margin-bottom: 40px;
}

/* Layout anéis olímpicos */
.differentials__rings {
  max-width: 1200px;
  margin: 0 auto;
}

.differentials__row {
  display: flex;
  justify-content: center;
}

.differentials__row--top {
  margin-bottom: -60px;
}

.differentials__row--top .diff-ring {
  margin: 0 -20px;
}

.differentials__row--bottom {
  margin: 0;
}

.differentials__row--bottom .diff-ring {
  margin: 0 -20px;
}

.diff-ring {
  width: 300px;
  height: 300px;
  border: 3px solid var(--gold);
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  gap: 10px;
}

.diff-ring__icon {
  width: 50px;
  height: 50px;
  color: var(--gold);
  flex-shrink: 0;
}

.diff-ring__text {
  font-family: var(--font-ui);
  font-size: 22px;
  color: var(--white);
  text-align: center;
  padding: 0 40px;
  line-height: 1.3;
}

/* CTA Section */
.cta-section {
  background-color: var(--black);
  padding: 60px 20px;
  text-align: center;
}

.cta-section__title {
  font-family: var(--font-heading);
  font-size: 50px;
  color: var(--white);
  margin-bottom: 30px;
}

.cta-section__buttons {
  display: flex;
  gap: 30px;
  justify-content: center;
  flex-wrap: wrap;
}

/* RESPONSIVE - SERVIÇOS */
@media (max-width: 1024px) {
  .section-title { font-size: 45px; }
}

@media (max-width: 768px) {
  .service-block { padding: 30px 20px; }
  .service-block__content { flex-direction: column; }
  .service-block__title { font-size: 30px; }
  .differentials { padding: 40px 16px; }
  .differentials__title { font-size: 30px; }
  .cta-section__title { font-size: 36px; }

  /* Anéis: empilham em grade fluida para não estourar a largura no celular */
  .differentials__rings { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .differentials__row { display: contents; }
  .differentials__row--top { margin-bottom: 0; }
  .differentials__row--top .diff-ring,
  .differentials__row--bottom .diff-ring { margin: 0; }
  .diff-ring {
    width: 100%;
    max-width: 300px;
    height: auto;
    aspect-ratio: 1 / 1;
    margin: 0 auto;
    padding: 16px;
  }
  .diff-ring__text { padding: 0 14px; font-size: 18px; }
}

@media (max-width: 480px) {
  .differentials__rings { grid-template-columns: 1fr; }
  .cta-section__title { font-size: 30px; }
}
