.noris-preferred-source {
	--noris-ps-bg: #f4f6f9;
	--noris-ps-title: #111111;
	--noris-ps-text: #555555;
	--noris-ps-button: #fe131d;
	--noris-ps-button-hover: #d90008;
	--noris-ps-shadow: rgba(0,0,0,0.05);

	background-color: var(--noris-ps-bg);
	border-left: 4px solid #0066cc;
	border-radius: 6px;
	padding: 16px;
	margin-top: 25px;
	margin-bottom: 25px;
	box-shadow: 0 2px 4px var(--noris-ps-shadow);
	box-sizing: border-box;
	width: 100%;
}

.noris-preferred-source.noris-preferred-source-dark {
	--noris-ps-bg: #1b1b1b;
	--noris-ps-title: #f5f5f5;
	--noris-ps-text: #c8c8c8;
	--noris-ps-button: #fe343b;
	--noris-ps-button-hover: #d90008;
	--noris-ps-shadow: rgba(0,0,0,0.28);
}

.noris-preferred-source-content {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
}

.noris-preferred-source-text {
	flex: 1;
	min-width: 250px;
}

.noris-preferred-source-title {
	margin: 0 !important;
	font-weight: 700;
	font-size: 15px;
	line-height: 1.4;
	color: var(--noris-ps-title) !important;
}

.noris-preferred-source-description {
	margin: 4px 0 0 0 !important;
	font-size: 13px;
	line-height: 1.5;
	color: var(--noris-ps-text) !important;
}

.noris-preferred-source-button-wrap {
	flex: 0 0 auto;
}

.noris-preferred-source-button {
	background-color: var(--noris-ps-button);
	color: #ffffff !important;
	padding: 10px 18px;
	border: 0;
	border-radius: 4px;
	font-weight: 600;
	font-size: 13px;
	line-height: 1.3;
	text-decoration: none;
	display: inline-block;
	cursor: pointer;
	transition:
		background-color 0.2s ease,
		transform 0.1s ease;
}

.noris-preferred-source-button:hover {
	background-color: var(--noris-ps-button-hover);
	color: #ffffff !important;
}

.noris-preferred-source-button:active {
	transform: scale(0.98);
}

@media (max-width: 600px) {
	.noris-preferred-source {
		padding: 14px;
	}

	.noris-preferred-source-content {
		display: block;
	}

	.noris-preferred-source-text {
		min-width: 0;
		width: 100%;
	}

	.noris-preferred-source-button-wrap {
		width: 100%;
		margin-top: 12px;
	}

	.noris-preferred-source-button {
		width: 100%;
		text-align: center;
	}
}
