.prplc-download-center,
.prplc-single-download {
	--prplc-primary: #123f73;
	--prplc-primary-dark: #0a2d55;
	--prplc-accent: #c73425;
	--prplc-surface: #ffffff;
	--prplc-text: #17263a;
	--prplc-muted: #66758a;
	--prplc-border: #dbe3ed;
	font-family: inherit;
	box-sizing: border-box;
}

.prplc-download-center *,
.prplc-single-download * {
	box-sizing: border-box;
}

.prplc-download-grid {
	display: grid;
	grid-template-columns: repeat(var(--prplc-columns, 2), minmax(0, 1fr));
	gap: 22px;
}

.prplc-download-card {
	position: relative;
	display: grid;
	grid-template-columns: 138px minmax(0, 1fr);
	min-height: 250px;
	overflow: hidden;
	background: var(--prplc-surface);
	border: 1px solid var(--prplc-border);
	border-radius: 18px;
	box-shadow: 0 10px 30px rgba(9, 45, 83, .09);
	transition: transform .2s ease, box-shadow .2s ease;
}

.prplc-download-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 15px 35px rgba(9, 45, 83, .15);
}

.prplc-download-card__accent {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 5px;
	background: var(--prplc-accent);
	z-index: 2;
}

.prplc-download-card__icon,
.prplc-download-card__image {
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(150deg, var(--prplc-primary), var(--prplc-primary-dark));
	min-height: 100%;
}

.prplc-download-card__image img {
	width: 100%;
	height: 100%;
	min-height: 250px;
	object-fit: cover;
}

.prplc-download-card__icon {
	position: relative;
	flex-direction: column;
	gap: 12px;
	color: #fff;
}

.prplc-download-card__icon::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(circle at 20% 15%, rgba(255,255,255,.16), transparent 45%);
}

.prplc-download-card__icon svg {
	width: 58px;
	height: 58px;
	fill: none;
	stroke: currentColor;
	stroke-width: 3;
	stroke-linecap: round;
	stroke-linejoin: round;
	opacity: .9;
}

.prplc-download-card__icon span {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 56px;
	min-height: 30px;
	padding: 4px 10px;
	background: var(--prplc-accent);
	border-radius: 20px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .05em;
}

.prplc-download-card__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 27px 24px 22px;
}

.prplc-download-card__category {
	display: inline-flex;
	padding: 5px 12px;
	margin-bottom: 11px;
	color: var(--prplc-primary);
	background: #edf4fb;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 700;
}

.prplc-download-card__title {
	margin: 0 0 10px !important;
	color: var(--prplc-primary-dark);
	font-size: 19px !important;
	font-weight: 800 !important;
	line-height: 1.75 !important;
}

.prplc-download-card__excerpt {
	margin: 0 0 14px !important;
	color: var(--prplc-muted);
	font-size: 14px;
	line-height: 1.9;
}

.prplc-download-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 14px;
	margin: auto 0 15px;
	color: var(--prplc-muted);
	font-size: 12px;
}

.prplc-download-card__meta span {
	position: relative;
}

.prplc-download-card__meta span:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 50%;
	left: -8px;
	width: 3px;
	height: 3px;
	background: var(--prplc-accent);
	border-radius: 50%;
}

.prplc-download-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 43px;
	padding: 9px 18px;
	color: #fff !important;
	background: var(--prplc-accent);
	border: 1px solid var(--prplc-accent);
	border-radius: 9px;
	box-shadow: 0 6px 15px rgba(199, 52, 37, .18);
	font-size: 14px;
	font-weight: 800;
	line-height: 1.4;
	text-decoration: none !important;
	transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.prplc-download-button:hover,
.prplc-download-button:focus {
	color: #fff !important;
	background: var(--prplc-primary);
	border-color: var(--prplc-primary);
	transform: translateY(-1px);
}

