/*!
 * voNavPilot©2025 – Voice Navigation & Accessibility for WordPress
 * https://vonavpilot.com
 *
 * MIT License
 * 
 * Copyright (c) 2025 Hamid Mosahebi
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in all
 * copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 */
body.vonavpilot-high-contrast-mode,
body.vonavpilot-high-contrast-mode * {
	background-color: #000;
	color: #fff;
}

body.vonavpilot-high-contrast-mode a {
	color: #0ff;
}

body.vonavpilot-high-contrast-mode img {
	opacity: 0.7;
	filter: contrast(150%) brightness(120%);
}

select.vonavpilot-spelling-border,
input.vonavpilot-spelling-border,
textarea.vonavpilot-spelling-border {
    border: 4px solid red !important;
}

/* CF7 custom checkbox — highlight the visual checkbox (pseudo-element) */
.wpcf7-acceptance input.vonavpilot-spelling-border[type="checkbox"] + .wpcf7-list-item-label::before {
   border: 4px solid red !important;
}

/* Also highlight the text label next to the pseudo-checkbox for extra clarity */
.wpcf7-acceptance input.vonavpilot-spelling-border[type="checkbox"] + .wpcf7-list-item-label {
    outline: 2px dashed red !important;
    outline-offset: 6px;
}

.vonavpilot-info {
	display: flex;
	position: fixed;
	z-index: 9999;
	background-color: #fff;
	color: #000;
	padding: 10px;
	max-width: 465px;
	border-radius: 10px;
	align-items: center;
	cursor: default;
	font-size: 14px;
	font-family: inherit;
    transition: opacity 0.3s ease, transform 0.3s ease;
    opacity: 1;
    transform: translateY(0);
	margin: 0 0 0 8px;
}

.vonavpilot-info.hidden {
  opacity: 0;
  pointer-events: none;
  transform: translateY(-10px);
}

.vonavpilot-info h4 {
	font-size: 14px;
	text-transform: unset;
	line-height: 20px;
	font-family: inherit;
	font-weight: unset;
}

.vonavpilot-info span {
	font-size: 14px;
	text-transform: unset;
	line-height: 18px;
	font-family: inherit;
}

.vonavpilot-info-text {
	display: block;
	padding: 10px 14px 10px 10px;
	min-width: 200px;
}

.vonavpilot-info span.vonavpilot-timer{
	display: flex;
	width: 100%;
	height: 100%;
	font-size: 40px;
	text-transform: unset;
	align-items: center;
	text-align: center;
	font-family: inherit;
	color: red;
}

.vonavpilot-info span.intro-message {
	font-size: 14px;
	text-transform: unset;
	line-height: 18px;
	font-family: inherit;
}

.vonavpilot-info .intro-message span {
	line-height: 2vh;
}


.vonavpilot-info span.intro-message i {
	font-size: 14px;
	text-transform: unset;
	line-height: 18px;
	font-family: inherit;
	font-weight: normal;
}

.vonavpilot-info:focus {
	border: 4px solid #4d90fe;
}

.vonavpilot-btn {
	position: fixed;
	z-index: 9999;
	padding: 4px;
	color: #fff;
	border: none;
	cursor: pointer;
	width: 50px;
	height: 50px;
	border-radius: 100px;
	font-family: inherit;
	font-size: 20px;
	text-align: center;
	line-height: 12px;
	overflow: hidden;
}

.vonavpilot-btn:empty {
	display: none;
}

.vonavpilot-content-analyse-output:empty {
	display: none;
}

.vonavpilot-content-analyse-output {
	position: fixed;
	top: 0px;
	right: 0px;
	max-height: 90vh;
	max-width: 400px;
	overflow-y: auto;
	background: #000;
	color: #666;
	padding: 10px;
	z-index: 9999;
	font-family: inherit;
	font-size: 10px;
	display: none;
}

.vonavpilot-content-analyse-output h1,
.vonavpilot-content-analyse-output h2,
.vonavpilot-content-analyse-output h3,
.vonavpilot-content-analyse-output h4,
.vonavpilot-content-analyse-output h5 {
	font-size: 14px;
	line-height: 16px;
	color: #666;
}

.vonavpilot-content-analyse-output p,
.vonavpilot-content-analyse-output div,
.vonavpilot-content-analyse-output span {
	font-size: 10px;
	line-height: 14px;
	color: #666;
	margin: 0;
	padding: 0;
}

.vonavpilot-content-analyse-output body,
.vonavpilot-content-analyse-output header,
.vonavpilot-content-analyse-output main,
.vonavpilot-content-analyse-output section,
.vonavpilot-content-analyse-output footer {
	display: contents;
	border: none;
}

.vonavpilot-content-analyse-output a {
	color: #4d90fe;
	font-size: 12px;
}

.vonavpilot-content-analyse-output ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.vonavpilot-content-analyse-output ul li {
	display: inline;
	margin-right: 15px;
}

.vonavpilot-content-analyse-output button,
.vonavpilot-content-analyse-output button:hover {
	display: inline-block;
	border: 1px solid red;
	background-color: transparent;
	color: #fff;
	margin: 4px;
	font-family: inherit;
	font-size: 12px;
	cursor: pointer;
}

