/* ===== Wholestay Accessibility Widget v1.2.0 ===== */
/* Israeli Standard IS 5568 / WCAG 2.1 AA           */

:root {
  --acc-primary: #0057b7;
  --acc-primary-hover: #004494;
  --acc-bg: #ffffff;
  --acc-text: #1a1a1a;
  --acc-border: #d0d0d0;
  --acc-shadow: 0 4px 24px rgba(0,0,0,0.18);
  --acc-radius: 12px;
  --acc-btn-size: 56px;
}

/* ---- Toggle Button ---- */
#acc-toggle-btn {
  position: fixed !important;
  bottom: 40px !important;
  left: 20px !important;
  top: auto !important;
  right: auto !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 50% !important;
  background: #0057b7 !important;
  background-color: #0057b7 !important;
  color: #fff !important;
  border: none !important;
  cursor: pointer !important;
  z-index: 2147483647 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.18) !important;
  outline: none !important;
  padding: 0 !important;
  margin: 0 !important;
  font-size: 0 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  box-sizing: content-box !important;
  float: none !important;
  clear: none !important;
  overflow: visible !important;
  transition: background 0.2s !important;
}

#acc-toggle-btn:hover,
#acc-toggle-btn:focus-visible {
  background: #004494 !important;
  background-color: #004494 !important;
  transform: scale(1.08) !important;
  outline: 3px solid #fff !important;
  outline-offset: 2px !important;
}

#acc-toggle-btn.position-right {
  left: auto !important;
  right: 20px !important;
}

#acc-toggle-btn svg {
  width: 30px !important;
  height: 30px !important;
  fill: #fff !important;
  display: block !important;
  flex-shrink: 0 !important;
}

/* ---- Panel: hidden by default, immune to theme overrides ---- */
#acc-panel:not(.open) {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

#acc-panel {
  position: fixed !important;
  bottom: 110px !important;
  left: 20px !important;
  top: auto !important;
  right: auto !important;
  width: 300px !important;
  max-width: calc(100vw - 40px) !important;
  background: #ffffff !important;
  background-color: #ffffff !important;
  border: 1px solid #d0d0d0 !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.18) !important;
  z-index: 2147483646 !important;
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 15px !important;
  color: #1a1a1a !important;
  direction: rtl !important;
  overflow: hidden !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

#acc-panel.position-right {
  left: auto !important;
  right: 20px !important;
}

#acc-panel.open {
  display: block !important;
  visibility: visible !important;
  pointer-events: auto !important;
  opacity: 1 !important;
  animation: accSlideIn 0.18s ease;
}

@keyframes accSlideIn {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ---- Panel Header ---- */
#acc-panel .acc-panel-header {
  background: #0057b7 !important;
  background-color: #0057b7 !important;
  color: #fff !important;
  padding: 14px 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 0 !important;
}

#acc-panel .acc-panel-header h2 {
  font-size: 16px !important;
  font-weight: 700 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  background: none !important;
  border: none !important;
  line-height: 1.2 !important;
}

#acc-panel .acc-panel-close {
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  color: #fff !important;
  cursor: pointer !important;
  font-size: 22px !important;
  line-height: 1 !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  box-shadow: none !important;
  text-decoration: none !important;
  float: none !important;
}

#acc-panel .acc-panel-close:hover,
#acc-panel .acc-panel-close:focus-visible {
  background: rgba(255,255,255,0.2) !important;
  outline: 2px solid #fff !important;
}

/* ---- Panel Body ---- */
#acc-panel .acc-panel-body {
  padding: 12px !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
  margin: 0 !important;
  background: #fff !important;
}

/* ---- Feature Buttons ---- */
#acc-panel .acc-btn {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  padding: 10px 6px !important;
  margin: 0 !important;
  border: 2px solid #d0d0d0 !important;
  border-radius: 8px !important;
  background: #f8f8f8 !important;
  background-color: #f8f8f8 !important;
  color: #1a1a1a !important;
  cursor: pointer !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-align: center !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  float: none !important;
  width: auto !important;
  box-sizing: border-box !important;
}

#acc-panel .acc-btn:hover,
#acc-panel .acc-btn:focus-visible {
  border-color: #0057b7 !important;
  background: #e8f0fb !important;
  background-color: #e8f0fb !important;
  outline: none !important;
}

#acc-panel .acc-btn.active {
  background: #0057b7 !important;
  background-color: #0057b7 !important;
  color: #fff !important;
  border-color: #0057b7 !important;
}

#acc-panel .acc-btn svg {
  width: 24px !important;
  height: 24px !important;
  flex-shrink: 0 !important;
  fill: currentColor !important;
  display: block !important;
}

/* ---- Font Size Controls ---- */
#acc-panel .acc-font-controls {
  grid-column: 1 / -1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  border: 2px solid #d0d0d0 !important;
  border-radius: 8px !important;
  padding: 8px 12px !important;
  margin: 0 !important;
  background: #f8f8f8 !important;
  background-color: #f8f8f8 !important;
}

#acc-panel .acc-font-label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #1a1a1a !important;
}

