/* Hero section */
/* ====== Banner base style ====== */
.banner-cover {
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  animation: fadeIn 1s ease-in-out;
}

/* subtle fade-in when banner loads */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ====== Animated floating images (if you add small decorative shapes later) ====== */
.banner-cover img {
  transition: transform 0.8s ease;
}

.banner-cover:hover img.wp-block-cover__image-background {
  transform: scale(1.1);
}

/* optional floating animation for banner-right-img */
.banner-right-img img {
  animation: floatUpDown 2s ease-in-out infinite;
}
@keyframes floatUpDown {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-12px); }
}

/* ====== Text animation ====== */
.banner-title {
  animation: fadeSlideIn 1s ease forwards;
  opacity: 0;
}
@keyframes fadeSlideIn {
  0% { opacity: 0; transform: translateY(25px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* Paragraph fade-in slightly after title */
.banner-left p {
  opacity: 0;
  animation: fadeInText 1.2s ease forwards;
  animation-delay: 0.4s;
}
@keyframes fadeInText {
  from { opacity: 0; transform: translateY(15px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ====== Button hover effects ====== */
.banner-btn .btn-text a {
  position: relative;
  overflow: hidden;
  transition: background 0.4s ease, color 0.4s ease, transform 0.3s ease;
}

.banner-btn .btn-text a:hover {
  transform: translateY(-3px);
  border: 2px solid black !important;
  color: #E5989B !important;
  background-color: white !important; /* darker shade of your primary */
  /* box-shadow: 0 8px 15px rgba(0,0,0,0.2); */
}

.banner-btn .btn-icon a {
  background-color: #E5989B;
  transition: all 0.4s ease;
}

.banner-btn .btn-icon a:hover {
  transform: rotate(360deg) scale(1);
  background-color: #d94b53 !important;
  border: 2px solid black;
}

/* optional arrow hover bounce */
.banner-btn .btn-icon img {
  transition: transform 0.4s ease;
}
.banner-btn .btn-icon:hover img {
  transform: translateX(6px);
}

/* ====== Responsive adjustments ====== */
@media (max-width: 1024px) {
  .banner-title { font-size: 32px !important; }
  .banner-right-img img { max-width: 90%; margin-inline: auto; display: block; }
}

@media (max-width: 768px) {
  .banner-title { font-size: 26px !important; line-height: 1.4; }
  .banner-btn { justify-content: center; }
  .banner-left, .banner-right { flex-basis: 100% !important; text-align: center; }
}

.image-scale img {
  transition: transform 1.2s ease;
}

.image-scale:hover {
  transform: scale(1.1);
}

a{
  text-decoration: none !important;
}


/* ========== CATEGORY SECTION REVEAL ANIMATION ========== */

/* Default (visible by default in non-JS fallback) */
.reveal-categories .card-style {
  opacity: 1;
  transform: none;
}

/* JS active → pre-state before reveal */
.reveal-init .reveal-categories .card-style {
  opacity: 0;
  transform: translateY(28px) rotateY(10deg) scale(0.95);
  transition: opacity 1.8s ease, transform 1.8s ease;
  transition-delay: calc(var(--stagger, 0) * 150ms);
  will-change: opacity, transform;
}

/* When card enters viewport */
.reveal-categories .card-style.is-visible {
  opacity: 1;
  transform: none;
  animation: flipYSlow 2s cubic-bezier(0.45, 0, 0.55, 1) both;
}

/* Perspective for realistic depth */
.reveal-categories {
  perspective: 1200px;
  transform-style: preserve-3d;
}

/* Keyframes: full slow-motion flip */
@keyframes flipYSlow {
  0% {
    opacity: 0;
    transform: rotateY(180deg) scale(0.95);
  }
  100% {
    opacity: 1;
    transform: rotateY(0deg) scale(1);
  }
}

/* Accessibility: no motion */
@media (prefers-reduced-motion: reduce) {
  .reveal-init .reveal-categories .card-style {
    transition: none !important;
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

.card-style:hover {
  transform: translateY(6px) !important;
  background-color: #daa3a5;
}




.practice-box:hover{
  background-color: #E89CA9 !important;
}

.practice-img img{
  background-color: #F4D7D9;
  border-radius: 50%;
  padding: 5px;
  margin-top: -40px !important;
  transition: transform 1.3s ease-in-out;
}


.practice-img img:hover {
  transform: rotate(360deg);
  background-color: #c9181e;
}
