/* YTranslate SEO — language switcher */
.yts-switcher {
	--yts-bg: #ffffff;
	--yts-color: #111827;
	--yts-accent: #2563eb;
	--yts-border: #e5e7eb;
	--yts-hover: rgba(37, 99, 235, .08);
	--yts-radius: 10px;
	--yts-gap: 8px;
	--yts-shadow: 0 10px 30px rgba(17, 24, 39, .12);
	position: relative;
	display: inline-block;
	font: 500 15px/1.3 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	color: var(--yts-color);
	text-align: left;
	z-index: 50;
}
.yts-switcher.yts-theme-dark,
.yts-switcher.yts-theme-auto:where(.yts-dark-context) {
	--yts-bg: #1f2937; --yts-color: #f9fafb; --yts-border: #374151; --yts-hover: rgba(255, 255, 255, .08);
}
@media (prefers-color-scheme: dark) {
	.yts-switcher.yts-theme-auto { --yts-bg: #1f2937; --yts-color: #f9fafb; --yts-border: #374151; --yts-hover: rgba(255, 255, 255, .08); }
}
.yts-switcher *, .yts-switcher *::before, .yts-switcher *::after { box-sizing: border-box; }
.yts-switcher ul { list-style: none; margin: 0; padding: 0; }
.yts-switcher__flag { width: 20px; height: 15px; border-radius: 3px; object-fit: cover; flex: none; box-shadow: 0 0 0 1px rgba(0, 0, 0, .08); display: inline-block; vertical-align: middle; }
.yts-switcher__flag--globe { width: 18px; height: 18px; color: currentColor; }
.yts-switcher__name { white-space: nowrap; }

/* Toggle button */
.yts-switcher__toggle {
	display: inline-flex; align-items: center; gap: var(--yts-gap);
	padding: calc(var(--yts-gap) * .75) calc(var(--yts-gap) * 1.5);
	background: var(--yts-bg); color: var(--yts-color);
	border: 1px solid var(--yts-border); border-radius: var(--yts-radius);
	cursor: pointer; font: inherit; line-height: 1.2; min-height: 40px;
	transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.yts-switcher__toggle:hover { border-color: var(--yts-accent); background: var(--yts-bg); }
.yts-switcher__toggle:focus-visible { outline: 2px solid var(--yts-accent); outline-offset: 2px; }
.yts-switcher__caret { transition: transform .2s ease; flex: none; opacity: .7; }
.yts-switcher.is-open .yts-switcher__caret { transform: rotate(180deg); }

/* Dropdown menu */
.yts-switcher__menu {
	position: absolute; top: calc(100% + 6px); left: 0; min-width: 100%;
	background: var(--yts-bg); border: 1px solid var(--yts-border); border-radius: var(--yts-radius);
	box-shadow: var(--yts-shadow); padding: 6px; margin: 0;
	opacity: 0; transform: translateY(-4px); pointer-events: none;
	transition: opacity .15s ease, transform .15s ease; z-index: 100;
}
.yts-switcher__menu[hidden] { display: block; visibility: hidden; }
.yts-switcher.is-open .yts-switcher__menu { opacity: 1; transform: none; pointer-events: auto; visibility: visible; }
.yts-switcher.yts-align-right .yts-switcher__menu { left: auto; right: 0; }
.yts-switcher.yts-open-up .yts-switcher__menu { top: auto; bottom: calc(100% + 6px); transform: translateY(4px); }
.yts-switcher.yts-open-up.is-open .yts-switcher__menu { transform: none; }
.yts-switcher__link {
	display: flex; align-items: center; gap: var(--yts-gap);
	padding: calc(var(--yts-gap) * .9) calc(var(--yts-gap) * 1.25);
	border-radius: calc(var(--yts-radius) - 4px); color: var(--yts-color) !important;
	text-decoration: none !important; white-space: nowrap; transition: background .12s ease;
}
.yts-switcher__link:hover, .yts-switcher__link:focus-visible { background: var(--yts-hover); outline: none; color: var(--yts-accent) !important; }
.yts-switcher__item.is-current > .yts-switcher__link { font-weight: 600; }

/* Horizontal list */
.yts-switcher--list .yts-switcher__list, .yts-switcher--flags .yts-switcher__list { display: flex; flex-wrap: wrap; gap: calc(var(--yts-gap) / 2); align-items: center; }
.yts-switcher--list .yts-switcher__link, .yts-switcher--flags .yts-switcher__link { padding: calc(var(--yts-gap) * .6) calc(var(--yts-gap) * 1.1); border-radius: var(--yts-radius); }
.yts-switcher--list .is-current > .yts-switcher__link { background: var(--yts-hover); }
.yts-switcher--flags .yts-switcher__link { padding: 4px; }
.yts-switcher--flags .yts-switcher__flag { width: 26px; height: 20px; border-radius: 4px; opacity: .75; transition: opacity .15s, transform .15s; }
.yts-switcher--flags .yts-switcher__link:hover .yts-switcher__flag, .yts-switcher--flags .is-current .yts-switcher__flag { opacity: 1; transform: scale(1.08); }

/* Compact */
.yts-switcher--compact .yts-switcher__toggle { padding: 6px 10px; font-size: 13px; min-height: 34px; text-transform: uppercase; letter-spacing: .04em; }
.yts-switcher--compact .yts-switcher__link { text-transform: uppercase; font-size: 13px; letter-spacing: .04em; }

/* Floating */
.yts-floating { position: fixed; z-index: 9999; width: max-content; max-width: calc(100vw - 32px); margin: 0; padding: 0; }
.yts-floating--bottom-right { right: 20px; bottom: 20px; }
.yts-floating--bottom-left { left: 20px; bottom: 20px; }
.yts-floating--top-right { right: 20px; top: 20px; }
.yts-floating--top-left { left: 20px; top: 20px; }
.yts-floating .yts-switcher__toggle { border-radius: 999px; box-shadow: 0 6px 20px rgba(17, 24, 39, .18); padding: 10px 16px; }
.yts-floating--bottom-right .yts-switcher, .yts-floating--top-right .yts-switcher { --yts-align: right; }
.yts-floating--bottom-right .yts-switcher__menu, .yts-floating--top-right .yts-switcher__menu { left: auto; right: 0; }
.yts-floating--bottom-right .yts-switcher__menu, .yts-floating--bottom-left .yts-switcher__menu { top: auto; bottom: calc(100% + 8px); }
body.admin-bar .yts-floating--top-right, body.admin-bar .yts-floating--top-left { top: 52px; }

/* Inside navigation menus */
.menu-item.yts-menu-item { display: flex; align-items: center; }
.menu-item.yts-menu-item .yts-switcher__toggle { background: transparent; border-color: transparent; min-height: auto; padding: 4px 8px; }
.menu-item.yts-menu-item .yts-switcher__toggle:hover { border-color: var(--yts-border); }

/* RTL */
[dir="rtl"] .yts-switcher { text-align: right; }
[dir="rtl"] .yts-switcher__menu { left: auto; right: 0; }
[dir="rtl"] .yts-switcher.yts-align-right .yts-switcher__menu { right: auto; left: 0; }

/* Mobile */
@media (max-width: 600px) {
	.yts-switcher__toggle { min-height: 44px; }
	.yts-switcher__link { padding: 12px 14px; }
	.yts-floating--bottom-right, .yts-floating--bottom-left { bottom: 14px; }
}
@media (prefers-reduced-motion: reduce) {
	.yts-switcher__menu, .yts-switcher__caret, .yts-switcher__link, .yts-switcher--flags .yts-switcher__flag { transition: none; }
}
