/* Shoco accessibility menu + cookie banner + legal pages (znp.co.il + en.znp.co.il, 12.10.2026).
   Palette from the site: dark grey #595353, light grey #A6A6A6, red #ED1D23, white. Font: Roboto (site kit). */

/* ===== accessibility menu ===== */
.znp-a11y { position: fixed; z-index: 99980; font-family: Roboto, Arial, Helvetica, sans-serif; }
/* Hebrew site: WhatsApp button sits bottom-left (45-60px), scroll-to-top bottom-right: our button goes above WhatsApp. */
.znp-a11y--he { bottom: 122px; left: 15px; direction: rtl; }
/* English site: WhatsApp + scroll-to-top are both bottom-right: our button takes the free bottom-left corner. */
.znp-a11y--en { bottom: 20px; left: 20px; direction: ltr; }
#znp-a11y .znp-a11y__toggle { width: 48px; height: 48px; border-radius: 50%; border: 2px solid #fff; background: #595353; color: #fff; display: grid; place-items: center; cursor: pointer; box-shadow: 0 3px 10px rgba(0, 0, 0, .3); padding: 0; margin: 0; line-height: 1; }
#znp-a11y .znp-a11y__toggle svg { width: 28px; height: 28px; }
#znp-a11y .znp-a11y__toggle:hover, #znp-a11y .znp-a11y__toggle:focus-visible, #znp-a11y .znp-a11y__toggle[aria-expanded="true"] { background: #ED1D23; border-color: #fff; outline: none; }
#znp-a11y .znp-a11y__toggle:focus-visible { box-shadow: 0 0 0 3px #fff, 0 0 0 5px #595353; }
.znp-a11y__panel { position: absolute; bottom: 58px; left: 0; width: 250px; background: #fff; border-radius: 10px; box-shadow: 0 8px 30px rgba(0, 0, 0, .3); padding: 10px; }
.znp-a11y--he .znp-a11y__panel { direction: rtl; text-align: right; }
.znp-a11y--en .znp-a11y__panel { direction: ltr; text-align: left; }
.znp-a11y__head { display: flex; justify-content: space-between; align-items: center; padding: 4px 6px 8px; font-size: 18px; color: #222; border-bottom: 1px solid #e5e5e5; margin-bottom: 6px; }
#znp-a11y .znp-a11y__close { background: none; border: 0; font-size: 24px; line-height: 1; cursor: pointer; color: #222; padding: 0 4px; margin: 0; }
.znp-a11y__list { list-style: none; margin: 0; padding: 0; max-height: 60vh; overflow: auto; }
.znp-a11y__list li { margin: 0; padding: 0; }
#znp-a11y .znp-a11y__item { display: block; width: 100%; text-align: inherit; background: #f4f4f4; border: 1px solid #dcdcdc; border-radius: 6px; padding: 8px 10px; margin: 4px 0; font-family: inherit; font-size: 15px; font-weight: 400; line-height: 1.4; color: #222 !important; cursor: pointer; text-decoration: none; box-sizing: border-box; }
#znp-a11y .znp-a11y__item:hover { background: #e6e6e6; }
#znp-a11y .znp-a11y__item[aria-pressed="true"] { background: #595353; color: #fff !important; border-color: #595353; }
#znp-a11y .znp-a11y__item--reset { background: #fff; }
#znp-a11y .znp-a11y__item--link { text-decoration: underline; background: #fff; }
@media (max-width: 600px) {
	.znp-a11y--he { bottom: 112px; left: 12px; }
	.znp-a11y--en { bottom: 16px; left: 12px; }
	#znp-a11y .znp-a11y__toggle { width: 44px; height: 44px; }
	.znp-a11y__panel { width: 230px; bottom: 54px; }
}

/* modes (classes on <html>); filters go on the top-level children of body so the fixed widgets keep working */
html.znp-a11y-contrast body > *:not(.znp-a11y):not(.znp-cookie) { filter: contrast(1.35); }
html.znp-a11y-invert body > *:not(.znp-a11y):not(.znp-cookie) { filter: invert(1) hue-rotate(180deg); }
html.znp-a11y-invert body > *:not(.znp-a11y):not(.znp-cookie) :is(img, video, iframe, [style*="background-image"]) { filter: invert(1) hue-rotate(180deg); }
html.znp-a11y-grayscale body > *:not(.znp-a11y):not(.znp-cookie) { filter: grayscale(1); }
html.znp-a11y-links body a:not(.znp-a11y__item) { text-decoration: underline !important; outline: 1px solid currentColor; outline-offset: 1px; }
html.znp-a11y-readable body, html.znp-a11y-readable body *:not(i):not(svg):not([class*="fa-"]):not([class*="eicon"]):not([class*="bdt-"]) { font-family: Arial, Helvetica, sans-serif !important; letter-spacing: .02em; }
html.znp-a11y-motion *, html.znp-a11y-motion *::before, html.znp-a11y-motion *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
html.znp-a11y-motion .elementor-invisible { visibility: visible !important; opacity: 1 !important; }
html.znp-a11y-cursor, html.znp-a11y-cursor * { cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24'><path d='M4 2l16 11-7 1 4 7-3 2-4-7-6 5z' fill='%23000' stroke='%23fff' stroke-width='1.5'/></svg>") 4 2, auto !important; }

/* ===== cookie banner ===== */
.znp-cookie { position: fixed; inset: auto 0 0 0; z-index: 99990; display: none; justify-content: center; padding: 0 12px 16px; pointer-events: none; font-family: Roboto, Arial, Helvetica, sans-serif; }
.znp-cookie--open { display: flex; }
.znp-cookie__box { pointer-events: auto; width: 100%; max-width: 640px; background: #fff; color: #333; border-radius: 12px; border-top: 4px solid #ED1D23; box-shadow: 0 6px 30px rgba(0, 0, 0, .25); padding: 20px 24px 18px; animation: znp-cookie-in .5s cubic-bezier(.22, .61, .36, 1) both; }
.znp-cookie--he .znp-cookie__box { direction: rtl; text-align: right; }
.znp-cookie--en .znp-cookie__box { direction: ltr; text-align: left; }
.znp-cookie__title { margin: 0 0 8px; font-family: inherit; font-size: 20px; font-weight: 600; color: #222; line-height: 1.3; }
.znp-cookie__text { margin: 0 0 14px; font-size: 15px; line-height: 1.6; }
.znp-cookie__text a { color: #222; text-decoration: underline; }
.znp-cookie__actions { display: flex; gap: 10px; flex-wrap: wrap; }
.znp-cookie .znp-cookie__btn { font-family: inherit; font-size: 15px; font-weight: 600; line-height: 1; padding: 11px 18px; border-radius: 8px; cursor: pointer; border: 1px solid #595353; margin: 0; }
.znp-cookie .znp-cookie__btn--accept { background: #595353; color: #fff; }
.znp-cookie .znp-cookie__btn--accept:hover, .znp-cookie .znp-cookie__btn--accept:focus-visible { background: #ED1D23; border-color: #ED1D23; color: #fff; }
.znp-cookie .znp-cookie__btn--reject { background: #fff; color: #333; }
.znp-cookie .znp-cookie__btn--reject:hover, .znp-cookie .znp-cookie__btn--reject:focus-visible { background: #e6e6e6; color: #222; }
@keyframes znp-cookie-in { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
@media (max-width: 600px) { .znp-cookie__box { padding: 16px 16px 14px; } .znp-cookie .znp-cookie__btn { flex: 1 1 auto; text-align: center; } }

/* ===== footer legal links row (Elementor text-editor widget with class znp-legal, on the #A6A6A6 strip) ===== */
.elementor-location-footer .znp-legal p { margin: 0; line-height: 1.6; display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; }
.elementor-location-footer .znp-legal a { white-space: nowrap; }
.elementor-location-footer .znp-legal a { color: #2b2b2b; text-decoration: underline; text-underline-offset: 3px; }
.elementor-location-footer .znp-legal a:hover, .elementor-location-footer .znp-legal a:focus-visible { color: #ED1D23; }
.elementor-location-footer .znp-legal .znp-sep { color: #2b2b2b; margin: 0 8px; }

/* ===== legal pages (privacy policy, accessibility statement) ===== */
body.znp-legal .site-main, body.znp-legal main.site-main { max-width: 860px; margin: 0 auto; padding: 40px 20px 70px; box-sizing: border-box; }
body.znp-legal .page-header { padding: 0; margin: 0 0 20px; }
body.znp-legal h1.entry-title { font-family: Roboto, Arial, Helvetica, sans-serif; font-size: 36px; font-weight: 700; color: #222; text-align: start; margin: 0 0 20px; line-height: 1.25; }
body.znp-legal .page-content, body.znp-legal .entry-content { font-family: Roboto, Arial, Helvetica, sans-serif; font-size: 18px; line-height: 1.75; color: #333; text-align: start; }
body.znp-legal .page-content h2, body.znp-legal .entry-content h2 { font-family: inherit; font-size: 24px; font-weight: 700; color: #222; margin: 34px 0 10px; line-height: 1.3; }
body.znp-legal .page-content p, body.znp-legal .entry-content p { margin: 0 0 14px; }
body.znp-legal .page-content ul, body.znp-legal .entry-content ul { margin: 0 0 16px; padding-inline-start: 22px; }
body.znp-legal .page-content li, body.znp-legal .entry-content li { margin: 0 0 6px; }
body.znp-legal .page-content a, body.znp-legal .entry-content a { color: #222; text-decoration: underline; }
body.znp-legal .page-content a:hover, body.znp-legal .entry-content a:hover { color: #ED1D23; }
@media (max-width: 600px) { body.znp-legal h1.entry-title { font-size: 28px; } body.znp-legal .page-content, body.znp-legal .entry-content { font-size: 17px; } }

/* mobile: keep the footer legal links clear of the floating buttons (WhatsApp, scroll-to-top, accessibility) */
@media (max-width: 767px) { .elementor-location-footer .znp-legal { padding-bottom: 56px !important; } .elementor-location-footer .znp-legal p { padding: 0 52px; row-gap: 4px; } }
