/* Partners and CTA Sections Mobile Optimization */

/* Partners Section */
.partners {
  padding: calc(var(--1) * 60) 0;
  position: relative;
}

.partner-logos {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: calc(var(--1) * 30);
  margin-top: calc(var(--1) * 40);
  align-items: center;
}

.partner-logo img {
  max-width: 100%;
  height: auto;
  transition: transform 0.3s ease, opacity 0.3s ease;
  filter: grayscale(100%) brightness(1.5);
  opacity: 0.7;
}

.partner-logo:hover img {
  transform: scale(1.05);
  filter: grayscale(0) brightness(1);
  opacity: 1;
}

/* CTA Section */
.cta {
  position: relative;
  padding: calc(var(--1) * 80) 0;
  background: linear-gradient(135deg, #020c36 0%, #031052 50%, #05132e 100%);
  overflow: hidden;
}

.cta-content {
  max-width: 55%;
}

.cta-image {
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 45%;
  max-width: 500px;
}

.cta-image img {
  max-width: 100%;
  height: auto;
  border-radius: calc(var(--1) * 10);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.cta-buttons {
  display: flex;
  gap: calc(var(--1) * 15);
  margin-top: calc(var(--1) * 30);
}

/* Responsive Adjustments */

/* Tablet Devices */
@media (max-width: 991px) {
  .partner-logos {
    grid-template-columns: repeat(3, 1fr);
    gap: calc(var(--1) * 20);
  }
  
  .cta-content {
    max-width: 100%;
    text-align: center;
    padding: 0 calc(var(--1) * 20);
  }
  
  .cta-image {
    position: relative;
    top: 0;
    transform: none;
    width: 100%;
    max-width: 400px;
    margin: calc(var(--1) * 40) auto 0;
  }
  
  .cta-buttons {
    justify-content: center;
  }
}

/* Mobile Devices */
@media (max-width: 767px) {
  .partners {
    padding: calc(var(--1) * 40) 0;
  }
  
  .partner-logos {
    grid-template-columns: repeat(2, 1fr);
    gap: calc(var(--1) * 20);
    margin-top: calc(var(--1) * 30);
  }
  
  .cta {
    padding: calc(var(--1) * 50) 0;
  }
  
  .cta-title {
    font-size: calc(var(--1) * 28) !important;
  }
  
  .cta-text {
    font-size: calc(var(--1) * 16);
  }
  
  .cta-buttons {
    flex-direction: column;
    width: 100%;
    gap: calc(var(--1) * 10);
  }
  
  .cta-buttons .button {
    width: 100%;
  }
  
  .cta-image {
    max-width: 90%;
  }
}

/* Small Mobile Devices */
@media (max-width: 480px) {
  .partner-logos {
    grid-template-columns: repeat(2, 1fr);
    gap: calc(var(--1) * 15);
  }
  
  .partner-logo {
    padding: calc(var(--1) * 10);
  }
  
  .cta-title {
    font-size: calc(var(--1) * 24) !important;
  }
  
  .cta-text {
    font-size: calc(var(--1) * 14);
  }
}
