/* BUTTON ANIMATION */
.elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.elementor-button-content-wrapper {
  display: inline-flex;
  align-items: center;
}

.elementor-button-text {
  line-height: 1; /* ensures vertical centering */
}


.elementor-button-icon {
  background-color: #fff;
  color: #164620!important; /* icon color */
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px; /* bigger circle */
  font-size: 20px; /* bigger icon */
  font-weight: 700;
  transform: rotate(320deg);
  transition: transform 0.3s ease;
}

.elementor-button:hover .elementor-button-icon {
  transform: rotate(360deg);
}

/* Force icon color for Elementor button SVG */
.elementor-button .elementor-button-icon svg path {
  fill: #E03830 !important;
}



/* Card container */
.card {
  position: relative;
  cursor: pointer;
  overflow: hidden;
}

/* Text (hidden by default) */
.card-text {
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transition: 
    opacity 1s ease-in-out,
    max-height 2s ease-in-out,
    transform 1s ease-in-out;
}

/* On hover: fade + slide up */
.card:hover .card-text {
  opacity: 1;
  max-height: 1000px; /* set big enough for your content */
    transition: 
    opacity 1s ease-in-out,
    max-height 2s ease-in-out,
    transform 1s ease-in-out;
}

.card:not(:hover) .card-text {
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  transition: 
    opacity 0.25s ease-in-out,
    max-height 0.75s ease-in-out,
    transform 0.25s ease-in-out;
}


/* Tablet and Mobile: Always show text, no transitions */
@media (max-width: 1024px) {
  .card-text {
    opacity: 1!important;
    max-height: 1000px!important; /* Set big enough for your content */
    transition: none!important; /* Disable transitions */
  }
  .card:hover .card-text {
    opacity: 1!important;
    max-height: 1000px!important;
    transform: translateY(0)!important; /* Ensure text stays visible on hover */
  }
}