.prplc-download-button svg {
	width: 19px;
	height: 19px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.prplc-download-empty {
	padding: 28px;
	color: var(--prplc-primary-dark);
	background: #f5f8fc;
	border: 1px dashed #b8c8dc;
	border-radius: 12px;
	text-align: center;
}

.prplc-download-pagination {
	display: flex;
	justify-content: center;
	gap: 6px;
	margin-top: 28px;
}

.prplc-download-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 38px;
	padding: 0 10px;
	color: var(--prplc-primary);
	background: #fff;
	border: 1px solid var(--prplc-border);
	border-radius: 8px;
	text-decoration: none;
}

.prplc-download-pagination .page-numbers.current,
.prplc-download-pagination a.page-numbers:hover {
	color: #fff;
	background: var(--prplc-primary);
	border-color: var(--prplc-primary);
}

.prplc-gallery-album {
	margin-bottom: 34px;
}

.prplc-gallery-album__heading {
	margin-bottom: 15px;
	padding-right: 14px;
	border-right: 4px solid var(--prplc-accent);
}

.prplc-gallery-album__heading h3,
.prplc-video-card__content h3 {
	margin: 0 !important;
	color: var(--prplc-primary-dark);
	font-size: 19px !important;
	font-weight: 800 !important;
	line-height: 1.7 !important;
}

.prplc-gallery-album__heading p,
.prplc-video-card__content p {
	margin: 5px 0 0 !important;
	color: var(--prplc-muted);
	font-size: 14px;
	line-height: 1.9;
}

.prplc-image-grid {
	display: grid;
	grid-template-columns: repeat(var(--prplc-gallery-columns, 3), minmax(0, 1fr));
	gap: 15px;
}

.prplc-image-item {
	position: relative;
	margin: 0 !important;
	overflow: hidden;
	background: #eef3f8;
	border: 1px solid var(--prplc-border);
	border-radius: 13px;
	aspect-ratio: 4 / 3;
	box-shadow: 0 8px 22px rgba(9, 45, 83, .08);
}

.prplc-image-item a,
.prplc-image-item img {
	display: block;
	width: 100%;
	height: 100%;
}

.prplc-image-item img {
	object-fit: cover;
	transition: transform .3s ease;
}

.prplc-image-item:hover img {
	transform: scale(1.035);
}

.prplc-video-grid {
	display: grid;
	grid-template-columns: repeat(var(--prplc-video-columns, 2), minmax(0, 1fr));
	gap: 22px;
}

.prplc-video-card {
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--prplc-border);
	border-radius: 16px;
	box-shadow: 0 10px 30px rgba(9, 45, 83, .09);
}

.prplc-video-card__player {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 220px;
	background: var(--prplc-primary-dark);
}

.prplc-video-card__player .wp-video,
.prplc-video-card__player video,
.prplc-video-card__player iframe {
	width: 100% !important;
	max-width: 100% !important;
}

.prplc-video-card__player iframe {
	min-height: 280px;
}

.prplc-video-card__content {
	padding: 20px 22px 22px;
	border-top: 4px solid var(--prplc-accent);
}

.prplc-video-unavailable {
	padding: 30px;
	color: #fff;
	text-align: center;
}

@media (max-width: 1024px) {
	.prplc-download-grid {
		grid-template-columns: 1fr;
	}

	.prplc-image-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	.prplc-download-card {
		grid-template-columns: 92px minmax(0, 1fr);
		min-height: 230px;
		border-radius: 14px;
	}

	.prplc-download-card__content {
		padding: 23px 15px 17px;
	}

	.prplc-download-card__image img {
		min-height: 230px;
	}

	.prplc-download-card__icon svg {
		width: 43px;
		height: 43px;
	}

	.prplc-download-card__title {
		font-size: 16px !important;
	}

	.prplc-download-card__excerpt {
		display: none;
	}

	.prplc-download-card__meta {
		font-size: 11px;
	}

	.prplc-download-button {
		width: 100%;
	}

	.prplc-image-grid,
	.prplc-video-grid {
		grid-template-columns: 1fr;
	}

	.prplc-video-card__player,
	.prplc-video-card__player iframe {
		min-height: 190px;
	}
}
