/**
 * Flavor Simple Mode + Voice Search.
 */

/* Floating toggle button — always visible (not just in simple mode) */
.flavor-simple-mode-toggle {
	position: fixed;
	bottom: 1rem;
	left: 1rem;
	z-index: 9990;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.6rem 0.9rem 0.6rem 0.7rem;
	background: #fff;
	border: 1px solid var(--color-border, #e5e7eb);
	border-radius: 999px;
	color: var(--color-text, #1f2937);
	text-decoration: none;
	font-size: 0.85rem;
	font-weight: 600;
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.1);
	transition: all 150ms ease;
}
.flavor-simple-mode-toggle:hover {
	background: var(--color-neutral-50, #f9fafb);
	border-color: var(--color-primary, #2563eb);
	color: var(--color-primary, #2563eb);
	text-decoration: none;
}
.flavor-simple-mode-toggle.is-active {
	background: var(--color-primary, #2563eb);
	border-color: var(--color-primary, #2563eb);
	color: #fff;
}
.flavor-simple-mode-toggle.is-active:hover {
	background: var(--color-primary-dark, #1d4ed8);
	color: #fff;
}
.flavor-simple-mode-toggle svg {
	width: 28px;
	height: 28px;
	flex-shrink: 0;
}
@media (max-width: 600px) {
	.flavor-simple-mode-toggle__label { display: none; }
	.flavor-simple-mode-toggle { padding: 0.6rem; }
}

/* Simple mode body overrides — heavier typography + spacing */
body.flavor-simple-mode {
	font-size: 1.12em;
	line-height: 1.65;
}
body.flavor-simple-mode p,
body.flavor-simple-mode li,
body.flavor-simple-mode td,
body.flavor-simple-mode th {
	font-size: 1.06em;
}
body.flavor-simple-mode h1 { font-size: 2.4em; }
body.flavor-simple-mode h2 { font-size: 1.85em; }
body.flavor-simple-mode h3 { font-size: 1.5em; }
body.flavor-simple-mode .btn,
body.flavor-simple-mode button:not(.flavor-simple-mode-toggle):not(.flavor-voice-search-btn),
body.flavor-simple-mode .button {
	padding: 0.85em 1.3em;
	font-size: 1.05em;
	min-height: 48px;
}
body.flavor-simple-mode input,
body.flavor-simple-mode select,
body.flavor-simple-mode textarea {
	font-size: 1.05em;
	padding: 0.7em 0.9em;
	min-height: 48px;
}
body.flavor-simple-mode a {
	text-decoration: underline;
	text-underline-offset: 2px;
}
body.flavor-simple-mode .menu a,
body.flavor-simple-mode nav a {
	text-decoration: none;
}
body.flavor-simple-mode .product .price,
body.flavor-simple-mode .woocommerce-Price-amount {
	font-size: 1.15em;
	font-weight: 700;
}

/* Voice search button — appended next to inputs by JS */
.flavor-voice-search-wrap {
	position: relative;
	display: inline-flex;
	align-items: center;
	width: 100%;
}
.flavor-voice-search-wrap input[type="search"],
.flavor-voice-search-wrap input[type="text"] {
	flex: 1 1 auto;
	min-width: 0;
}
.flavor-voice-search-btn {
	flex: 0 0 auto;
	margin-left: -2.6em;
	width: 2.4em;
	height: 2.4em;
	background: transparent;
	border: none;
	border-radius: 50%;
	color: var(--color-text-muted, #6b7280);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: all 150ms ease;
}
.flavor-voice-search-btn:hover {
	background: var(--color-neutral-100, #f3f4f6);
	color: var(--color-primary, #2563eb);
}
.flavor-voice-search-btn.is-listening {
	background: var(--color-error, #dc2626);
	color: #fff;
	animation: flavor-voice-pulse 1.2s ease-out infinite;
}
.flavor-voice-search-btn svg {
	width: 1.2em;
	height: 1.2em;
}
@keyframes flavor-voice-pulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.4); }
	50%      { box-shadow: 0 0 0 8px rgba(220, 38, 38, 0); }
}
.flavor-voice-search-feedback {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	margin-top: 0.5rem;
	padding: 0.5rem 0.75rem;
	background: var(--color-warning-light, #fef3c7);
	border: 1px solid #fcd34d;
	border-radius: 6px;
	color: #78350f;
	font-size: 0.85rem;
	z-index: 100;
}
