/* Training-school directory (organizations.html).
   Tokens/header/buttons from online-course-enhancements.css. */

.lms-orgs {
	--lms-navy: #2D368F;
	--lms-ink: #0f172a;
	--lms-muted: #64748b;
	--lms-line: #e2e8f0;
	--lms-radius: 12px;
	font-family: "Plus Jakarta Sans", "Segoe UI", sans-serif;
	background: #f5f6fa;
	padding-bottom: 64px;
	color: var(--lms-ink);
}

.lms-orgs__body {
	margin-top: 24px;
	position: relative;
	z-index: 2;
	padding-bottom: 24px;
}

.lms-orgs__toolbar {
	align-items: center;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 12px;
}

.lms-orgs__count {
	margin: 0;
	padding: 0 8px 0 4px;
	font-size: 13px;
	font-weight: 600;
	color: var(--lms-muted);
	white-space: nowrap;
}

.lms-org-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin-top: 16px;
}

.lms-org-card {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	min-width: 0;
	padding: 16px;
	background: #fff;
	border: 1px solid var(--lms-line);
	border-radius: var(--lms-radius);
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.lms-org-card:hover {
	border-color: #c9d0e8;
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}

.lms-org-card__logo {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 72px;
	height: 72px;
	border-radius: 10px;
	overflow: hidden;
	background: #eef0fb;
	border: 1px solid var(--lms-line);
}

.lms-org-card__logo:focus {
	outline: none;
}

.lms-org-card__logo:focus-visible {
	outline: 2px solid var(--lms-navy);
	outline-offset: 2px;
}

.lms-org-card__logo img {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 8px;
	background: #fff;
	box-sizing: border-box;
}

.lms-org-card__placeholder {
	display: none;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: #fff;
	background: #2D368F;
	font-size: 28px;
}

.lms-org-card__logo.is-placeholder .lms-org-card__placeholder {
	display: flex;
}

.lms-org-card__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	min-width: 0;
}

.lms-org-card__name {
	margin: 0 0 6px;
	font-size: 17px;
	font-weight: 700;
	letter-spacing: -0.01em;
	line-height: 1.35;
	overflow-wrap: anywhere;
	word-break: break-word;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.lms-org-card__name a {
	color: var(--lms-ink);
}

.lms-org-card__name a:hover {
	color: var(--lms-navy);
}

.lms-org-card__name a:focus-visible {
	outline: 2px solid var(--lms-navy);
	outline-offset: 2px;
}

.lms-org-card__location {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	margin: 0 0 8px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.45;
	color: var(--lms-muted);
}

.lms-org-card__location i {
	flex: none;
	margin-top: 1px;
	font-size: 14px;
	color: #94a3b8;
}

.lms-org-card__location span {
	min-width: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.lms-org-card__bio {
	margin: 0 0 14px;
	font-size: 13px;
	line-height: 1.55;
	color: #64748b;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.lms-org-card__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
	margin-top: auto;
}

.lms-org-card__btn {
	min-height: 36px;
	padding: 0 14px;
	font-size: 13px;
}

.lms-org-card__map {
	font-size: 13px;
	font-weight: 600;
	color: var(--lms-navy);
	text-decoration: none;
	line-height: 1.3;
}

.lms-org-card__map:hover,
.lms-org-card__map:focus {
	text-decoration: underline;
	text-underline-offset: 2px;
}

.lms-org-card__map:focus-visible {
	outline: 2px solid var(--lms-navy);
	outline-offset: 3px;
	border-radius: 2px;
}

.lms-orgs__filter-empty {
	display: none;
	margin-top: 20px;
}

.lms-orgs__filter-empty.is-visible {
	display: block;
}

.lms-org-card[hidden],
#orgGrid[hidden] {
	display: none !important;
}

@media only screen and (max-width: 1024.98px) {
	.lms-orgs__body {
		margin-top: 16px;
	}

	.lms-org-grid {
		gap: 12px;
	}
}

@media only screen and (max-width: 767.98px) {
	.lms-orgs {
		padding-bottom: 40px;
	}

	.lms-orgs__toolbar {
		grid-template-columns: 1fr;
	}

	.lms-orgs__count {
		padding: 0 4px 2px;
	}

	.lms-org-grid {
		grid-template-columns: 1fr;
	}

	.lms-org-card {
		display: grid;
		grid-template-columns: 56px minmax(0, 1fr);
		align-items: start;
		gap: 12px;
		padding: 14px;
	}

	.lms-org-card__logo {
		width: 56px;
		height: 56px;
	}

	.lms-org-card__placeholder {
		font-size: 22px;
	}

	.lms-org-card__name {
		font-size: 16px;
	}

	.lms-org-card__actions {
		flex-direction: column;
		align-items: stretch;
		gap: 8px;
	}

	.lms-org-card__btn {
		width: 100%;
	}

	.lms-org-card__map {
		width: 100%;
		text-align: center;
		padding: 4px 0 2px;
	}
}
