/* Logic Ping site-wide basics that Elementor settings do not express. */

html { scroll-behavior: smooth; scroll-padding-top: 120px; }
body { overflow-wrap: break-word; -webkit-font-smoothing: antialiased; }
/* Safety net: no horizontal page scroll. clip (not hidden) keeps the sticky header working. */
html, body { overflow-x: clip; }
bdi { unicode-bidi: isolate; white-space: nowrap; }
/* Long English titles inside headings may wrap on narrow screens */
h1 bdi, h2 bdi, h3 bdi, h4 bdi { white-space: normal; }
em { font-style: normal; color: #e2ff32; }
body a, body a:hover, body a:active { color: inherit; text-decoration: none; }
a, button, summary { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, summary:focus-visible { outline: 3px solid #91a500; outline-offset: 5px; }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* Theme Builder header stays on top while scrolling */
.elementor-location-header,
[data-elementor-type="header"] { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 50; }

/* Phone numbers and emails read left to right inside Hebrew */
.lp-ltr { direction: ltr; unicode-bidi: isolate; }

/* Privacy consent checkbox: one line on phones, the policy link is clearly a link */
.elementor-field-type-acceptance .elementor-field-option { display: flex; align-items: center; gap: 8px; }
.elementor-field-type-acceptance label { font-size: 14px; line-height: 1.4; font-weight: 400; }
@media (max-width: 420px) { .elementor-field-type-acceptance label { font-size: 12.5px; letter-spacing: -.1px; } }
.elementor-field-type-acceptance label a, .elementor-field-type-acceptance label a:hover { text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; font-weight: 700; }

/* Skip link */
.lp-skip { position: fixed; top: -100px; right: 20px; z-index: 1000; background: #e2ff32; color: #000; padding: 10px 16px; font-weight: 700; text-decoration: none; }
.lp-skip:focus { top: 10px; }

/* Emphasis on light bands */
.lp-paper em { color: #5a670b; }
.lp-lime em { color: inherit; }

/* Headings keep word spaces when desktop line breaks are hidden */
@media (max-width: 760px) {
	.lp-nobr-mobile br { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

@media print {
	.elementor-location-header, .elementor-location-footer, .lp-skip { display: none !important; }
	body { background: #fff; color: #000; }
}
