/* SVG Background Patterns
-------------------------------------------------- */

/* Geometric Pattern */
.bg-geometric {
  background-image: url('/images/svg/geometric-pattern.svg');
  background-repeat: repeat;
  background-size: 100px 100px;
}

/* Wave Divider - Use for section separators */
.wave-divider {
  background-image: url('/images/svg/new-wave-divider.svg');
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: 100% auto;
  height: 100px;
  width: 100%;
  margin-top: -1px; 
  margin-bottom: -1px; 
  position: relative;
  z-index: 10; 
  display: block;
}

/* Topographic Pattern - Perfect for land surveying sections */
.bg-topographic {
  background-image: url('/images/svg/topographic-pattern.svg');
  background-repeat: repeat;
  background-size: 500px 500px;
}

/* Survey Grid Pattern - Great for technical sections */
.bg-survey-grid {
  background-image: url('/images/svg/survey-grid.svg?v=2');
  background-repeat: repeat;
  background-size: 100px 100px;
}

/* Blueprint Pattern - Ideal for services section */
.bg-blueprint {
  background-image: url('/images/svg/blueprint-pattern.svg');
  background-repeat: repeat;
  background-size: 100px 100px;
  background-color: #f8f9fa;
  position: relative;
}

.bg-blueprint::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, rgba(255,255,255,0.92) 0%, rgba(248,249,250,0.88) 100%);
  z-index: 1;
  pointer-events: none;
}

.bg-blueprint > * {
  position: relative;
  z-index: 2;
}

/* Dotted Pattern - Subtle background for any section */
.bg-dotted {
  background-image: url('/images/svg/dotted-pattern.svg');
  background-repeat: repeat;
  background-size: 40px 40px;
}

/* Diagonal Lines Pattern - Modern look for any section */
.bg-diagonal {
  background-image: url('/images/svg/diagonal-lines.svg');
  background-repeat: repeat;
  background-size: 40px 40px;
}

/* Utility classes for background colors with patterns */
.bg-light-with-pattern {
  background-color: #f8f9fa;
}

.bg-white-with-pattern {
  background-color: #ffffff;
}

.bg-primary-with-pattern {
  background-color: var(--bs-primary);
  background-blend-mode: overlay;
}

.bg-secondary-with-pattern {
  background-color: var(--bs-secondary);
  background-blend-mode: overlay;
}

/* Overlay effects for patterns */
.gradient-overlay-light {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(255,255,255,0.92) 0%, rgba(248,249,250,0.88) 100%);
  z-index: 2;
  pointer-events: none;
}

.gradient-overlay-dark {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(0,0,0,0.85) 0%, rgba(0,0,0,0.75) 100%);
  z-index: 1;
}

/* Subtle pattern backgrounds */
.subtle-pattern {
  position: relative;
  background-color: #f8f9fa;
}

.subtle-pattern::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.1;
  z-index: 0;
  pointer-events: none;
}

/* Section with pattern background */
.section-with-pattern {
  position: relative;
  z-index: 1;
  overflow: hidden;
}

/* Parallax effect for patterns */
.parallax-pattern {
  background-attachment: fixed;
  background-position: center;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .parallax-pattern {
    background-attachment: scroll; 
  }
  
  .wave-divider {
    height: 50px;
  }
}
