/* Custom styles for Living Water Technicians */
:root {
  --pp-primary: #0369a1; /* deep ocean blue */
  --pp-secondary: #06b6d4; /* cyan/aqua */
  --pp-accent: #0ea5e9; /* sky blue */
  --pp-dark: #0c2340; /* deep navy */
  --pp-light: #e0f2fe; /* light sky */
  --pp-success: #10b981; /* water green */
}

html, body {
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
}

.hero .display-5 {
  letter-spacing: -0.02em;
}

.navbar-brand {
  letter-spacing: -0.02em;
}

footer {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

/* Utility tweaks */
.object-fit-cover { object-fit: cover; }

/* Gallery */
img.shadow-sm { transition: transform .2s ease, box-shadow .2s ease; }
img.shadow-sm:hover { transform: translateY(-2px); box-shadow: 0 .5rem 1rem rgba(0,0,0,.15); }

/* Hero cover section */
.hero-cover { min-height: 60vh; display: flex; align-items: center; }
.hero-cover .container { position: relative; }
.hero-bg {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  transform: scale(1.02);
}
.hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,.35));
}

/* Cards hover elevation */
.card-elevate { transition: transform .2s ease, box-shadow .2s ease; }
.card-elevate:hover { transform: translateY(-2px); box-shadow: 0 .6rem 1.2rem rgba(0,0,0,.15); }

/* Sticky navbar shadow intensifies on scroll (toggled via JS) */
.navbar.sticky-top.scrolled { box-shadow: 0 .5rem 1rem rgba(0,0,0,.1)!important; }

/* Gradient theme & buttons */
.bg-gradient-primary { background-image: linear-gradient(135deg, var(--pp-primary), var(--pp-secondary)); }
.btn-gradient { background-image: linear-gradient(135deg, var(--pp-primary), var(--pp-accent)); color: #fff; border: none; }
.btn-gradient:hover { filter: brightness(.95); color: #fff; }

/* Feature icon circles */
.feature-icon {
  width: 3rem; height: 3rem; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--pp-light); color: var(--pp-primary);
}

/* Ocean-themed primary overrides for key Bootstrap utilities */
.bg-primary { background-color: var(--pp-primary) !important; }
.text-primary { color: var(--pp-primary) !important; }

.btn-primary {
  background-color: var(--pp-primary);
  border-color: var(--pp-primary);
}
.btn-primary:hover,
.btn-primary:focus {
  background-color: #0b637a;
  border-color: #0b637a;
}

.btn-outline-primary {
  color: var(--pp-primary);
  border-color: var(--pp-primary);
}
.btn-outline-primary:hover,
.btn-outline-primary:focus {
  background-color: var(--pp-primary);
  border-color: var(--pp-primary);
  color: #fff;
}

.badge.bg-primary { background-color: var(--pp-primary) !important; }

/* Reveal on scroll */
.reveal { opacity: 0; transform: translateY(12px); transition: opacity .5s ease, transform .5s ease; }
.reveal.reveal-show { opacity: 1; transform: none; }

/* Pills spacing */
.nav-pills .nav-link { border-radius: 999px; }

/* Stats */
.stat { text-align: center; }
.stat .value { font-weight: 700; font-size: clamp(1.75rem, 1.2rem + 2vw, 2.5rem); line-height: 1; }
.stat .label { color: #6b7280; }

/* Timeline */
.timeline { position: relative; }
.timeline::before { content: ""; position: absolute; left: 1.25rem; top: 0; bottom: 0; width: 2px; background: rgba(0,0,0,.1); }
.timeline-item { position: relative; padding-left: 3rem; }
.timeline-item::before { content: ""; position: absolute; left: .9rem; top: .35rem; width: .7rem; height: .7rem; border-radius: 50%; background: var(--pp-primary); box-shadow: 0 0 0 4px rgba(13,110,253,.15); }

/* Trust badges */
.badge-tile { background: #fff; border: 1px solid rgba(0,0,0,.06); border-radius: .75rem; padding: .75rem 1rem; display: flex; align-items: center; gap: .5rem; box-shadow: 0 .25rem .75rem rgba(0,0,0,.05); }

/* Water-themed accents */
.bg-water-light { background-color: var(--pp-light); }
.text-water-primary { color: var(--pp-primary); }
.text-water-secondary { color: var(--pp-secondary); }
.border-water { border-color: var(--pp-secondary) !important; }

/* Water wave animation */
@keyframes wave {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-8px); }
}

.wave-animate { animation: wave 2s ease-in-out infinite; }

/* Water drop icon styling */
.water-drop {
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  background: linear-gradient(135deg, var(--pp-secondary), var(--pp-primary));
  border-radius: 50% 50% 50% 0;
  transform: rotate(-45deg);
}

/* Section dividers with water theme */
.divider-water {
  height: 4px;
  background: linear-gradient(90deg, transparent, var(--pp-secondary), transparent);
  margin: 2rem 0;
}

/* Hero overlay enhancement */
.hero-overlay-water {
  background: linear-gradient(180deg, rgba(12,35,64,.6), rgba(3,105,161,.4));
}

/* Service card water theme */
.card-water {
  border: none;
  border-top: 4px solid var(--pp-secondary);
  transition: all .3s ease;
}

.card-water:hover {
  border-top-color: var(--pp-primary);
  box-shadow: 0 1rem 2rem rgba(3,105,161,.15);
}

/* Aqua accent text */
.text-aqua { color: var(--pp-secondary); }
.text-aqua-dark { color: var(--pp-primary); }
