/* Accessibility mode styles for visually impaired users */

/* High contrast mode */
body.accessibility-mode {
    /* Increase base font size */
    font-size: 18px;
    line-height: 1.6;
}

/* Increase contrast for text */
body.accessibility-mode p,
body.accessibility-mode h1,
body.accessibility-mode h2,
body.accessibility-mode h3,
body.accessibility-mode h4,
body.accessibility-mode h5,
body.accessibility-mode h6,
body.accessibility-mode span,
body.accessibility-mode a,
body.accessibility-mode li {
    color: #000000 !important;
    text-shadow: none !important;
}

/* Background color for better contrast */
body.accessibility-mode {
    background-color: #ffffff !important;
}

/* Make links more distinguishable */
body.accessibility-mode a {
    text-decoration: underline !important;
    color: #0000EE !important;
    font-weight: bold !important;
}

body.accessibility-mode a:visited {
    color: #551A8B !important;
}

body.accessibility-mode a:hover,
body.accessibility-mode a:focus {
    background-color: #FFFF00 !important;
    color: #000000 !important;
    outline: 2px solid #000000 !important;
}

/* Increase contrast for buttons */
body.accessibility-mode button,
body.accessibility-mode .btn {
    background-color: #000000 !important;
    color: #FFFFFF !important;
    border: none !important;
    font-weight: bold !important;
    padding: 10px 15px !important;
}

/* Exception for the accessibility toggle button */
body.accessibility-mode button[title="Версия для слабовидящих"] {
    background-color: #0000EE !important;
    color: #FFFFFF !important;
}

/* Increase focus indication */
body.accessibility-mode *:focus {
    outline: 2px solid #FFFF00 !important;
    outline-offset: 1px !important;
}

/* Increase contrast for form elements */
body.accessibility-mode input,
body.accessibility-mode textarea,
body.accessibility-mode select {
    background-color: #FFFFFF !important;
    color: #000000 !important;
    border: 1px solid #666666 !important;
    font-size: 1.1em !important;
}

body.accessibility-mode input::placeholder,
body.accessibility-mode textarea::placeholder {
    color: #555555 !important;
}

/* Increase spacing between elements */
body.accessibility-mode p,
body.accessibility-mode h1,
body.accessibility-mode h2,
body.accessibility-mode h3,
body.accessibility-mode h4,
body.accessibility-mode h5,
body.accessibility-mode h6,
body.accessibility-mode ul,
body.accessibility-mode ol,
body.accessibility-mode li,
body.accessibility-mode div {
    margin-bottom: 1.2em !important;
}

/* Increase size of interactive elements */
body.accessibility-mode button,
body.accessibility-mode input[type="button"],
body.accessibility-mode input[type="submit"],
body.accessibility-mode .btn,
body.accessibility-mode a.btn {
    min-height: 44px !important;
    min-width: 44px !important;
}

/* Improve table readability */
body.accessibility-mode table {
    border-collapse: separate !important;
    border-spacing: 1px !important;
}

body.accessibility-mode th,
body.accessibility-mode td {
    border: 1px solid #666666 !important;
    padding: 10px !important;
}

body.accessibility-mode th {
    background-color: #000000 !important;
    color: #FFFFFF !important;
    font-weight: bold !important;
}

/* Improve readability of lists */
body.accessibility-mode ul,
body.accessibility-mode ol {
    padding-left: 30px !important;
}

body.accessibility-mode li {
    margin-bottom: 10px !important;
}

/* Improve card and box contrast */
body.accessibility-mode .card,
body.accessibility-mode .box,
body.accessibility-mode .container {
    border: none !important;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2) !important;
}

/* Increase header contrast */
body.accessibility-mode header {
    background-color: #000000 !important;
}

body.accessibility-mode header a,
body.accessibility-mode header span,
body.accessibility-mode header button {
    color: #FFFFFF !important;
}

