/* PSE Schools — the finder and the account card, in the site's own language (flyout-cart's account/cart styles:
 * Lexend Deca, navy #1a3a8a / #234191, blue #006cfa, magenta #a8007e, green #488c00, fields #fafbff). */

.pse-finder,
.pse-finder *,
.pse-school-card,
.pse-school-card * {
	font-family: 'Lexend Deca', sans-serif;
	box-sizing: border-box;
}

.pse-finder [hidden],
.pse-school-card [hidden] { display: none !important; }

/* ---------------------------------------------------------------- the field */
.pse-finder__field {
	position: relative;
	display: flex;
	align-items: center;
}
.pse-finder__field > svg {
	position: absolute;
	left: 16px;
	width: 20px;
	height: 20px;
	fill: none;
	stroke: #6b7290;
	stroke-width: 2.2;
	stroke-linecap: round;
	pointer-events: none;
}
html body .pse-finder .pse-finder__field input.pse-finder__input[type="text"] {
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	border: 1.5px solid rgba(35, 65, 145, 0.15) !important;
	border-radius: 12px !important;
	padding: 15px 44px 15px 46px !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	color: #234191 !important;
	background: #fafbff !important;
	box-shadow: none !important;
	line-height: 1.4 !important;
	transition: border-color 0.15s, background 0.15s, box-shadow 0.15s;
}
html body .pse-finder .pse-finder__field input.pse-finder__input::placeholder {
	color: #8a91ad;
	font-weight: 400;
}
html body .pse-finder .pse-finder__field input.pse-finder__input[type="text"]:focus {
	border-color: #006cfa !important;
	background: #ffffff !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(0, 108, 250, 0.12) !important;
}
.pse-finder__clear {
	position: absolute;
	right: 10px;
	width: 28px;
	height: 28px;
	border: 0;
	border-radius: 50%;
	background: rgba(35, 65, 145, 0.08);
	color: #234191;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	padding: 0;
}
.pse-finder__clear:hover { background: rgba(35, 65, 145, 0.15); }
.pse-finder__spin {
	position: absolute;
	right: 46px;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	border: 2px solid rgba(0, 108, 250, 0.2);
	border-top-color: #006cfa;
	opacity: 0;
	transition: opacity 0.15s;
	animation: pse-spin 0.7s linear infinite;
}
.pse-finder.is-busy .pse-finder__spin { opacity: 1; transition-delay: 0.25s; }
@keyframes pse-spin { to { transform: rotate(360deg); } }

