.tab-agent-image {
    visibility: hidden;
    opacity: 0;
    transform: translateY(20px);
    transition: all 0.5s ease;
    position: absolute;
    width: 100%;
}

.tab-agent-image.active {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
    position: relative;
}

.tab-agent-item {
    cursor: pointer;
    transition: all 0.3s ease-in-out !important;
    background: #111111;
}

.tab-agent-item .elementor-icon svg path,
.slider-options .elementor-icon svg path {
    transition: all 0.3s ease-in-out !important;
    fill: #B029DE;
    color: #B029DE;
}

.tab-agent-item:hover {
    background: #222222 !important;
}

.tab-agent-item:not(.active) {
    cursor: pointer;
}

.tab-agent-item:not(.active) .elementor-icon svg path {
    transition: all 0.5s ease-in-out !important;
}

.tab-agent-item:is(.active) {
    background: linear-gradient(90deg, #7A2FF3 0%, #D166F1 100%);
}

.tab-agent-item:is(.active) .elementor-icon {
    fill: #fff;
    color: #fff;
}

.tab-agent-item:is(.active) .elementor-icon path {
    fill: #fff;
    color: #fff;
}

.tab-agent-item:is(.active):hover {
    background: linear-gradient(90deg, #7A2FF3 0%, #D166F1 100%) !important;
}

.tab-agent-image:not(.active) {
    max-height: 0;
}

.tab-agent-image:is(.active) {
    max-height: 100%;
}

.cases-grid {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin: 40px 0;
}

.case-card {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.6s ease;
    width: 220px;
    flex-shrink: 0;
    height: 240px;
}

.case-card:not(.active) {
    background-color: #fff;
}

.case-card::before {
    content: '';
    position: absolute;
    inset: 0;
    padding: 1px;
    background: linear-gradient(90deg, #6B14F7 0%, #F747D4 65%);
    border-radius: 16px;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0.5;
    transition: opacity 0.3s ease;
}

.case-card.active {
    background: #6B14F7;
    width: calc(70% - 540px);
}

.case-card.active::before {
    opacity: 0;
}

.case-card-inner {
    padding: 24px;
    display: flex;
    height: 100%;
    flex-direction: column;
    gap: 20px;
    flex-direction: column;
    justify-content: space-between;
    align-items: space-between;
}

.case-logo {
    height: 40px;
    display: flex;
    align-items: center;
}

.case-logo img {
    max-height: 100%;
    width: auto;
}

.case-content {
    visibility: hidden;
    transition: all 0.6s ease-in-out;
    flex-direction: column;
    gap: 12px;
}

.case-card.active .case-content {
    visibility: visible;
}

.case-percentage {
    font-size: 48px;
    font-weight: 700;
    color: #fff;
}

.case-text {
    font-size: 18px;
    color: #fff;
    text-wrap: nowrap;
}

.case-expand {
    position: absolute;
    bottom: 16px;
    right: 16px;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    color: #fff;
    transition: all 0.3s ease-in-out;
}

.case-expand:hover {
    background: none;
}

.case-expand svg {
    width: 40px;
    height: 40px;
}

.case-card.active .case-expand {
    display: none;
}

/*Card Pq */
.card-pq {
    transition: all 0.6s ease-in-out;
}

.card-pq::after {
    content: '';
    position: absolute;
    inset: 0;
    padding: 1px;
    background: linear-gradient(90deg, #6B14F7 0%, #F747D4 65%);
    border-radius: 16px;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0.5;
    transition: opacity 0.3s ease;
}

.card-pq:hover {
    background-color: #8d74f3;
	   transform: scale(1.03);
}

.card-pq:hover .card-pq-title p {
    color: #fff;
}

.card-pq:hover .card-pq-content p {
    color: #fff;
}


/*FAQ*/
.faq-content {
    max-height: 0px;
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
    transition: all 0.8s ease-in-out;
    padding-inline: 20px;
}

.faq-item.active .faq-content {
    max-height: 800px;
    visibility: visible;
    opacity: 1;
    transition: all 0.8s ease-in-out;
}

.plus-icon,
.minus-icon {
    display: none;
    height: 25px;
}

@media (max-width: 768px) {

    .plus-icon,
    .minus-icon {
        height: 18px;
    }
}

.plus-icon.active {
    display: block;
}

.minus-icon.active {
    display: block;
}

.faq-container .faq-item {
    border-radius: 7px;
    background: #111111;
    transition: all 0.8s ease-in-out;
    gap: 0;
}

.faq-container .faq-item:is(.active) {
    background: linear-gradient(135deg, #7e2dfc, #a045f5, #cd4dff);
    transition: all 0.8s ease-in-out;
}

.faq-container .faq-header {
    cursor: pointer;
    padding: 20px 15px;
    transition: all 0.8s ease-in-out;
}

/*Tab Plans*/
.tab-plan-mensal,
.tab-plan-anual {
    opacity: 0;
    visibility: hidden;
    position: absolute !important;
    transition: all 0.8s ease;
}

.tab-plan-mensal.active,
.tab-plan-anual.active {
    opacity: 1;
    visibility: visible;
    position: relative !important;
}

.tabs-plans-control .elementor-widget-button:is(.active) a {
    background: var(--e-global-color-secondary) !important;
}

.tabs-plans-control .elementor-widget-button a {
    background: #000 !important;
    cursor: pointer;
}

.card-depoimento::after {
    content: '';
    position: absolute;
    inset: 0;
    padding: 1px;
    background: linear-gradient(90deg, #6B14F7 0%, #F747D4 65%);
    border-radius: 16px;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    opacity: 0.5;
    transition: opacity 0.3s ease;

}

.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    left: 50% !important;
}

.carousel-marcas .swiper-horizontal>.swiper-pagination-bullets,
.carousel-marcas .swiper-pagination-bullets.swiper-pagination-horizontal,
.carousel-marcas .swiper-pagination-custom,
.carousel-marcas .swiper-pagination-fraction {
    left: 0 !important;
}
@keyframes gradientShift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

.bg-border {
  transition: transform 0.5s ease-in-out;
  animation: gradientShift 5s ease infinite;
}



.bg-border:hover {
  transform: scale(1.03);
}

.tab-agent-image:is(.active) img,
.img-animation img {
   animation: floatUp 2s ease-in-out infinite;
}
@keyframes floatUp {
   0% {
      transform: translateY(0);
   }
   50% {
      transform: translateY(-8px);
   }
   100% {
      transform: translateY(0);
   }
}

/*Hero animation*/
.img-sequece {
  opacity: 0;
  transition: opacity 1s ease-in-out!important;
	animation: floatUp 4s ease-in-out infinite;
}
.img-sequece.visible {
  opacity: 1;
}

.text-change {
  display: inline-block;
  border-right: 3px solid rgb(255,255,255);
  padding-right: 5px;
  white-space: nowrap;
  animation: blink-caret 0.8s step-end infinite;
}

@keyframes blink-caret {
  50% {
    border-color: transparent; 
  }
}

