/* Zobo Currency Switcher */
.zcs {
	--zcs-accent: #111827;
	--zcs-bg: #ffffff;
	--zcs-fg: #111827;
	--zcs-muted: #6b7280;
	--zcs-border: rgba(17, 24, 39, 0.14);
	--zcs-hover: rgba(17, 24, 39, 0.06);
	--zcs-shadow: 0 12px 32px rgba(17, 24, 39, 0.16), 0 2px 6px rgba(17, 24, 39, 0.08);
	position: relative;
	display: inline-block;
	font-size: 14px;
	line-height: 1.3;
	font-family: inherit;
	color: var(--zcs-fg);
	text-align: left;
	vertical-align: middle;
}
.zcs--theme-dark {
	--zcs-bg: #111827;
	--zcs-fg: #f9fafb;
	--zcs-muted: #9ca3af;
	--zcs-border: rgba(255, 255, 255, 0.16);
	--zcs-hover: rgba(255, 255, 255, 0.08);
	--zcs-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
}
.zcs *,
.zcs *::before,
.zcs *::after { box-sizing: border-box; }

.zcs__dd { position: relative; margin: 0; padding: 0; border: 0; }
.zcs__btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 36px;
	padding: 6px 12px;
	border: 1px solid var(--zcs-border);
	border-radius: 999px;
	background: var(--zcs-bg);
	color: var(--zcs-fg);
	cursor: pointer;
	list-style: none;
	user-select: none;
	white-space: nowrap;
	font-weight: 600;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.zcs__btn::-webkit-details-marker { display: none; }
.zcs__btn::marker { content: ''; }
.zcs__btn:hover { border-color: var(--zcs-accent); }
.zcs__btn:focus-visible { outline: 2px solid var(--zcs-accent); outline-offset: 2px; }
.zcs__caret { flex: none; margin-left: 2px; transition: transform .15s ease; opacity: .7; }
.zcs__dd[open] .zcs__caret { transform: rotate(180deg); }
.zcs__flag { font-size: 1.15em; line-height: 1; font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif; }
.zcs-no-flag-emoji .zcs__flag { display: none !important; }
.zcs__symbol { color: var(--zcs-muted); font-weight: 500; }

.zcs__panel {
	position: absolute;
	z-index: 99999;
	top: calc(100% + 8px);
	left: 0;
	width: 260px;
	max-width: calc(100vw - 24px);
	padding: 6px;
	background: var(--zcs-bg);
	color: var(--zcs-fg);
	border: 1px solid var(--zcs-border);
	border-radius: 12px;
	box-shadow: var(--zcs-shadow);
}
.zcs--align-right .zcs__panel { left: auto; right: 0; }
.zcs--align-center .zcs__panel { left: 50%; transform: translateX(-50%); }
.zcs--open-up .zcs__panel { top: auto; bottom: calc(100% + 8px); }

.zcs__search { padding: 4px 4px 6px; }
.zcs__search-input {
	width: 100%;
	height: 34px;
	margin: 0;
	padding: 6px 10px;
	border: 1px solid var(--zcs-border);
	border-radius: 8px;
	background: transparent;
	color: inherit;
	font: inherit;
	font-size: 13px;
	box-shadow: none;
}
.zcs__search-input:focus { outline: none; border-color: var(--zcs-accent); }

.zcs .zcs__list {
	margin: 0;
	padding: 0;
	list-style: none;
	max-height: 300px;
	overflow-y: auto;
	overscroll-behavior: contain;
}
.zcs .zcs__list li { margin: 0; padding: 0; list-style: none; border: 0; }
.zcs .zcs__list li::before { display: none; }
.zcs .zcs__opt {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 10px;
	border-radius: 8px;
	color: var(--zcs-fg);
	text-decoration: none;
	box-shadow: none;
}
.zcs .zcs__opt:hover,
.zcs .zcs__opt:focus { background: var(--zcs-hover); color: var(--zcs-fg); outline: none; text-decoration: none; }
.zcs .zcs__opt.is-active { background: var(--zcs-accent); color: #fff; }
.zcs .zcs__opt.is-active .zcs__name,
.zcs .zcs__opt.is-active .zcs__symbol { color: rgba(255, 255, 255, .8); }
.zcs--theme-dark .zcs__opt.is-active { background: rgba(255, 255, 255, .16); }
.zcs__opt-main { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.zcs__code { font-weight: 600; }
.zcs__name { font-size: 12px; color: var(--zcs-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.zcs.is-loading .zcs__btn { opacity: .6; pointer-events: none; }

/* Inline list style */
.zcs--list .zcs__list { display: flex; flex-wrap: wrap; gap: 4px; max-height: none; overflow: visible; }
.zcs--list .zcs__opt { padding: 4px 10px; border: 1px solid var(--zcs-border); border-radius: 999px; gap: 6px; }

/* Placements */
.zcs-menu-item { display: flex; align-items: center; }
.zcs-menu-item .zcs { margin-left: 8px; }
.zcs-topbar {
	display: flex;
	justify-content: flex-end;
	padding: 6px 16px;
	background: #f9fafb;
	border-bottom: 1px solid rgba(17, 24, 39, 0.08);
	position: relative;
	z-index: 1000;
}
.zcs-footer-bar { display: flex; justify-content: center; padding: 16px; }
.zcs-floating { position: fixed; bottom: 20px; z-index: 99998; }
.zcs-floating--bottom-left { left: 20px; }
.zcs-floating--bottom-right { right: 20px; }
.zcs-floating .zcs__btn { box-shadow: var(--zcs-shadow); }

@media (max-width: 600px) {
	.zcs-floating { bottom: 14px; }
	.zcs-floating--bottom-left { left: 14px; }
	.zcs-floating--bottom-right { right: 14px; }
	.zcs__panel { width: 240px; }
	.zcs .zcs__list { max-height: 50vh; }
}
@media (prefers-reduced-motion: reduce) {
	.zcs__caret, .zcs__btn { transition: none; }
}
