/* Final overrides to enforce brand colors and remove stubborn plugin green fills */

/* Testimonial carousel: make nav arrows white and remove backgrounds */
.testimonial-carousel-three .owl-nav .owl-prev,
.testimonial-carousel-three .owl-nav .owl-next,
.testimonial-carousel-three .owl-nav .owl-prev span,
.testimonial-carousel-three .owl-nav .owl-next span {
  background: transparent !important;
  color: #fff !important;
  border: none !important;
  box-shadow: none !important;
}

/* Ensure arrow icons themselves are white */
.testimonial-carousel-three .owl-nav .owl-prev i,
.testimonial-carousel-three .owl-nav .owl-next i {
  color: #fff !important;
}

/* Owl dots: inactive = transparent with white border; active = solid white */
.testimonial-carousel-three.owl-theme .owl-dots .owl-dot span {
  background: transparent !important;
  border: 2px solid rgba(255,255,255,0.95) !important;
  width: 10px !important;
  height: 10px !important;
  display: inline-block !important;
  border-radius: 50% !important;
  box-shadow: none !important;
  opacity: 1 !important;
}

.testimonial-carousel-three.owl-theme .owl-dots .owl-dot.active span,
.testimonial-carousel-three.owl-theme .owl-dots .owl-dot:hover span {
  background: #ffffff !important;
  border-color: #ffffff !important;
}

/* Neutralize any plugin rules that set a background-image on dots */
.testimonial-carousel-three.owl-theme .owl-dots .owl-dot span,
.testimonial-carousel-three.owl-theme .owl-dots .owl-dot.active span {
  background-image: none !important;
}

/* Additional high-specificity catch-all for other owl-dot variants used elsewhere */
.owl-theme .owl-dots .owl-dot span {
  background-image: none !important;
}

/* Consultanos / service buttons - bordo background and rounded corners */
.consultanos-btn,
.service-butn {
  background-color: #b43b3c !important; /* bordo */
  color: #ffffff !important;
  padding: 10px 16px !important;
  display: inline-block !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  border: none !important;
}

.consultanos-btn:hover,
.service-butn:hover {
  background-color: #942a2b !important; /* slightly darker on hover */
  color: #fff !important;
}

/* Partners / logos section */
.partners-section{
  padding-top: 48px;
  padding-bottom: 48px;
}
.partners-section .container{display:flex;justify-content:center;}
.partners-section .row{max-width:900px;margin-left:0;margin-right:0;}
.partners-col{
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: center;
}
.partner-logo img{
  width: 75px !important; /* uniform width - much smaller as requested */
  height: auto;
  object-fit: contain;
  display: block;
}
.services-list{
  max-width: 420px;
  text-align: left;
  display: inline-block;
}

.titon{
  width: 80px !important;
}

/* Align arrows in the services list: fixed column for icons */
.services-list li{
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  margin-bottom: 10px;
}

@media (max-width: 767.98px){
  .partners-col{flex-direction: row; gap: 12px; justify-content: center;}
  .partner-logo img{width: 56px;}
  .services-list{text-align:center;}
}

/* Mobile: stack each partner column full-width and center their contents */
@media (max-width: 767.98px){
  .partners-section .row > .col-12.col-md-4{
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
  .partners-section .partners-col{
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }
  .partners-section .partners-col[style]{
    text-align: center !important; /* override inline styles */
  }
  .services-list{margin-left: 0 !important; padding-left: 0 !important;}
}

/* Ensure the whole partners block is centered on small screens as well */
@media (max-width: 991.98px){
  .partners-section .container{padding-left:15px;padding-right:15px}
  .partners-section .row{display:flex;flex-direction:column;align-items:center;gap:18px}
}

/* SSN banner style above footer — upgraded visual design */
.ssn-banner{
  margin-top: 28px;
  padding: 18px 0;
  /* green-only gradient: low green -> mid -> intense -> low green */
  background: linear-gradient(90deg, #dff6ea 0%, #9fe8b1 40%, #157f42 65%, #dff6ea 100%);
}
.ssn-banner .container{max-width:1100px}
.ssn-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:18px 22px;
  background: #ffffff; /* white card over subtle page gradient */
  border-radius:12px;
  box-shadow: 0 10px 30px rgba(14,30,50,0.06);
}
.ssn-text{flex:1 1 60%;}
.ssn-text h4{
  margin:0 0 6px 0;
  font-weight:700;
  color:#157f42; /* green title */
  font-size:1.05rem;
}
.ssn-text p{
  margin:0;
  color:#47525e;
  font-size:0.95rem;
}
.ssn-logo{flex:0 0 auto; display:flex; align-items:center; justify-content:center}
.ssn-img{
  max-width:140px;
  height:auto;
  display:block;
  background:#ffffff;
  padding:8px;
  border-radius:8px;
  box-shadow:0 6px 18px rgba(14,30,50,0.06);
  border:1px solid rgba(0,0,0,0.04);
}

/* If styles.css contains a .ssn-logo width rule, override it here */
.ssn-logo{width:auto !important}

@media (max-width: 991.98px){
  .ssn-inner{flex-direction:column; text-align:center; padding:16px}
  .ssn-text{flex:unset}
  .ssn-logo{margin-top:8px}
  .ssn-img{max-width:130px}
}
