/* NAYORA – branded dropdown panel (see select.js) */
.nselect { position: relative; display: block; max-width: 100%; font-family: var(--nayora-font-body, "Ledger", serif); }
.nselect .nselect__native { position: absolute !important; inset: 0; width: 100% !important; height: 100% !important; opacity: 0 !important; pointer-events: none !important; margin: 0 !important; z-index: -1; }

.nselect .nselect__trigger {
	display: flex; align-items: center; gap: 10px; width: 100%; min-height: 44px; height: 48px;
	margin: 0; padding: 0 16px 0 18px; border: 1px solid rgba(61, 10, 16, .12); border-radius: 14px;
	background: #fff; color: #241A1A; font: inherit; font-size: 15px; line-height: 1.2; text-align: left; text-transform: none; letter-spacing: normal;
	box-shadow: none; cursor: pointer; transition: border-color .2s, box-shadow .2s, background-color .2s;
}
.nselect .nselect__trigger:hover { border-color: rgba(61, 10, 16, .35) !important; }
.nselect .nselect__trigger:focus { outline: none; }
.nselect .nselect__trigger:focus-visible, .nselect.is-open .nselect__trigger { border-color: #3D0A10 !important; box-shadow: 0 0 0 3px rgba(61, 10, 16, .08); }
.nselect .nselect__trigger:disabled { opacity: .55; cursor: not-allowed; }
.nselect__label { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nselect.is-empty .nselect__label { color: #6F6262; }
.nselect__chev { flex: 0 0 auto; width: 16px; height: 16px; color: #3D0A10; transition: transform .25s ease; }
.nselect.is-open .nselect__chev { transform: rotate(180deg); }

.nselect__panel {
	position: absolute; left: 0; top: calc(100% + 8px); z-index: 1100; min-width: 100%; width: max-content; max-width: min(420px, calc(100vw - 32px));
	max-height: 320px; overflow-y: auto; overscroll-behavior: contain;
	margin: 0 !important; padding: 6px !important; list-style: none !important;
	background: #fff; border: 1px solid rgba(61, 10, 16, .08); border-radius: 18px;
	box-shadow: 0 2px 4px rgba(61, 10, 16, .04), 0 24px 48px -20px rgba(61, 10, 16, .35);
	opacity: 0; visibility: hidden; transform: translateY(-6px) scale(.98); transform-origin: top center;
	transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
}
.nselect.is-up .nselect__panel { top: auto; bottom: calc(100% + 8px); transform-origin: bottom center; transform: translateY(6px) scale(.98); }
.nselect.is-open .nselect__panel { opacity: 1; visibility: visible; transform: none; transition: opacity .18s ease, transform .18s ease, visibility 0s; }
/* right-align panels whose trigger sits at the right edge (e.g. shop sort) */
.nayora-shop__sort .nselect__panel { left: auto; right: 0; }

.nselect__option {
	position: relative; display: flex; align-items: center; min-height: 42px; margin: 0 !important; padding: 9px 40px 9px 14px !important;
	border-radius: 12px; color: #241A1A; font-size: 15px; line-height: 1.35; cursor: pointer; list-style: none !important;
	transition: background-color .12s;
}
.nselect__option::before { display: none !important; }
.nselect__option.is-active { background: #F7F2EC; }
.nselect__option.is-selected { color: #3D0A10; font-weight: 600; }
.nselect__option.is-selected::after {
	content: ""; position: absolute; right: 14px; top: 50%; width: 16px; height: 16px; margin-top: -8px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7' fill='none' stroke='%23D9455F' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.nselect__option.is-placeholder { color: #6F6262; }
.nselect__option[aria-disabled="true"] { color: #B5AAA6; cursor: default; background: none; }
.nselect__panel::-webkit-scrollbar { width: 10px; }
.nselect__panel::-webkit-scrollbar-thumb { background: rgba(61, 10, 16, .15); border-radius: 10px; border: 3px solid #fff; }

/* the shop sort wrapper had its own chevron on top of the native select */
.nayora-select.is-enhanced > svg { display: none !important; }
/* CF7 select had a background arrow – the trigger brings its own */
.wpcf7 .nselect .nselect__trigger { background-image: none !important; }

@media (max-width: 640px) {
	.nselect__panel { max-height: 50vh; }
	.nselect__option { min-height: 46px; }
}
@media (prefers-reduced-motion: reduce) {
	.nselect__panel, .nselect__chev { transition: none !important; }
}

/* ---------- select2 / selectWoo dropdowns (checkout, account, cart country fields) ---------- */
.select2-container .select2-dropdown {
	margin-top: 8px; padding: 6px; overflow: hidden;
	background: #fff; border: 1px solid rgba(61, 10, 16, .08) !important; border-radius: 18px !important;
	box-shadow: 0 2px 4px rgba(61, 10, 16, .04), 0 24px 48px -20px rgba(61, 10, 16, .35);
	font-family: var(--nayora-font-body, "Ledger", serif);
}
.select2-container .select2-dropdown--above { margin-top: -8px; }
.select2-container .select2-search--dropdown { padding: 4px 4px 8px; }
.select2-container .select2-search--dropdown .select2-search__field {
	height: 42px; padding: 0 14px !important; border: 1px solid rgba(61, 10, 16, .12) !important; border-radius: 12px !important;
	background: #F5F0EA !important; font: inherit; font-size: 15px; color: #241A1A; outline: none;
}
.select2-container .select2-search--dropdown .select2-search__field:focus { border-color: #3D0A10 !important; }
.select2-container .select2-results > .select2-results__options { max-height: 300px; }
.select2-container .select2-results__option {
	position: relative; margin: 0; padding: 10px 40px 10px 14px; border-radius: 12px; color: #241A1A; font-size: 15px; line-height: 1.35;
}
.select2-container .select2-results__option--highlighted[aria-selected],
.select2-container .select2-results__option--highlighted[data-selected] { background: #F7F2EC !important; color: #241A1A !important; }
.select2-container .select2-results__option[aria-selected="true"],
.select2-container .select2-results__option[data-selected="true"] { background: transparent; color: #3D0A10; font-weight: 600; }
.select2-container .select2-results__option[aria-selected="true"]::after,
.select2-container .select2-results__option[data-selected="true"]::after {
	content: ""; position: absolute; right: 14px; top: 50%; width: 16px; height: 16px; margin-top: -8px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7' fill='none' stroke='%23D9455F' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
