/* Célia.B Institut de Beauté - Styles */
body {
  font-family: 'Montserrat', sans-serif;
  background-color: #FFF5F5;
  color: #44323A;
  position: relative;
  overflow-x: hidden;
}

/* Neumorphic Cards */
.soft-card {
  background: #FFF5F5;
  border-radius: 24px;
  box-shadow: 12px 12px 24px rgba(211, 191, 198, 0.35), -12px -12px 24px rgba(255, 255, 255, 0.9);
}

.soft-card-inset {
  background: #F8EFEF;
  border-radius: 20px;
  box-shadow: inset 6px 6px 12px rgba(211, 191, 198, 0.35), inset -6px -6px 12px rgba(255, 255, 255, 0.9);
}

.soft-outline {
  border: 1px solid rgba(255, 182, 193, 0.4);
}

/* Background Halos */
.halo {
  position: absolute;
  border-radius: 999px;
  filter: blur(60px);
  opacity: 0.5;
  z-index: -1;
}

/* Animations */
.fade-up {
  animation: fadeUp 0.9s ease-out both;
}

.fade-delay-2 {
  animation-delay: 0.2s;
}

.fade-delay-3 {
  animation-delay: 0.35s;
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Respect reduced motion preference */
@media (prefers-reduced-motion: reduce) {
  .fade-up,
  .fade-delay-2,
  .fade-delay-3 {
    animation: none;
  }
}

/* Service Icons */
.service-icon {
  width: 48px;
  height: 48px;
  border-radius: 16px;
  background: white;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 6px 6px 12px rgba(211, 191, 198, 0.35), -6px -6px 12px rgba(255, 255, 255, 0.9);
}

.service-icon svg {
  width: 24px;
  height: 24px;
  color: #FFB6C1;
}

/* Institut Cards */
.institut-card {
  overflow: hidden;
}

.institut-card img {
  transition: transform 0.3s ease;
}

.institut-card:hover img {
  transform: scale(1.02);
}

/* Google Maps Embed */
.map-container {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: inset 6px 6px 12px rgba(211, 191, 198, 0.35), inset -6px -6px 12px rgba(255, 255, 255, 0.9);
}

.map-container iframe {
  display: block;
}
