/* Estilos para a seção "O Que Oferecemos" */
.o-que-oferecemos-section {
  background: #0A3357;
  padding: 4rem 0;
  color: #fff;
  font-family: var(--font-primary, 'Poppins', Arial, sans-serif);
  margin-top: 40px;
}

.o-que-oferecemos-content {
  padding-right: 3rem;
}

.section-subtitle {
  display: block;
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: #fff;
  margin-bottom: 0.5rem;
  font-family: var(--font-secondary, 'Montserrat', sans-serif);
}

.o-que-oferecemos-content .section-title {
  color: #fff;
  margin-bottom: 1rem;
  text-align: left;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.2;
  font-family: var(--font-primary, 'Poppins', Arial, sans-serif);
}

.title-accent {
  width: 60px;
  height: 3px;
  background: #fff;
  margin-bottom: 1.5rem;
}

.o-que-oferecemos-desc {
  font-size: 1.1rem;
  line-height: 1.6;
  margin-bottom: 0;
  color: #fff;
  font-family: var(--font-primary, 'Poppins', Arial, sans-serif);
}

/* Cards de serviços */
.servico-card {
  background: var(--light-color, #fff);
  border-radius: 12px;
  overflow: hidden;
  height: 100%;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
  border: 1px solid var(--lighter-color, #F5F4F2);
  margin-bottom: 1rem;
  position: relative;
}

.servico-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}

.servico-image {
  width: 100%;
  height: 140px;
  overflow: hidden;
  position: relative;
  background: var(--lighter-color, #F5F4F2);
}

.servico-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.servico-image img:not([src]), 
.servico-image img[src=""],
.servico-image img[src*="placeholder"] {
  object-fit: contain;
  padding: 15px;
  background: var(--lighter-color, #F5F4F2);
}

.servico-card:hover .servico-image img {
  transform: scale(1.03);
}

.servico-content {
  padding: 1rem;
  display: flex;
  flex-direction: column;
  height: calc(100% - 140px);
}

.servico-card h4 {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
  line-height: 1.3;
  color: var(--dark-color, #333);
  flex-grow: 0;
  font-family: var(--font-primary, 'Poppins', Arial, sans-serif);
}

.servico-card p {
  font-size: 0.9rem;
  color: var(--gray-color, #707070);
  margin: 0;
  line-height: 1.4;
  flex-grow: 1;
  font-family: var(--font-primary, 'Poppins', Arial, sans-serif);
}

/* Grid responsivo personalizado */
.row {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

.col-lg-5, .col-lg-7, .col-md-6 {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}

.col-lg-5 {
  flex: 0 0 41.666667%;
  max-width: 41.666667%;
}

.col-lg-7 {
  flex: 0 0 58.333333%;
  max-width: 58.333333%;
}

.col-md-6 {
  flex: 0 0 50%;
  max-width: 50%;
}

.mb-4 {
  margin-bottom: 1rem !important;
}

.align-items-center {
  align-items: center !important;
}

/* Responsividade */
@media (max-width: 1199.98px) {
  .o-que-oferecemos-content {
    padding-right: 2rem;
  }
  
  .o-que-oferecemos-content .section-title {
    font-size: 2.2rem;
  }
}

@media (max-width: 991.98px) {
  .col-lg-5, .col-lg-7 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  
  .o-que-oferecemos-content {
    padding-right: 0;
    text-align: center;
    margin-bottom: 2.5rem;
  }
  
  .o-que-oferecemos-content .section-title {
    text-align: center;
  }
  
  .title-accent {
    margin: 0 auto 1.5rem;
  }
  
  .o-que-oferecemos-section {
    padding: 3rem 0;
  }
}

@media (max-width: 767.98px) {
  .col-md-6 {
    flex: 0 0 100%;
    max-width: 100%;
  }
  
  .o-que-oferecemos-section {
    padding: 2.5rem 0;
  }
  
  .o-que-oferecemos-content .section-title {
    font-size: 2rem;
  }
  
  .servico-content {
    padding: 0.875rem;
  }
  
  .servico-card h4 {
    font-size: 0.95rem;
  }
  
  .servico-card p {
    font-size: 0.85rem;
  }
  
  .servico-image {
    height: 120px;
  }
}

@media (max-width: 575.98px) {
  .o-que-oferecemos-section {
    padding: 2rem 0;
  }
  
  .o-que-oferecemos-content .section-title {
    font-size: 1.8rem;
  }
  
  .o-que-oferecemos-desc {
    font-size: 1rem;
  }
  
  .servico-content {
    padding: 0.75rem;
  }
  
  .servico-image {
    height: 110px;
  }
} 