/*
Theme Name: VetPulse – Veterinária (Light + Motion)
Theme URI: https://kinkajoudev.com.br
Author: Kinkajou Dev
Author URI: https://kinkajoudev.com.br
Description: Tema WordPress claro e memorável para clínicas veterinárias e veterinários autônomos. Tailwind + motion/scroll effects, SEO e acessibilidade.
Version: 1.1.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: vetpulse
Tags: custom-background, custom-logo, custom-menu, featured-images, blog, one-column, two-columns, accessibility-ready, translation-ready
*/

/* Tailwind via CDN. This file adds custom motion + a11y helpers. */

:root {
  --vp-primary: #10b981;
  --vp-secondary: #38bdf8;
  --vp-ink: #0f172a;
  --vp-muted: #475569;
  --vp-bg: #f8fafc;
}

html:focus-within { scroll-behavior:smooth; }

@media (prefers-reduced-motion: reduce) {
  html:focus-within { scroll-behavior:auto; }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

.vp-skip {
  position:absolute; left:-999px; top:auto; width:1px; height:1px; overflow:hidden;
}
.vp-skip:focus {
  left: 1rem; top: 1rem; width:auto; height:auto; z-index: 9999;
}

.vp-focus:focus-visible {
  outline: 3px solid rgba(56,189,248,.9);
  outline-offset: 3px;
  border-radius: 14px;
}

.vp-card {
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: 0 1px 0 rgba(15,23,42,.04), 0 18px 40px rgba(15,23,42,.08);
}

.vp-glass {
  background: rgba(255,255,255,.65);
  border: 1px solid rgba(15,23,42,.08);
  backdrop-filter: blur(10px);
}

.vp-reveal {
  opacity: 0;
  transform: translateY(16px) scale(.985);
  transition: opacity .8s cubic-bezier(.2,.8,.2,1), transform .8s cubic-bezier(.2,.8,.2,1);
  will-change: opacity, transform;
}
.vp-reveal.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.vp-float {
  animation: vpFloat 7s ease-in-out infinite;
}
@keyframes vpFloat {
  0%,100% { transform: translateY(0) }
  50% { transform: translateY(-10px) }
}

.vp-parallax { will-change: transform; }

.vp-underline {
  height: 2px;
  background: linear-gradient(90deg, rgba(16,185,129,0), rgba(16,185,129,.55), rgba(56,189,248,.55), rgba(56,189,248,0));
}

.vp-noise {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.13'/%3E%3C/svg%3E");
  background-size: 220px 220px;
  mix-blend-mode: multiply;
  opacity: .45;
}