/* ---------------------------------------------------------------- the list */
.pse-finder__label {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 16px 2px 6px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: #6b7290;
}
.pse-finder__label svg {
	width: 14px;
	height: 14px;
	fill: none;
	stroke: #a8007e;
	stroke-width: 2.2;
}
.pse-finder__list {
	list-style: none;
	margin: 8px 0 0 !important;
	padding: 0 !important;
}
.pse-finder__label:not([hidden]) + .pse-finder__list { margin-top: 0 !important; }
.pse-finder__item {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 11px 12px;
	margin: 0 0 4px !important;
	border-radius: 12px;
	cursor: pointer;
	border: 1.5px solid transparent;
	transition: background 0.12s, border-color 0.12s;
}
.pse-finder__item:hover { background: #f3f6ff; }
.pse-finder__item.is-active {
	background: #f3f6ff;
	border-color: rgba(0, 108, 250, 0.35);
}
.pse-finder__icon {
	flex: none;
	width: 38px;
	height: 38px;
	border-radius: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, rgba(0, 108, 250, 0.12), rgba(35, 65, 145, 0.08));
}
.pse-finder__icon svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: #006cfa;
	stroke-width: 1.9;
	stroke-linecap: round;
	stroke-linejoin: round;
}
.pse-finder__icon--district { background: linear-gradient(135deg, rgba(168, 0, 126, 0.12), rgba(35, 65, 145, 0.08)); }
.pse-finder__icon--district svg { stroke: #a8007e; }
.pse-finder__icon--private { background: linear-gradient(135deg, rgba(72, 140, 0, 0.14), rgba(35, 65, 145, 0.06)); }
.pse-finder__icon--private svg { stroke: #488c00; }
.pse-finder__main {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.pse-finder__name {
	font-size: 15px;
	font-weight: 700;
	color: #1a3a8a;
	line-height: 1.3;
}
.pse-finder__name mark {
	background: none;
	color: #006cfa;
	padding: 0;
}
.pse-finder__sub {
	font-size: 12.5px;
	color: #6b7290;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.pse-finder__miles {
	flex: none;
	font-size: 12px;
	font-weight: 700;
	color: #6b7290;
	background: rgba(35, 65, 145, 0.06);
	border-radius: 999px;
	padding: 3px 9px;
}
.pse-finder__empty {
	margin: 14px 2px 4px;
	font-size: 14px;
	color: #6b7290;
	line-height: 1.5;
}
.pse-finder__empty button,
.pse-finder__manual {
	background: none !important;
	border: 0 !important;
	padding: 0 !important;
	color: #006cfa !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	cursor: pointer;
	box-shadow: none !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.pse-finder__manual {
	display: inline-flex;
	gap: 6px;
	margin: 14px 2px 0;
}
.pse-finder__empty button:hover,
.pse-finder__manual:hover { text-decoration: underline; }

/* ---------------------------------------------------------------- My Account card */
.pse-school-card {
	position: relative;
	background: #ffffff;
	border-radius: 18px;
	border: 1px solid rgba(35, 65, 145, 0.1);
	box-shadow: 0 16px 36px rgba(35, 65, 145, 0.12);
	overflow: hidden;
	margin: 0 0 28px;
}
.pse-school-card__bar {
	height: 6px;
	background: linear-gradient(90deg, #488c00 0%, #006cfa 50%, #a8007e 100%);
}
.pse-school-card__body { padding: 24px 28px 26px; }
.pse-school-card__eyebrow {
	display: inline-block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: #a8007e;
	margin-bottom: 6px;
}
.pse-school-card .pse-school-card__title {
	border: 0 !important;
	padding: 0 !important;
	font-size: 22px !important;
	font-weight: 800 !important;
	color: #1a3a8a !important;
	letter-spacing: -0.4px !important;
	margin: 0 0 4px !important;
	line-height: 1.25 !important;
	text-transform: none !important;
}
.pse-school-card__lead {
	margin: 0 0 18px !important;
	font-size: 14px;
	color: #6b7290;
}
.pse-school-card__slot { transition: opacity 0.15s; }
.pse-school-card__slot.is-saving { opacity: 0.5; pointer-events: none; }
.pse-school-card__linked {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 16px;
	border-radius: 14px;
	background: #f4faee;
	border: 1.5px solid rgba(72, 140, 0, 0.25);
}
.pse-school-card__check {
	flex: 1;
	font-size: 14px;
	font-weight: 600;
	color: #2d6500;
}
.pse-school-card__change,
.pse-school-card__cancel {
	background: none !important;
	border: 0 !important;
	color: #006cfa !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	cursor: pointer;
	padding: 0 !important;
	box-shadow: none !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
.pse-school-card__cancel { margin-top: 12px; }
.pse-school-card__msg {
	margin-top: 10px;
	color: #a8007e;
	font-size: 14px;
	font-weight: 600;
}

/* inside the account dashboard's own card: a quiet panel, not a second card */
.woocommerce-MyAccount-content .pse-school-card {
	box-shadow: none;
	border: 1.5px solid rgba(35, 65, 145, 0.1);
	background: linear-gradient(135deg, rgba(0, 108, 250, 0.035), rgba(168, 0, 126, 0.03));
}
.woocommerce-MyAccount-content .pse-school-card__bar { display: none; }
.woocommerce-MyAccount-content .pse-school-card__body { padding: 20px 22px 22px; }

@media (max-width: 640px) {
	.pse-school-card__body { padding: 20px 18px 22px; }
	.pse-finder__item { padding: 10px 8px; gap: 12px; }
	.pse-finder__icon { width: 34px; height: 34px; }
	.pse-finder__miles { display: none; }
}
