/*
  Perfect Pooches - Style overrides
  Uses daisyUI v5 built-in "emerald" theme
*/

/* === Typography === */
.font-sans {
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}

.font-display {
  font-family: 'Baloo 2', 'DM Sans', sans-serif;
  font-weight: 700;
}

.font-hero {
  font-family: 'Baloo 2', 'DM Sans', sans-serif;
  font-weight: 800;
}

/* Smooth scroll */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
}

/* Button hover - darken bg, fade back over 1s */
.btn {
  transition: background-color 1s ease, border-color 1s ease;
}

.btn:hover {
  filter: brightness(0.85);
  transition: filter 0.15s ease;
}

.btn:not(:hover) {
  filter: brightness(1);
  transition: filter 1s ease;
}

/* Gradient underline - emerald green tones */
.underline-accent {
  text-decoration: none;
  background-image: linear-gradient(to right, #6ee7b7, #059669);
  background-position: 0 85%;
  background-size: 100% 8px;
  background-repeat: no-repeat;
}

/* Service card icons */
.service-icon {
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(5, 150, 105, 0.1);
  margin-bottom: 0.75rem;
}

.service-icon i {
  font-size: 2.25rem;
  color: #059669;
}

/* Floating WhatsApp */
.whatsapp-float {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 999;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #25d366;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
  transition: transform 0.2s, box-shadow 0.2s;
  text-decoration: none;
}

.whatsapp-float:hover {
  transform: scale(1.1);
  box-shadow: 0 6px 20px rgba(0,0,0,0.3);
}

/* Masonry gallery grid */
.gallery-masonry {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 200px;
  gap: 1rem;
}

.gallery-masonry .gallery-tall {
  grid-row: span 2;
}

.gallery-masonry .gallery-wide {
  grid-column: span 2;
}

@media (max-width: 768px) {
  .gallery-masonry {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 180px;
  }
}

/* Reviews show/hide transition */
#extra-reviews {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition: max-height 0.5s ease, opacity 0.4s ease;
}

#extra-reviews.shown {
  display: grid !important;
  max-height: 600px;
  opacity: 1;
}

/* No underline on nav/footer links */
.menu a,
footer a {
  text-decoration: none;
}
