/* Labnostix — Category Cards
   List layout = image · text · buttons (matches the competitor's row cards)
   Grid layout = stacked cards
   Colours default to the Labnostix system but are overridable via Elementor Style controls. */

.lbx-cards {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.lbx-cards.lbx-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}

/* ---- Card ---- */
.lbx-card {
	display: flex;
	align-items: center;
	gap: 22px;
	background: #EEF3FB;
	border-radius: 14px;
	padding: 16px;
}

.lbx-grid .lbx-card {
	flex-direction: column;
	align-items: stretch;
	text-align: left;
}

/* ---- Media ---- */
.lbx-card__media {
	flex: 0 0 150px;
	max-width: 150px;
}

.lbx-grid .lbx-card__media {
	flex: none;
	max-width: 100%;
}

.lbx-card__media img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 8px;
	background: #fff;
	object-fit: cover;
}

/* ---- Body ---- */
.lbx-card__body {
	flex: 1 1 auto;
	min-width: 0;
}

.lbx-card__title {
	margin: 0 0 6px;
	font-size: 22px;
	line-height: 1.25;
	font-weight: 600;
	color: #211D1D;
}

.lbx-card__desc {
	font-size: 15.5px;
	line-height: 1.6;
	color: #5A6675;
}

.lbx-card__desc p {
	margin: 0 0 8px;
}

.lbx-card__desc p:last-child {
	margin-bottom: 0;
}

/* ---- Actions ---- */
.lbx-card__actions {
	flex: 0 0 auto;
	display: flex;
	flex-direction: column;
	gap: 10px;
	align-items: stretch;
	min-width: 150px;
}

.lbx-grid .lbx-card__actions {
	flex-direction: row;
	flex-wrap: wrap;
	margin-top: 14px;
	min-width: 0;
}

.lbx-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	text-align: center;
	text-decoration: none;
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	padding: 12px 22px;
	border-radius: 999px;
	transition: background-color .18s ease, transform .18s ease;
	white-space: nowrap;
}

.lbx-btn:hover {
	transform: translateY(-1px);
}

.lbx-btn--view {
	background: #3763B8;
	color: #fff;
}

.lbx-btn--view:hover {
	background: #2B4D8F;
	color: #fff;
}

.lbx-btn--learn {
	background: #223A6E;
	color: #fff;
}

.lbx-btn--learn:hover {
	background: #16294D;
	color: #fff;
}

.lbx-btn__icon {
	font-size: 15px;
	line-height: 1;
}

/* ---- Responsive ---- */
@media (max-width: 782px) {
	.lbx-card {
		flex-direction: column;
		align-items: stretch;
		text-align: left;
	}
	.lbx-card__media {
		flex: none;
		max-width: 100%;
	}
	.lbx-card__actions {
		flex-direction: row;
		flex-wrap: wrap;
		min-width: 0;
	}
	.lbx-card__actions .lbx-btn {
		flex: 1 1 auto;
	}
	.lbx-cards.lbx-grid {
		grid-template-columns: 1fr;
	}
}

/* ============ Product list (leaf categories) ============ */
.lbx-plist { display: block; }

.lbx-plist__info {
	text-align: center;
	margin: 0 0 18px;
}

.lbx-toolbar {
	background: #CDE6FB;
	color: #223A6E;
	border-radius: 10px;
	padding: 12px 18px;
	margin-bottom: 14px;
}
.lbx-toolbar__controls {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 16px;
}
.lbx-tb-field {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
	font-size: 15px;
}
.lbx-tb-field select {
	padding: 8px 12px;
	border-radius: 8px;
	border: 1px solid #B9CBE4;
	background: #fff;
	font-size: 14px;
	cursor: pointer;
}
.lbx-tb-reset {
	display: inline-flex;
	align-items: center;
	padding: 8px 18px;
	border-radius: 999px;
	background: #9AA6B2;
	color: #fff;
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
}
.lbx-tb-reset:hover { background: #7d8894; color:#fff; }

.lbx-count {
	text-align: center;
	font-size: 18px;
	color: #5A6675;
	margin: 6px 0 18px;
}

.lbx-prows {
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.lbx-prow {
	display: flex;
	align-items: center;
	gap: 20px;
	background: #BFE0FB;
	border-radius: 12px;
	padding: 14px 18px 14px 14px;
}
.lbx-prow__media {
	flex: 0 0 90px;
	max-width: 90px;
	display: block;
}
.lbx-prow__media img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 8px;
	background: #fff;
	object-fit: cover;
}
.lbx-prow__body {
	flex: 1 1 auto;
	min-width: 0;
}
.lbx-prow__name {
	font-size: 18px;
	font-weight: 600;
	color: #211D1D;
	text-decoration: none;
}
.lbx-prow__name:hover { color: #3763B8; text-decoration: underline; }

.lbx-prow__actions { flex: 0 0 auto; }

.lbx-btn--details {
	background: #3763B8;
	color: #fff;
	padding: 11px 24px;
	border-radius: 999px;
}
.lbx-btn--details:hover { background: #2B4D8F; color: #fff; }

.lbx-empty {
	padding: 20px;
	background: #F5F7FA;
	border-radius: 10px;
	color: #6B7280;
	text-align: center;
}

.lbx-pagination {
	display: flex;
	justify-content: center;
	gap: 6px;
	margin-top: 22px;
}
.lbx-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 10px;
	border-radius: 8px;
	background: #EEF3FB;
	color: #223A6E;
	text-decoration: none;
	font-weight: 600;
}
.lbx-pagination .page-numbers.current { background: #3763B8; color: #fff; }
.lbx-pagination a.page-numbers:hover { background: #D7E3F6; }

@media (max-width: 782px) {
	.lbx-toolbar__controls { justify-content: flex-start; }
	.lbx-prow { flex-wrap: wrap; }
	.lbx-prow__actions { width: 100%; }
	.lbx-prow__actions .lbx-btn { width: 100%; }
}
