/* === Custom Styles for A1 Security Metal Fab === */

/* Smooth scrolling */
html {
  scroll-behavior: smooth;
}

/* Custom scrollbar */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #f6f7f9;
}
::-webkit-scrollbar-thumb {
  background: #d1d5e0;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #a8b0c4;
}

/* === Geometric Background Shapes === */
.geo-shape {
  position: absolute;
  border-radius: 24px;
  opacity: 0.6;
  animation: float 8s ease-in-out infinite;
}

.shape-burgundy-large {
  width: 420px;
  height: 420px;
  background: linear-gradient(135deg, #8B1A4B 0%, #c42060 100%);
  top: 10%;
  right: -5%;
  border-radius: 40px;
  transform: rotate(15deg);
  animation-delay: 0s;
  opacity: 0.07;
}

.shape-blush-medium {
  width: 280px;
  height: 280px;
  background: linear-gradient(135deg, #F8C0D4 0%, #F4A38A 100%);
  bottom: 15%;
  right: 30%;
  border-radius: 32px;
  transform: rotate(-10deg);
  animation-delay: -2s;
  opacity: 0.1;
}

.shape-steel-accent {
  width: 180px;
  height: 180px;
  background: linear-gradient(135deg, #e8eaf0 0%, #d1d5e0 100%);
  top: 30%;
  left: 5%;
  border-radius: 24px;
  transform: rotate(45deg);
  animation-delay: -4s;
  opacity: 0.3;
}

.shape-burgundy-small {
  width: 100px;
  height: 100px;
  background: #8B1A4B;
  top: 60%;
  left: 15%;
  border-radius: 50%;
  animation-delay: -6s;
  opacity: 0.08;
}

.shape-blush-accent {
  width: 60px;
  height: 60px;
  background: #F4A38A;
  top: 20%;
  left: 35%;
  border-radius: 12px;
  transform: rotate(30deg);
  animation-delay: -3s;
  opacity: 0.15;
}

@keyframes float {
  0%, 100% { transform: translateY(0px) rotate(var(--rotate, 15deg)); }
  50% { transform: translateY(-20px) rotate(var(--rotate, 15deg)); }
}

.shape-burgundy-large { --rotate: 15deg; }
.shape-blush-medium { --rotate: -10deg; }
.shape-steel-accent { --rotate: 45deg; }
.shape-burgundy-small { --rotate: 0deg; }
.shape-blush-accent { --rotate: 30deg; }

/* === Service Cards === */
.service-card {
  position: relative;
  overflow: hidden;
}

.service-card::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #8B1A4B, #F8C0D4);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.5s ease;
}

.service-card:hover::before {
  transform: scaleX(1);
}

/* === Process Steps === */
.process-step::after {
  content: '';
  display: block;
  width: 40px;
  height: 3px;
  background: linear-gradient(90deg, #8B1A4B, transparent);
  margin-top: 12px;
  border-radius: 2px;
}

/* === Gallery Items === */
.gallery-item {
  position: relative;
}

.gallery-item::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 16px;
  border: 2px solid transparent;
  transition: border-color 0.4s ease;
  pointer-events: none;
}

.gallery-item:hover::after {
  border-color: rgba(139, 26, 75, 0.3);
}

/* === Navbar Scroll Effect === */
#navbar.scrolled {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(209, 213, 224, 0.5);
  box-shadow: 0 1px 20px rgba(0, 0, 0, 0.06);
}

/* === Reveal Animations === */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }

/* === Mobile Menu === */
#mobileMenu {
  animation: slideDown 0.3s ease;
}

@keyframes slideDown {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}

/* === Selection Color === */
::selection {
  background: #F8C0D4;
  color: #8B1A4B;
}

/* === Responsive adjustments === */
@media (max-width: 768px) {
  .shape-burgundy-large {
    width: 250px;
    height: 250px;
  }
  .shape-blush-medium {
    width: 160px;
    height: 160px;
  }
  .shape-steel-accent {
    width: 100px;
    height: 100px;
  }
}

@media (max-width: 640px) {
  #hero h1 {
    font-size: 2.75rem;
  }
}
