/* WEB-D10 sitewide content-photo hover treatment.
   Protected homepage opening slideshow uses CSS backgrounds and is intentionally unaffected. */
@media (hover: hover) and (pointer: fine) {
  .img-hover-zoom img,
  main img:not([src*="logo"]):not([src*="icon"]):not([src*="badge"]):not(.no-content-photo-hover) {
    transition: transform 0.5s ease;
    transform-origin: center center;
  }

  .img-hover-zoom:hover img,
  main img:not([src*="logo"]):not([src*="icon"]):not([src*="badge"]):not(.no-content-photo-hover):hover {
    transform: scale(1.03);
  }
}

@media (prefers-reduced-motion: reduce) {
  .img-hover-zoom img,
  .img-hover-zoom:hover img,
  main img:not([src*="logo"]):not([src*="icon"]):not([src*="badge"]):not(.no-content-photo-hover),
  main img:not([src*="logo"]):not([src*="icon"]):not([src*="badge"]):not(.no-content-photo-hover):hover {
    transition: none !important;
    transform: none !important;
  }
}

/* Desktop heading polish: balance multi-line headings so a single trailing
   word is not stranded when the available layout can support a cleaner wrap.
   Tablet/mobile wrapping remains controlled by each page template. */
@media (min-width: 1100px) {
  main h1,
  main h2,
  main h3 {
    text-wrap: balance;
  }
}
