:root {
	--pei-field-height: 38px;
}

/* Base Input Reset for Checkout */
#top .input-text,
#top input[type="text"],
#top input[type="input"],
#top input[type="password"],
#top input[type="email"],
#top input[type="number"],
#top input[type="url"],
#top input[type="tel"],
#top input[type="search"],
#top textarea,
#top select {
	margin-bottom: unset !important;
}

/* Stacked Form Row Structure */
.pei-stacked-form-row {
	margin-bottom: 12px;
}

.pei-stacked-form-row label {
	display: block;
	font-size: 13px;
	font-weight: 700;
	margin-bottom: 5px;
	text-align: left;
}

.pei-extra-contact-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 8px;
}

.pei-extra-contact-row {
	display: flex;
	align-items: center;
	gap: 10px;
}

.pei-extra-contact-row .pei-extra-contact-input {
	flex: 1;
}

.pei-remove-contact-link,
.pei-add-contact-link {
	font-size: 13px;
}

.pei-add-contact-link {
	display: inline-block;
}

/* Common Input Styling */
.pei-stacked-form-row input:not([type="checkbox"]):not([type="radio"]),
.pei-stacked-form-row select,
.pei-cc-select,
#acceptbluecard-card-number,
#acceptbluecard-card-cvc,
#pei_acceptbluecard_card_zip,
#pei-promo-input {
	height: var(--pei-field-height) !important;
	min-height: var(--pei-field-height) !important;
	margin: 0 !important;
	padding: 8px 10px !important;
	border: 1px solid var(--pei-white-darker-2) !important;
	border-radius: 3px;
	outline: none;
	box-shadow: 0 1px 2px var(--pei-black-transparent) inset !important;
	box-sizing: border-box !important;
	width: 100% !important;
	font-family: inherit !important;
	font-size: 14px !important;
	color: var(--pei-black) !important;
	appearance: none;
	-webkit-appearance: none;
}

/* Textareas */
.pei-stacked-form-row textarea {
	padding: 8px 10px;
	box-sizing: border-box;
	border: 1px solid var(--pei-white-darker-2);
	border-radius: 3px;
	outline: none;
	box-shadow: 0 1px 2px var(--pei-black-transparent) inset;
	font-family: inherit;
	width: 100%;
}

/* Common Focus & Hover Styling */
.pei-stacked-form-row input:not([type="checkbox"]):not([type="radio"]):focus,
.pei-stacked-form-row select:focus,
.pei-stacked-form-row textarea:focus,
.pei-cc-select:focus,
#acceptbluecard-card-number:focus,
#acceptbluecard-card-cvc:focus,
#pei_acceptbluecard_card_zip:focus,
#pei-promo-input:focus {
	border-color: var(--pei-accent-color) !important;
	box-shadow: 0 0 0 3px rgba(255, 150, 37, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.7), 0 1px 2px rgba(15, 17, 17, 0.08) !important;
	outline: none !important;
}

.pei-cc-select:hover,
#acceptbluecard-card-number:hover,
#acceptbluecard-card-cvc:hover,
#pei_acceptbluecard_card_zip:hover {
	border-color: var(--pei-accent-color) !important;
}

/* Select2 Sizing */
.pei-modal-body .select2-container {
	width: 100% !important;
}

.pei-modal-body .select2-container .select2-selection--single {
	height: var(--pei-field-height) !important;
	min-height: var(--pei-field-height) !important;
	border: 1px solid var(--pei-white-darker-2) !important;
	box-shadow: 0 1px 2px var(--pei-black-transparent) inset !important;
	display: flex;
	align-items: center;
	box-sizing: border-box;
}

.pei-modal-body .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: calc(var(--pei-field-height) - 2px) !important;
	padding-left: 10px !important;
	padding-right: 30px !important;
	color: var(--pei-black-lighter-4) !important;
}

/* Error Highlights */
.pei-error-highlight,
.pei-error-highlight:focus {
	border-color: var(--pei-red) !important;
	box-shadow: 0 0 0 3px rgba(215, 25, 32, 0.18), inset 0 1px 2px var(--pei-black-transparent) !important;
	outline: none !important;
}

.pei-error-highlight + .select2-container .select2-selection {
	border-color: var(--pei-red) !important;
	box-shadow: 0 0 0 3px rgba(215, 25, 32, 0.18), inset 0 1px 2px var(--pei-black-transparent) !important;
}

/* Disabled/Locked Fields */
.pei-modal .pei-field-locked,
.pei-modal input[readonly].pei-field-locked,
.pei-modal textarea[readonly].pei-field-locked,
.pei-modal input:disabled,
.pei-modal textarea:disabled {
	background-color: var(--pei-white-darker-1) !important;
	background-image: none !important;
	border: 1px solid var(--pei-white-darker-2) !important;
	border-radius: 10px !important;
	box-shadow: none !important;
	color: var(--pei-black-lighter-4) !important;
	cursor: not-allowed !important;
	opacity: 1 !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	-webkit-text-fill-color: var(--pei-black-lighter-4) !important;
}

.pei-modal input[readonly].pei-field-locked:hover,
.pei-modal textarea[readonly].pei-field-locked:hover,
.pei-modal input[readonly].pei-field-locked:focus,
.pei-modal textarea[readonly].pei-field-locked:focus {
	background-color: var(--pei-white-darker-1) !important;
	border-color: var(--pei-white-darker-2) !important;
	box-shadow: none !important;
	outline: none !important;
}

/* Disabled Select2 Elements */
.pei-modal .pei-field-locked + .select2-container .select2-selection,
.pei-modal .select2-container--default.select2-container--disabled .select2-selection--single {
	background-color: var(--pei-white-darker-1) !important;
	background-image: none !important;
	border: 1px solid var(--pei-white-darker-2) !important;
	border-radius: 10px !important;
	box-shadow: none !important;
	cursor: not-allowed !important;
	opacity: 1 !important;
}

.pei-modal .pei-field-locked + .select2-container .select2-selection__rendered,
.pei-modal .select2-container--default.select2-container--disabled .select2-selection__rendered {
	color: var(--pei-black-lighter-4) !important;
	cursor: not-allowed !important;
	-webkit-text-fill-color: var(--pei-black-lighter-4) !important;
}

.pei-modal .pei-field-locked + .select2-container .select2-selection__arrow,
.pei-modal .select2-container--default.select2-container--disabled .select2-selection__arrow {
	cursor: not-allowed !important;
}