/* Ensure all menu items have consistent styling */
body.accessibility-mode header button.group-hover\:text-gray-900,
body.accessibility-mode header .flex.items-center.justify-between {
    font-size: 16px !important;
    font-weight: bold !important;
    padding: 8px 12px !important;
    margin: 4px 0 !important;
    border: none !important;
    border-radius: 4px !important;
    background-color: #000000 !important;
    color: #FFFFFF !important;
    display: flex !important;
    align-items: center !important;
}

/* Высококонтрастные стили для выпадающих меню в мобильной версии */
body.accessibility-mode .fixed.inset-0.bg-white {
    background-color: #FFFFFF !important;
}

/* Стили для кнопок выпадающих меню */
body.accessibility-mode .w-full button.flex.items-center.justify-between {
    background-color: #000000 !important;
    color: #FFFFFF !important;
    font-size: 20px !important;
    font-weight: bold !important;
    padding: 12px !important;
    margin: 6px 0 !important;
    border: none !important;
    border-radius: 6px !important;
}

/* Стили для выпадающих списков */
body.accessibility-mode .w-full .border-l-2 {
    border-left: 4px solid #000000 !important;
    background-color: #FFFFFF !important;
}

/* Стили для элементов выпадающих списков */
body.accessibility-mode .w-full .border-l-2 .py-2 {
    border-bottom: 1px solid #CCCCCC !important;
    padding: 10px 0 !important;
}

/* Стили для ссылок в выпадающих списках */
body.accessibility-mode .w-full .border-l-2 a {
    color: #000000 !important;
    font-size: 18px !important;
    font-weight: bold !important;
    display: block !important;
    padding: 8px !important;
}

body.accessibility-mode .w-full .border-l-2 a:hover,
body.accessibility-mode .w-full .border-l-2 a:focus {
    background-color: #FFFF00 !important;
    color: #000000 !important;
    outline: none !important;
    text-decoration: underline !important;
}

/* Стили для десктопных выпадающих меню */
body.accessibility-mode .fixed.left-1\/2,
body.accessibility-mode .absolute.left-1\/2,
body.accessibility-mode .group-hover\:opacity-100,
body.accessibility-mode .group-hover\:visible,
body.accessibility-mode .group-hover\:scale-100 {
    background-color: #000000 !important;
    border: none !important;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5) !important;
}

body.accessibility-mode .group-hover\:opacity-100 ul,
body.accessibility-mode .group-hover\:visible ul,
body.accessibility-mode .group-hover\:scale-100 ul,
body.accessibility-mode .w-96 {
    background-color: #000000 !important;
    border-color: #333333 !important;
}

body.accessibility-mode .group-hover\:opacity-100 a,
body.accessibility-mode .group-hover\:visible a,
body.accessibility-mode .group-hover\:scale-100 a,
body.accessibility-mode .group-hover\:opacity-100 span,
body.accessibility-mode .group-hover\:visible span,
body.accessibility-mode .group-hover\:scale-100 span {
    color: #FFFFFF !important;
    font-size: 16px !important;
    font-weight: bold !important;
    padding: 8px !important;
}

body.accessibility-mode .group-hover\:opacity-100 a:hover,
body.accessibility-mode .group-hover\:visible a:hover,
body.accessibility-mode .group-hover\:scale-100 a:hover,
body.accessibility-mode .group-hover\:opacity-100 a:focus,
body.accessibility-mode .group-hover\:visible a:focus,
body.accessibility-mode .group-hover\:scale-100 a:focus {
    background-color: #333333 !important;
    color: #FFFF00 !important;
    text-decoration: underline !important;
}

/* Make sure icons in menu items are visible */
body.accessibility-mode header svg {
    stroke-width: 3px !important;
    width: 20px !important;
    height: 20px !important;
    margin-right: 8px !important;
}

/* Increase footer contrast */
body.accessibility-mode footer {
    background-color: #000000 !important;
    color: #FFFFFF !important;
}

body.accessibility-mode footer a,
body.accessibility-mode footer span {
    color: #FFFFFF !important;
}
