/* Abby's Dog Daycare: small additions for the Astro build (loaded after the original theme CSS). */

/* Elementor Pro "sticky" header → native CSS sticky (same visual behaviour, no jQuery) */
.elementor-location-header > .e-con[data-settings*='"sticky":"top"'],
.elementor-location-header > .elementor-element[data-settings*='"sticky":"top"'] {
  position: sticky;
  top: 0;
  z-index: 99;
}

/* Elementor entrance animation used by a few widgets */
@keyframes fadeInUp { from { opacity: 0; transform: translate3d(0, 60px, 0); } to { opacity: 1; transform: none; } }
.animated.fadeInUp { animation: fadeInUp 1.25s both; }
@media (prefers-reduced-motion: reduce) {
  .animated.fadeInUp, .fade-up.show { animation: none; opacity: 1; transform: none; }
  .fade-up { opacity: 1; transform: none; }
}

/* Gallery lightbox */
.abbys-lightbox {
  position: fixed; inset: 0; z-index: 100000; background: rgba(20, 14, 20, .92);
  display: flex; align-items: center; justify-content: center;
}
.abbys-lightbox img { max-width: 92vw; max-height: 88vh; object-fit: contain; border-radius: 6px; }
.abbys-lightbox button {
  position: absolute; background: none; border: 0; color: #fff; font-size: 44px; line-height: 1;
  cursor: pointer; padding: 12px 18px; opacity: .85;
}
.abbys-lightbox button:hover, .abbys-lightbox button:focus { opacity: 1; }
.abbys-lightbox .lb-close { top: 10px; right: 10px; }
.abbys-lightbox .lb-prev { left: 6px; top: 50%; transform: translateY(-50%); font-size: 60px; }
.abbys-lightbox .lb-next { right: 6px; top: 50%; transform: translateY(-50%); font-size: 60px; }

/* Contact form (MetForm markup) status message */
.abbys-form-msg { margin-top: 16px; padding: 12px 16px; border-radius: 8px; font-size: 15px; }
.abbys-form-msg.is-success { background: #eef8f0; color: #1f6b35; }
.abbys-form-msg.is-error { background: #fdeeee; color: #a12a2a; }
.elementor-form button[aria-busy='true'], .metform-btn[aria-busy='true'] { opacity: .6; cursor: progress; }
.cf-turnstile { margin-top: 12px; }
