/* SERVICES SECTION */

.ckm-services-wrapper {
  width: 100%;
  display: flex;
  justify-content: center;
  padding: 32px;
}

.ckm-services {
  display: flex;
  flex-direction: column;
  max-width: 1280px;
  gap: 64px  
}

.ckm-services-2 {
  display: flex;
  flex-direction: column;
  max-width: 1280px;
  gap: 64px  
}

.services-cards {
  display: flex;
  flex-direction: column;  
  align-items: center;
  justify-content: center;
  gap: 16px;
}

.services-intro {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
}

.card {
  width: 325px;
  height: 300px;
  padding: 40px 24px;
  position: relative;
  border-radius: 20px;
  box-shadow: 0px 0px 17px 0px rgba(0, 0, 0, 25%);
  display: flex;
  flex-direction: column;
  justify-content: end;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: transform 0.5s ease; /* Transición suave para la opacidad */
  overflow: hidden; /* Asegura que el pseudo-elemento no se salga de los bordes */
  cursor: pointer;
}

.card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.35); /* Capa oscura */
  transition: opacity 0.5s ease; /* Transición suave para la opacidad */
  z-index: 1; /* Asegura que esté por encima del fondo pero debajo del contenido */
}

.card:hover {
  transform: scale(1.05);
  z-index: 11;
}

.card:hover::before {
  opacity: 0; /* Elimina la capa oscura al hacer hover */
}

.card-img {
  width: 325px;
	height: 300px;
  border-radius: 20px;
}



.card-header {
	position: absolute;
	top:0;
	left:0;
  display: flex;
  flex-direction: column;
  gap: 0px;
}

.card-bar {  
  height: 100%;
  width: 100%;  
}

.card-content {
	display: flex;
	flex-direction: column;
	gap: 8px;
	color: white;
	fill: white;
	z-index: 10;
}

.card-icon {
  height: 32px;
  width: 32px;
  fill: white;
}

.card-title {
  font-family: var(--font-secondary), sans-serif;
  font-size: 20px;
  font-weight: 800;
}

.card-list {
  list-style: inside;
  font-size: var(--font-size-md);
}

ul.card-list > li {
  margin: 5px;
  font-size: var(--font-size-sm);
}

ul.card-list > li:last-child {
  margin-bottom: 0px;
}

ul.card-list > li:first-child {
  margin-top: 0px;
}

.services-title {
  text-align: center;
}

.services-text {
  width: 70%;
  text-align: center;
}

/* OTHER SERVICES SECTION */

.ckm-other-services-wrapper {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 16px;
  padding: 32px;
}

.page-guardias-de-seguridad	.ckm-other-services-wrapper {
	background-color: #fbfbfb;
}

.ckm-other-services {
  width: 100%;
  max-width: 1280px;
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.ckm-other-services .services-intro {
 justify-content: start;
 align-items: start;
}

.ckm-other-services .services-title {
  text-align: start;
 }

.ckm-other-services .services-text {
  max-width: 440px;
  text-align: start;
}

.other-services {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

#other-services-swiper {
  width: 100%;
  height: 100%;
}

#other-services-swiper .swiper-wrapper {
  display: flex;
  align-items: stretch;
}

#other-services-swiper .swiper-slide {
  display: flex; 
  justify-content: center;
  height: auto;
  padding: 24px 0px;
}


#other-services-swiper-prev, #other-services-swiper-next {              
  cursor: pointer;
}

.other-services .card {
  width: 325px;
  height: 300px; 
}

.other-services .card-img {  
  width: 325px;
  height: 300px; 
}

/* SERVICE DETAILS SECTION */

.ckm-service-details-wrapper {
  width: 100%;
  background-color: #f4f4f4;
  display: flex;
  justify-content: center;
  padding: 32px;
}

.ckm-service-details {
  width: 100%;
  max-width: 1280px;
  gap: 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.service-details-cards {
  display: grid;
  grid-template-columns: 1fr;
  grid-auto-rows: 1fr;
  justify-content: center;  
  justify-items: center;
  gap: 16px;
  width: 100%;
}

.service-details-card {
  display: flex;
  flex-direction: column;
  align-self: center;  
  padding: 28px 32px;
  max-width: 360px;  
  width: 100%;
  height: 100%;
  gap: 20px;    
  background-color: #1e1e1e;
  border-radius: 20px;
  box-shadow: 0px 0px 17px 0px rgba(0, 0, 0, 25%);  
  transition: all 0.5s ease;
}

.service-details-card:hover {
	background-color: #D62A22;
}

.service-details-card-text {
  color: white;
  font-size: var(--font-size-sm);
  font-weight: 600; 
}

.service-details-card-icon {
  width: 35px;
  height: 35px;
}

.service-details-title {
	text-align: center;
}

@media (min-width: 1000px) {
  /* SERVICES SECTION */
  .ckm-services-wrapper {
    padding: 124px 80px;    
  }

  .page-inicio .ckm-services-wrapper {
    padding-top: 0px;
  }

  .page-servicios .ckm-services-wrapper {
    padding-top: 80px;
  }

  .ckm-services {
    align-items: center;
    gap: 92px;
  }

  .services-cards {
    width: fit-content;
	display: flex;
	flex-direction: row;
	justify-content: center;
	flex-wrap: wrap;
	max-width: 1080px;
    gap: 16px;
  }
	
  .card {
    width: 325px;
    height: 300px;    
  }

  .experience-intro {
    gap: 32px;
  }

  /* OTHER SERVICES SECTION */
  .ckm-other-services-wrapper {
    padding: 124px 80px;
  }

  .page-plataforma-digital .ckm-other-services-wrapper {
    padding-top: 80px;
  }
	
	.page-guardias-de-seguridad	.ckm-other-services-wrapper {
		padding-top: 80px;
	}

  .ckm-other-services {
    gap: 80px;
  }
	
	.service-details-wrapper {
		padding: 80px;
	}

	.service-details-title {
		text-align: start;
	}
}

@media (min-width: 620px) and (max-width: 1120px) {
  /* SERVICES SECTION */
  .services-cards {
    display: grid;
    justify-items: center;
    grid-template-columns: repeat(2, 1fr);      
  }
}

@media (min-width: 768px) {
  /* SERVICE DETAILS SECTION */

  .ckm-service-details {
    gap: 64px;
  }
  
  .service-details-cards {    
    grid-template-columns: repeat(6, 1fr);
    grid-auto-rows: 1fr;    
    gap: 36px;    
  }
  
  .service-details-card {    
    grid-column: span 2;               
  }
  
  .service-details-card:last-child:nth-child(3n - 1) {
    grid-column-end: -2;
  }
  
  .service-details-card:nth-last-child(2):nth-child(3n + 1) {
    grid-column-end: 4;
  }
  
  .service-details-card:last-child:nth-child(3n - 2) {
    grid-column-end: 5;
  }

}

@media (max-width: 400px) {
	.other-services .card {
  width: 205px;
  height: 200px; 
}
	
	.other-services .card-img {  
  width: 205px;
  height: 200px; 
}

}