/* LinguaSwitch — front-end language switcher */
.lgs-switcher { font-size: 14px; line-height: 1.4; }
.lgs-switcher a, .lgs-toggle { text-decoration: none; color: inherit; }
.lgs-flag { margin-right: .4em; }
.lgs-name { vertical-align: middle; }

/* Dropdown */
.lgs-switcher--dropdown { position: relative; display: inline-block; }
.lgs-toggle {
	display: inline-flex; align-items: center; gap: .35em;
	padding: .45em .8em; border: 1px solid rgba(0,0,0,.15);
	border-radius: 8px; background: #fff; cursor: pointer;
	font: inherit; color: inherit;
}
.lgs-toggle:hover { border-color: rgba(0,0,0,.3); }
.lgs-caret { font-size: .8em; opacity: .6; }
.lgs-menu {
	position: absolute; z-index: 9999; top: calc(100% + 6px); left: 0;
	min-width: 180px; margin: 0; padding: 6px; list-style: none;
	background: #fff; border: 1px solid rgba(0,0,0,.12);
	border-radius: 10px; box-shadow: 0 10px 30px rgba(0,0,0,.14);
	opacity: 0; visibility: hidden; transform: translateY(-6px);
	transition: opacity .15s ease, transform .15s ease, visibility .15s;
}
.lgs-switcher--dropdown.is-open .lgs-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.lgs-menu .lgs-item {
	display: flex; align-items: center; padding: .5em .65em;
	border-radius: 7px; white-space: nowrap;
}
.lgs-menu .lgs-item:hover { background: rgba(0,0,0,.05); }
.lgs-menu .lgs-item.is-current { font-weight: 600; background: rgba(46,160,67,.12); }

/* List / inline */
.lgs-switcher--list, .lgs-switcher--inline { list-style: none; margin: 0; padding: 0; }
.lgs-switcher--list li { margin: 0 0 4px; }
.lgs-switcher--inline { display: flex; flex-wrap: wrap; gap: 10px; }
.lgs-switcher--list .lgs-item, .lgs-switcher--inline .lgs-item {
	display: inline-flex; align-items: center; padding: .3em .55em; border-radius: 6px;
}
.lgs-switcher--list .lgs-item:hover, .lgs-switcher--inline .lgs-item:hover { background: rgba(0,0,0,.05); }
.is-current { font-weight: 600; }

/* Floating */
.lgs-float {
	position: fixed; z-index: 99990; right: 18px; bottom: 18px;
}
.lgs-float .lgs-menu { left: auto; right: 0; top: auto; bottom: calc(100% + 6px); }
.lgs-float .lgs-toggle { box-shadow: 0 6px 18px rgba(0,0,0,.18); }

/* Floating list / inline get a card so they read well over page content */
.lgs-float--list .lgs-switcher--list,
.lgs-float--inline .lgs-switcher--inline {
	background: #fff; padding: 8px 10px; border-radius: 10px;
	border: 1px solid rgba(0,0,0,.12); box-shadow: 0 6px 18px rgba(0,0,0,.18);
}
.lgs-float--inline .lgs-switcher--inline { gap: 12px; }
.lgs-float--list .lgs-switcher--list { max-height: 60vh; overflow: auto; }

/* RTL languages */
[dir="rtl"] .lgs-flag { margin-right: 0; margin-left: .4em; }
[dir="rtl"] .lgs-menu { left: auto; right: 0; }
