/*SEC 1*/
.sec1{
  background: linear-gradient(120deg, #181C26 80%, #C7A350 120%);
  min-height: 60vh;
}

.sec1 .hero-logo{
  min-height: 300px;
  min-width: 300px;
}

/* Tarjetas de beneficios */
.sec2{
  min-height: 60vh;
  display: flex;
  align-items: center;
}
.sec2 .card {
  border-radius: 1.2rem;
  background: #fff;
  box-shadow: 0 6px 24px 0 rgba(8,12,25,0.07), 0 1.5px 4px 0 rgba(199,163,80,0.06);
  transition: transform 0.25s, box-shadow 0.25s;
}
.sec2 .card:hover {
  transform: translateY(-7px) scale(1.03);
  border: 1px solid var(--color-accent);
  box-shadow: 0 14px 28px 0 var(--color-accent), 0 3px 10px 0 rgba(199,163,80,0.13);
  z-index: 2;
}

.sec2 .card-body {
  padding: 2.2rem 1.2rem 2rem 1.2rem;
  background: transparent;
}

/* Iconos grandes */
.sec2 .card-body .display-5 {
  font-size: 2.9rem;
  line-height: 1;
}


/* Título de la card */
.sec2 .card-title {
  font-size: 1.3rem;
  color: var(--color-primary);
  margin-bottom: 0.7rem;
  font-weight: 700;
  letter-spacing: -0.5px;
}

/* Texto de la card */
.sec2 .card-text {
  color: var(--color-secondary);
  font-size: 1rem;
  font-weight: 500;
}

/* Responsive mejorado */
@media (max-width: 991.98px) {
  .sec2 .card-body {
    padding: 2rem 1rem 1.7rem 1rem;
  }
  .sec2 .card-title {
    font-size: 1.13rem;
  }
}

@media (max-width: 575.98px) {
  .sec2 .card {
    border-radius: 0.9rem;
  }
  .sec2 .card-body {
    padding: 1.5rem 0.5rem 1.3rem 0.5rem;
  }
}

/*SEC SOBRE NOSOTROS*/
.sobre-nosotros-section {
  background: url('/static/img/img1.webp') center center / cover no-repeat fixed;
  min-height: 600px;
  position: relative;
  overflow: hidden;
}

.bg-dark-overlay {
  position: absolute;
  inset: 0;
  background: rgba(8,12,25,0.8); /* ajusta la opacidad a tu gusto (0.44 = 44%) */
  z-index: 1;
  pointer-events: none;
}

.sobre-nosotros-section > .container {
  position: relative;
  z-index: 2;
}

.sobre-nosotros-card {
  border: 1px solid var(--color-accent);
  max-width: 680px;
  color: var(--color-text);
  background: rgba(255,255,255,0.18); /* Fondo blanco translúcido */
  backdrop-filter: blur(16px) saturate(160%);
  -webkit-backdrop-filter: blur(16px) saturate(160%);
  box-shadow: 0 4px 48px 0 rgba(8,12,25,0.12);
  border-radius: 1.5rem;
}


@media (max-width: 991.98px) {
  .sobre-nosotros-section {
    background-attachment: scroll; /* El parallax solo en escritorio */
  }
  .sobre-nosotros-section p{
    font-size: 1em;
  }
}




/*SEC 3*/
.sec3{
  background: linear-gradient(190deg, #181C26 80%, #C7A350 120%);
  min-height: 80vh;
}
.sec3 .list-unstyled li{
  font-size: 1.1em;
}

@media (max-width: 991.98px) {
  .sec3 .list-unstyled li{
    font-size: 1em;
  }
}

/*SEC 4*/
.testimonios-section{
  padding-top: 50px;
  padding-bottom: 50px;
}
.testimonial {
  min-height: 230px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  opacity: 1;
  transition: opacity 0.7s;
  background: #f8f7f4;
  border: 1px solid var(--color-accent);
  border-radius: 1.2rem;
  box-shadow: 0 6px 24px 0 rgba(8,12,25,0.07), 0 1.5px 4px 0 rgba(199,163,80,0.06);
}

.testimonial.fadeout {
  opacity: 0;
}

.testimonios-section .stars {
  margin-bottom: 0.6rem;
}

.testimonios-section .star-gold {
  color: var(--color-accent);
  font-size: 1.3rem;
  filter: drop-shadow(0 2px 8px #c7a35044);
}

/* Layout: 3 en fila desktop, 1 por fila móvil */
@media (max-width: 991.98px) {
  .testimonial {
    min-height: 190px;
    margin-bottom: 1.5rem;
  }
}
@media (max-width: 575.98px) {
  #testimonios-list {
    flex-direction: column;
    gap: 1.5rem;
  }
  .col-md-4 {
    width: 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }
  .testimonial {
    min-height: 180px;
    padding: 1.1rem 1rem 1.3rem 1rem;
  }
}


.faq-accordion .accordion-item {
  background: #faf9f5;
  border: 1.5px solid var(--color-accent);
  border-radius: 1.3rem !important;
  box-shadow: 0 3px 18px 0 rgba(199,163,80,0.08);
  overflow: hidden;
}
.faq-accordion .accordion-button {
  background: #faf9f5;
  color: var(--color-primary);
  font-size: 1.05rem;
  border: none;
  box-shadow: none;
  padding: 1.1rem 1.4rem;
  border-radius: 1.3rem 1.3rem 0 0;
  transition: background .19s, color .19s;
}
.faq-accordion .accordion-button:not(.collapsed) {
  color: var(--color-accent);
  background: #f1ead7;
  font-weight: 700;
}
.faq-accordion .accordion-body {
  background: #faf9f5;
  padding: 1.1rem 1.4rem 1.3rem;
  font-size: 1.01rem;
}
.faq-accordion .accordion-item:not(:last-child) {
  margin-bottom: 1.2rem;
}
@media (max-width: 575.98px) {
  .faq-accordion .accordion-button,
  .faq-accordion .accordion-body {
    padding: 1rem 0.8rem;
  }
}



/*SEC CTA*/
.cta-final-section {
  background: linear-gradient(90deg, #080C19 0%, #1A1F2B 100%);
  position: relative;
  padding-top: 4rem;
  padding-bottom: 4rem;
  z-index: 1;
  overflow: hidden;
  min-height: 400px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.cta-final-section::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 340px;
  height: 340px;
  transform: translate(-50%, -50%);
  background: url('/static/img/logo3.webp') no-repeat center center;
  background-size: contain;
  opacity: 0.08;
  z-index: 0;
  pointer-events: none;
}

@media (max-width: 767.98px) {
  .cta-final-section::before {
    width: 80vw;
    height: 80vw;
    min-width: 220px;
    min-height: 220px;
    max-width: 98vw;
    max-height: 98vw;
  }
}

/* El contenido está por encima del logo */
.cta-final-section .container {
  position: relative;
  z-index: 2;
}

