/* ============================================
   SERVICES — Page-specific styles
   ============================================ */

/* --- Hero Slider Animations --- */
.slide-from-top    { opacity: 0; transform: translateY(-120%); }
.slide-from-bottom { opacity: 0; transform: translateY(120%); }
.flip              { opacity: 0; transform: rotateX(90deg) scale(0.9); }
.show              { opacity: 1 !important; transform: translateY(0) rotateX(0) scale(1) !important; }

/* --- Gallery Animation --- */
.gallery-card img {
  opacity: 0;
  transform: translateY(40px);
  transition: all 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}
.gallery-card.show img { opacity: 1; transform: translateY(0); }
.gallery-card { margin-bottom: 1rem; break-inside: avoid-column; }
#galleryContainer { column-gap: 1rem; }

/* --- Service Card --- */
.service-box {
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(0, 255, 255, 0.12);
  padding: 16px;
  border-radius: 14px;
  backdrop-filter: blur(6px);
  transition: 0.3s ease;
  min-height: 360px;
  height: auto;
  display: flex;
  flex-direction: column;
}

.service-box:hover {
  transform: translateY(-8px) scale(1.02);
  border-color: rgba(0, 255, 255, 0.5);
  box-shadow: 0 10px 30px rgba(0, 255, 255, 0.15);
}

.service-img {
  height: 180px;
  width: 100%;
  object-fit: cover;
  border-radius: 10px;
}

.service-title {
  font-size: 1.3rem;
  font-weight: 600;
  margin-top: 10px;
  color: #7afcff;
}

.service-text {
  font-size: 1.2rem;
  color: white;
  margin-top: 6px;
  line-height: 1.35;
}

.service-btn {
  margin-top: 12px;
  background: rgba(0, 255, 255, 0.18);
  border: 1px solid rgba(0, 255, 255, 0.35);
  color: white;
  padding: 8px 20px;
  width: auto;
  border-radius: 8px;
  text-align: center;
  font-size: 0.85rem;
  font-weight: 500;
  transition: 0.25s ease;
  align-self: center;
}

.service-btn:hover {
  background: rgba(0, 255, 255, 0.3);
  transform: scale(1.05);
  box-shadow: 0 0 8px rgba(0, 255, 255, 0.3);
}

/* --- Responsive --- */
@media (max-width: 640px) {
  .service-text   { font-size: 1rem; }
  .service-title  { font-size: 1.1rem; }
  .service-box    { min-height: 330px; height: auto; }
  .service-img    { height: 160px; }
  .service-btn    { margin-top: 14px !important; }
}
