/* Site-wide hover/press micro-interactions — injected on every page by
   functions/_middleware.js. The site felt static; this adds the same
   kind of lift/shadow/press feedback modern sites use, without touching
   every template's own markup. Mouse/trackpad only (hover:hover) so it
   never causes a "stuck highlight" on touch devices. */

@media (hover: hover) and (pointer: fine) {
  .card, .svc, .featureCard, .postCard, .item, .step, .communityCard,
  .blogCard, .review, .quickItem, .fact, a.svc {
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  }
  .card:hover, .svc:hover, .featureCard:hover, .postCard:hover,
  .item:hover, .step:hover, .communityCard:hover, .blogCard:hover,
  .quickItem:hover, .fact:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 30px rgba(16, 45, 38, .12);
  }

  /* Growing teal-to-coral accent bar along the top edge on hover */
  .card, .featureCard, .postCard, .item, .communityCard, .blogCard {
    position: relative;
  }
  .card::before, .featureCard::before, .postCard::before, .item::before,
  .communityCard::before, .blogCard::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 4px;
    border-radius: inherit;
    background: linear-gradient(90deg, #0B563F, #F06D4F);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .3s ease;
    pointer-events: none;
  }
  .card:hover::before, .featureCard:hover::before, .postCard:hover::before,
  .item:hover::before, .communityCard:hover::before, .blogCard:hover::before {
    transform: scaleX(1);
  }

  a.btn, a.cta, .call, .text, .read, .viewall, .findBtn, .qhHeadCart,
  .qhHeadSearch, .menuBtn, button.addPill, .addPill {
    transition: transform .16s ease, box-shadow .16s ease, opacity .16s ease, filter .16s ease;
  }
  a.btn:hover, a.cta:hover, .call:hover, .text:hover, .read:hover,
  .viewall:hover, .findBtn:hover, .addPill:hover {
    transform: translateY(-2px);
    filter: brightness(1.04);
    box-shadow: 0 8px 18px rgba(16, 45, 38, .16);
  }
  .qhHeadCart:hover, .qhHeadSearch:hover, .menuBtn:hover {
    opacity: .72;
  }

  .topbar .nav a:hover, .topbar .servicesMenu a:hover {
    background: #F4FAF7;
    border-radius: 8px;
  }
}

/* Press feedback works everywhere, including touch */
a.btn:active, a.cta:active, .call:active, .text:active, .addPill:active,
.card:active, .svc:active, .item:active {
  transform: scale(.98);
}

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; }
}