.vonavpilot-contact-form-help {
	position: fixed;
	display: flex;
	bottom: 10px;
	left: 0;
	width: 340px;
	height: auto;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.95);
	z-index: 9999;
	font-family: sans-serif;
	font-size: 14px;
	animation: voNavPilotSlideInFromLeft 0.5s ease forwards;
	border-bottom-right-radius: 10px;
	border-top-right-radius: 10px;
}

.vonavpilot-contact-form-help.slide-out {
	animation: voNavPilotSlideOutToLeft 0.5s ease forwards;
}

.vonavpilot-spelling-table-container {
	display: flex;
	flex-direction: row;
	height: auto;
}

.vonavpilot-spelling-table {
	display: flex;
	width: calc(100% - 30px);
	height: 100%;
}

.vonavpilot-spelling-panel {
	display: flex;
	width: 30px;
	height: 100%;
	background-color: #000;
	color: #fff;
	cursor: pointer;
	right: 0px;
	position: absolute;
	font-size: 16px;
	letter-spacing: 2px;
}

.vonavpilot-spelling-panel-text {
	display: inline-block;
	white-space: nowrap;
	transform-origin: top left;
	position: absolute;
	left: calc(100% - 15px);
	top: 50%;
	transform: rotate(90deg) translate(-50%, -50%);
}

.vonavpilot-spelling-table {
	display: flex;
	flex-direction: column;
}

.vonavpilot-spelling-table .title {
	display: flex;
	font-size: 16px;
	font-weight: bold;
	text-transform: uppercase;
	background-color: #000;
	color: #fff;
	padding: 10px;
}

.vonavpilot-spelling-table .letters-container {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	padding: 0 0 6px 0;
}

.vonavpilot-spelling-table .letters-container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px 20px;
}

.vonavpilot-spelling-table .letter-row:nth-child(4n + 1),
.vonavpilot-spelling-table .letter-row:nth-child(4n + 2) {
	background-color: #fff;
}

.vonavpilot-spelling-table .letter-row:nth-child(4n + 3),
.vonavpilot-spelling-table .letter-row:nth-child(4n + 4) {
	background-color: #f5f5f5;
}

.vonavpilot-spelling-table .letter-row {
	display: flex;
	align-items: center;
}

.vonavpilot-spelling-table .letter-row .letter {
	display: flex;
	width: 44px;
	justify-content: center;
	font-size: 14px;
	font-family: sans-serif;
	font-weight: bold;
}

.vonavpilot-spelling-table .letter-row .word {
	flex: 1;
	padding-left: 4px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 14px;
	font-family: sans-serif;
}

.vonavpilot-spelling-table .spelling-letter-head {
	display: flex;
	padding: 10px;
	font-size: 14px;
	font-family: sans-serif;
}

.vonavpilot-spelling-table .spelling-letter-head strong {
	font-family: sans-serif;
	font-weight: bold;
}

.vonavpilot-form-filling {
	display: block;
}

.vonavpilot-speak-deactive {
	border: 4px solid rgb(137, 141, 137) !important
}

.vonavpilot-speak-free {
	border: 4px solid rgb(53 234 53) !important
}

.vonavpilot-speak-block {
	border: 4px solid rgb(233, 10, 10);
}

.vonavpilot-success-symbol {
  color: green;
  font-weight: bold;
  font-size: 1.2em;
  margin-left: 4px;
}

.vonavpilot-fail-symbol,
.vonavpilot-fail-sound {
  color: red;
  font-weight: bold;
  font-size: 1.2em;
  margin-left: 4px;
}

.vonavpilot-red-block {
    display: inline-block;
    background-color: red;
    border-radius: 6px;
    color: #fff;
    align-items: center;
    padding: 4px 6px 4px 6px;
}

.vonavpilot-blue-block {
    display: inline-block;
    background-color: #4d90fe;
    border-radius: 6px;
    color: #fff;
    align-items: center;
    padding: 4px 6px 4px 6px;
    margin: 2px;
}

.vonavpilot-green-block {
    display: inline-block;
    background-color: rgb(45, 174, 6);
    border-radius: 6px;
    color: #fff;
    align-items: center;
    padding: 4px 6px 4px 6px;
}

.vonavpilot-read-highlight{
    background-color: #fff9b1;
}

img.vonavpilot-read-highlight{
    border: 10px solid #c0b75c !important;
}

.vonavpilot-read-highlight-visible{
    display: inline-block !important;
}

@keyframes voNavPilotSlideInFromLeft {
	0% {
		transform: translateX(-100%);
	}

	100% {
		transform: translateX(0);
		opacity: 1;
	}
}

@keyframes voNavPilotSlideOutToLeft {
	0% {
		transform: translateX(0);
		opacity: 1;
	}

	100% {
		transform: translateX(-310px);
		opacity: 1;
	}
}


@media (max-width: 600px) {
	.vonavpilot-form-filling {
		display: none !important
	}
}