/* ACCESSIBILITY WIDGET FUNCTIONS v3.1 - COMPLETE */

/* Body modifications for accessibility features */
body.awe-large-font {
  font-size: 120% !important;
}

body.awe-extra-large-font {
  font-size: 140% !important;
}

body.awe-mega-large-font {
  font-size: 160% !important;
}

body.awe-readable-font,
body.awe-readable-font * {
  font-family: 'Arial', 'Helvetica', 'Open Sans', sans-serif !important;
  font-weight: normal !important;
  font-style: normal !important;
}

/* High contrast mode */
body.awe-high-contrast {
  background: #000000 !important;
  color: #ffffff !important;
}

body.awe-high-contrast * {
  background: #000000 !important;
  color: #ffffff !important;
  border-color: #ffffff !important;
}

body.awe-high-contrast a {
  color: #00ff00 !important;
  text-decoration: underline !important;
}

body.awe-high-contrast button,
body.awe-high-contrast input,
body.awe-high-contrast select,
body.awe-high-contrast textarea {
  background: #333333 !important;
  color: #ffffff !important;
  border: 2px solid #ffffff !important;
}

body.awe-high-contrast .liquidGlass-tint {
  background: #333333 !important;
}

/* Dark mode */
body.awe-dark-mode {
  background: #1a1a1a !important;
  color: #e0e0e0 !important;
}

body.awe-dark-mode * {
  background-color: #1a1a1a !important;
  color: #e0e0e0 !important;
}

body.awe-dark-mode a {
  color: #64b5f6 !important;
}

body.awe-dark-mode .liquidGlass-tint {
  background: rgba(42, 42, 42, 0.9) !important;
}

/* Increased spacing */
body.awe-increased-spacing {
  line-height: 1.8 !important;
  letter-spacing: 0.08em !important;
  word-spacing: 0.2em !important;
}

body.awe-increased-spacing * {
  line-height: 1.8 !important;
  letter-spacing: 0.08em !important;
  word-spacing: 0.2em !important;
}

/* Large cursor */
body.awe-large-cursor,
body.awe-large-cursor * {
  cursor: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40"><polygon points="2,2 2,28 10,20 16,26 22,20 14,14 22,6" fill="%23000" stroke="%23fff" stroke-width="2"/></svg>') 2 2, auto !important;
}

/* Image placeholders when hidden */
body.awe-image-placeholders img:not(.awe-keep-visible):not(.awe-fab-button img):not(.awe-function-btn img) {
  display: none !important;
}

.awe-image-placeholder {
  display: inline-block !important;
  background: linear-gradient(135deg, #f5f5f5 0%, #eeeeee 100%) !important;
  border: 3px dashed #999 !important;
  text-align: center !important;
  padding: 25px 20px !important;
  font-size: 16px !important;
  font-weight: bold !important;
  color: #555 !important;
  position: relative !important;
  border-radius: 8px !important;
  box-sizing: border-box !important;
}

/* Text to speech highlights */
.awe-speaking {
  background: linear-gradient(120deg, rgba(255, 255, 0, 0.4) 0%, rgba(255, 235, 0, 0.3) 100%) !important;
  outline: 3px solid #ffdd00 !important;
  outline-offset: 2px !important;
  border-radius: 4px !important;
  box-shadow: 0 0 10px rgba(255, 221, 0, 0.5) !important;
  position: relative !important;
}

.awe-speaking::before {
  content: "🔊";
  position: absolute;
  top: -5px;
  right: -5px;
  background: #ffdd00;
  color: #333;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  animation: awe-speak-pulse 1s infinite;
  z-index: 100;
}

/* Notifications */
.awe-notification {
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(74, 144, 226, 0.95);
  color: white;
  padding: 12px 20px;
  border-radius: 25px;
  fontSize: 14px;
  z-index: 10006;
  box-shadow: 0 4px 16px rgba(0,0,0,0.2);
  backdrop-filter: blur(10px);
  font-family: Arial, sans-serif;
  font-weight: 500;
  border: 1px solid rgba(255,255,255,0.2);
}

/* Animations */
@keyframes awe-speak-pulse {
  0%, 100% { 
    transform: scale(1);
    opacity: 1;
  }
  50% { 
    transform: scale(1.2);
    opacity: 0.8;
  }
}
