/* Port corrections — hand-written, DECLARED. Everything here stands in for something
 * Elementor's JS or a stylesheet that only loads on demand did on chalkhillventures.com.
 * Scoped to the site chrome marker so nothing reaches /admin.
 */

/* Popups: Elementor loads zoomIn.min.css and plays the entrance animation (1.2s, set inline
 * by PopupHost) on .dialog-widget-content; the exit animation is the same keyframes reversed.
 * zoomIn is Elementor's own (lib/animations/styles/zoomIn.min.css); fadeIn is in 10-wp.css. */
@keyframes zoomIn {
  from { opacity: 0; transform: scale3d(0.3, 0.3, 0.3); }
  50% { opacity: 1; }
}
:where(html:has([data-chv-chrome])) .zoomIn {
  animation-name: zoomIn;
}
:where(html:has([data-chv-chrome])) .dialog-widget-content.chv-popup-exit {
  animation-direction: reverse;
  animation-fill-mode: both;
}

/* Hero (section 314485f2): live anchors the bridge photo centre TOP under `cover`, which at
 * desktop widths shows mostly sky. Bo 2026-10-14: anchor it vertically centred — bottom was
 * tried first and cropped the arch on wide screens (1920/2560); centre shows arch, deck and
 * reflection at 1280–2560. Only the vertical anchor changes (the horizontal offsets live sets
 * per breakpoint stay); same selector rank as the live rule, later file wins. At 390 the
 * photo is scaled to the section's height, so this changes nothing there. */
:where(html:has([data-chv-chrome])) .elementor-2 .elementor-element.elementor-element-314485f2:not(.elementor-motion-effects-element-type-background) {
  background-position-y: center;
}
