/* Searchable country / nationality picker (see js/country-select.js).
   Sizing and colours follow the register form's field styles. */

.cs-wrap {
	position: relative;
}

.cs-wrap .cs-input {
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%23808a96' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	padding-right: 36px !important;
}

.cs-wrap.is-open .cs-input {
	border-color: #8ab92d;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}

.cs-list {
	position: absolute;
	z-index: 40;
	top: 100%;
	left: 0;
	right: 0;
	margin: 0;
	padding: 4px 0;
	max-height: 260px;
	overflow-y: auto;
	overscroll-behavior: contain;
	list-style: none;
	background: #fff;
	border: 1px solid #8ab92d;
	border-top: none;
	border-radius: 0 0 6px 6px;
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
	-webkit-overflow-scrolling: touch;
}

.cs-list[hidden] {
	display: none;
}

.cs-option {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 14px;
	margin: 0;
	font-size: 14px;
	color: #222;
	cursor: pointer;
	line-height: 1.3;
}

.cs-option:hover,
.cs-option.is-active {
	background: #f2f7e6;
	color: #4d6a12;
}

.cs-flag {
	flex: 0 0 auto;
	font-size: 16px;
	line-height: 1;
	width: 20px;
	text-align: center;
}

.cs-label {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.cs-empty {
	padding: 12px 14px;
	font-size: 13px;
	color: #7b838c;
	font-style: italic;
}

/* Flag the field while the typed text is not one of the listed countries. */
.cs-input[aria-invalid="true"] {
	border-color: #e0a800;
}