#acc-panel .acc-font-btns {
  display: flex !important;
  gap: 6px !important;
  align-items: center !important;
}

#acc-panel .acc-font-btns button {
  width: 30px !important;
  height: 30px !important;
  border: 2px solid #0057b7 !important;
  border-radius: 6px !important;
  background: #fff !important;
  background-color: #fff !important;
  color: #0057b7 !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  line-height: 1 !important;
}

#acc-panel .acc-font-btns button:hover,
#acc-panel .acc-font-btns button:focus-visible {
  background: #0057b7 !important;
  background-color: #0057b7 !important;
  color: #fff !important;
  outline: none !important;
}

#acc-panel .acc-font-size-indicator {
  font-size: 13px !important;
  font-weight: 700 !important;
  min-width: 36px !important;
  text-align: center !important;
  color: #0057b7 !important;
}

/* ---- Panel Footer ---- */
#acc-panel .acc-panel-footer {
  padding: 8px 12px 12px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  border-top: 1px solid #d0d0d0 !important;
  margin: 0 !important;
  background: #fff !important;
}

#acc-panel .acc-reset-btn {
  width: 100% !important;
  padding: 9px !important;
  margin: 0 !important;
  background: #f0f0f0 !important;
  background-color: #f0f0f0 !important;
  border: 2px solid #d0d0d0 !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  color: #1a1a1a !important;
  box-shadow: none !important;
  text-align: center !important;
  display: block !important;
  box-sizing: border-box !important;
  line-height: 1.3 !important;
}

#acc-panel .acc-reset-btn:hover,
#acc-panel .acc-reset-btn:focus-visible {
  background: #e0e0e0 !important;
  background-color: #e0e0e0 !important;
  outline: none !important;
}

#acc-panel .acc-statement-link {
  display: block !important;
  text-align: center !important;
  font-size: 12px !important;
  color: #0057b7 !important;
  text-decoration: underline !important;
  padding: 2px !important;
  margin: 0 !important;
  background: none !important;
  border: none !important;
}

#acc-panel .acc-statement-link:hover,
#acc-panel .acc-statement-link:focus-visible {
  color: #004494 !important;
  outline: 2px solid #0057b7 !important;
  outline-offset: 2px !important;
  border-radius: 3px !important;
}

/* ===== Active State Classes applied to <body> ===== */

/* High Contrast */
body.acc-high-contrast * {
  background-color: #000 !important;
  color: #ffff00 !important;
  border-color: #ffff00 !important;
}
body.acc-high-contrast a { color: #00ffff !important; }
body.acc-high-contrast img,
body.acc-high-contrast video { filter: grayscale(100%) contrast(1.2) !important; }
body.acc-high-contrast #acc-panel,
body.acc-high-contrast #acc-toggle-btn { filter: none !important; }

/* Inverted Colors */
body.acc-inverted { filter: invert(1) hue-rotate(180deg); }
body.acc-inverted img,
body.acc-inverted video { filter: invert(1) hue-rotate(180deg); }

/* Grayscale */
body.acc-grayscale { filter: grayscale(100%); }

/* Readable Font */
body.acc-readable-font,
body.acc-readable-font * { font-family: Arial, Helvetica, sans-serif !important; }

/* Highlight Links */
body.acc-highlight-links a {
  outline: 2px solid #0057b7 !important;
  outline-offset: 2px;
  text-decoration: underline !important;
  background-color: #fffde7 !important;
  color: #0057b7 !important;
}

/* Highlight Focus */
body.acc-highlight-focus *:focus {
  outline: 3px solid #ff6600 !important;
  outline-offset: 3px !important;
}

/* Pause Animations */
body.acc-no-animations *,
body.acc-no-animations *::before,
body.acc-no-animations *::after {
  animation-duration: 0.001ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.001ms !important;
  scroll-behavior: auto !important;
}

/* Large Cursor */
body.acc-large-cursor,
body.acc-large-cursor * {
  cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Cpath d='M5 5 L5 30 L13 22 L18 35 L22 33 L17 20 L28 20 Z' fill='black' stroke='white' stroke-width='2'/%3E%3C/svg%3E") 0 0, auto !important;
}

/* ===== Accessibility Statement Page ===== */
.acc-statement-page {
  max-width: 800px;
  margin: 40px auto;
  padding: 20px 30px;
  font-family: Arial, sans-serif;
  direction: rtl;
  line-height: 1.8;
  color: #1a1a1a;
}
.acc-statement-page h1 { font-size: 28px; margin-bottom: 24px; border-bottom: 3px solid #0057b7; padding-bottom: 12px; }
.acc-statement-page h2 { font-size: 20px; margin: 28px 0 12px; color: #0057b7; }
.acc-statement-page p, .acc-statement-page li { font-size: 16px; margin-bottom: 10px; }
.acc-statement-page ul { padding-right: 24px; }
.acc-statement-page .acc-contact-box { background: #f0f6ff; border: 1px solid #b3d1f7; border-radius: 8px; padding: 16px 20px; margin-top: 20px; }
