/* =====================
   Hero Section Background
===================== */

/* Light Theme */
.hero-modern {
  position: relative;
  background: linear-gradient(135deg, #1a73e8, #4dabf7, #00c6ff);
  background-size: 400% 400%;
  animation: gradientMove 15s ease infinite;
  
  background: linear-gradient(135deg, #0d47a1, #1565c0, #1e88e5);
  background-size: 200% 200%;
  animation: gradientMove 20s ease infinite;  
  
  color: #fff;
  padding: 100px 0;
  overflow: hidden;
}

.hero-modern {

  color: #fff;
}

.hero-modern::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: radial-gradient(circle at top left, rgba(255,255,255,0.1), transparent 70%);
  pointer-events: none;
  z-index: 0;
}

/* Dark Theme */
/*
.hero-modern {
  position: relative;
  background: linear-gradient(135deg, #0f2027, #203a43, #2c5364);
  color: #fff;
  padding: 100px 0;
  overflow: hidden;
}

.hero-modern::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(255,255,255,0.05);
  pointer-events: none;
  z-index: 0;
}
*/



/* Dark Tech (Deep Blue → Indigo → Cyan → Magenta) */
.hero-modern {
  background: linear-gradient(135deg, #0f2027, #203a43, #2c5364, #5b2cff);
  background-size: 400% 400%;
  animation: gradientMove 25s ease infinite;
}

/* Subtle Pastel Flow (Light Blue → Soft Pink → Mint) */
.hero-modern {
  background: linear-gradient(135deg, #89f7fe, #66a6ff, #fbc2eb, #a6c1ee, #a8edea);
  background-size: 400% 400%;
  animation: gradientMove 30s ease infinite;
}

/* Cool & Modern (Teal → Blue → Violet) */
.hero-modern {
  background: linear-gradient(135deg, #00f5a0, #00c6ff, #4dabf7, #9c27b0);
  background-size: 400% 400%;
  animation: gradientMove 20s ease infinite;
}

/* Sunset Vibe (Orange → Pink → Purple) */
.hero-modern {
  background: linear-gradient(135deg, #ff6a00, #ff8e53, #ff3d81, #7b2ff7);
  background-size: 400% 400%;
  animation: gradientMove 25s ease infinite;
}

/* Bright & Playful (Blue → Purple → Pink → Cyan) */
.hero-modern {
  background: linear-gradient(135deg, #1a73e8, #4dabf7, #9c27b0, #ff4081, #00c6ff);
  background-size: 400% 400%;
  animation: gradientMove 20s ease infinite;
}



@keyframes gradientMove {
  0%   { background-position: 0% 50%; }
  50%  { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}


/* Hero Cards Container */
.hero-cards {
  position: relative;
  height: 500px;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 20px;
  padding: 0 20px;
}

/* Floating Cards */
.feature-card {
  position: absolute;
  width: 240px;
  min-height: 280px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  border-radius: 18px;
  box-shadow: 0 22px 50px rgba(0,0,0,0.22);
  cursor: pointer;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  animation: floatCard 6s ease-in-out infinite alternate;
}

.feature-card img {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 14px;
  margin-bottom: 12px;
}

/* Hover Effect */
.feature-card:hover {
  transform: translate(var(--x), var(--y)) scale(1.06) rotate(-1deg);
  z-index: 99 !important;
  box-shadow: 0 30px 70px rgba(0,0,0,0.35);
  animation-play-state: paused;
}

/* Card Positions */
.card-site    { --x: -120px; --y: -50px; z-index: 1; }
.card-crm     { --x: 90px;   --y: -120px; z-index: 3; }
.card-billing { --x: -60px;  --y: 70px;  z-index: 2; }
.card-project { --x: 150px;  --y: 120px; z-index: 1; }

/* Floating Animation */
@keyframes floatCard {
  0%   { transform: translate(var(--x), var(--y)); }
  50%  { transform: translate(var(--x), calc(var(--y) - 8px)); }
  100% { transform: translate(var(--x), var(--y)); }
}

/* =====================
   Card Label
===================== */
.card-label {
  position: absolute;
  top: -10px;
  left: 16px;
  background-color: #1a73e8;
  color: #fff;
  font-size: 12px;
  font-weight: 500;
  padding: 5px 14px;
  border-radius: 20px;
  box-shadow: 0 4px 10px rgba(0,0,0,0.15);
  z-index: 10;
  white-space: nowrap;
}

/* =====================
   Tablet Layout
===================== */
/* =====================
   Mobile & Tablet Hero Cards Overlap
===================== */
@media (max-width: 768px) {

  .hero-cards {
    position: relative;
    height: 400px; /* smaller than desktop */
    height: 75vh; /* smaller than desktop */
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 10px;
  }

  .feature-card {
    position: absolute;
    width: 50%;           /* smaller for mobile */
    min-height: 180px;
    padding: 12px;
    border-radius: 16px;
    box-shadow: 0 18px 40px rgba(0,0,0,0.2);
    animation: floatCard 5s ease-in-out infinite alternate;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
  }

  /* Smaller overlapping positions for mobile */
  .card-site    { --x: -70px; --y: -70px; z-index: 3; }
  .card-crm     { --x: 40px;  --y: -30px; z-index: 4; }
  .card-billing { --x: -20px; --y: 50px;  z-index: 2; }
  .card-project { --x: 80px;  --y: 90px;  z-index: 1; }

  .feature-card:hover {
    transform: translate(var(--x), var(--y)) scale(1.05) rotate(-1deg);
    z-index: 99 !important;
    box-shadow: 0 28px 60px rgba(0,0,0,0.35);
    animation-play-state: paused;
  }

  .feature-card img {
    height: 50vh;  /* smaller image */
    margin-bottom: 10px;
  }

  .card-label {
    top: -6px;
    left: 12px;
    font-size: 10px;
    padding: 3px 10px;
  }
}

/* Extra small mobile */
@media (max-width: 480px) {

  .hero-cards {
    height: 360px;
  }

  .feature-card {
    width: 80%;
    min-height: 200px;
  }

  .feature-card img {
    height: 90px;
  }
}
