/**
 * Easy Digital Downloads Styles
 * Professional digital product store styling
 */

/* ==========================================================================
   Download Grid
   ========================================================================== */

.sp2026-download-grid {
	display: grid;
	gap: 1.5rem;
	margin: 0;
	padding: 0;
}

.sp2026-download-grid.columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.sp2026-download-grid.columns-3 {
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
}

.sp2026-download-grid.columns-4 {
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}

@media (max-width: 768px) {
	.sp2026-download-grid.columns-2,
	.sp2026-download-grid.columns-3,
	.sp2026-download-grid.columns-4 {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   Product Card (Archive/Grid View)
   ========================================================================== */

.sp2026-product-card {
	background-color: #ffffff;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 12px;
	overflow: hidden;
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
	display: flex;
	flex-direction: column;
	height: 100%;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.sp2026-product-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
	border-color: #f5a623;
}

.sp2026-product-image {
	overflow: hidden;
	background-color: #f5f5f7;
	position: relative;
	aspect-ratio: 16 / 9;
}

.sp2026-product-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.sp2026-product-card:hover .sp2026-product-image img {
	transform: scale(1.08);
}

.sp2026-product-content {
	padding: 1.25rem;
	flex: 1;
	display: flex;
	flex-direction: column;
}

/* Remove list styles from product card content */
.sp2026-product-content ul,
.sp2026-product-content ol {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sp2026-product-content li {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sp2026-product-title {
	font-size: 1.375rem;
	font-weight: 600;
	margin: 0 0 0.5rem 0;
	line-height: 1.3;
}

.sp2026-product-title a {
	color: #1d1d1f;
	text-decoration: none;
	transition: color 0.2s ease;
}

.sp2026-product-title a:hover {
	color: #f5a623;
	text-decoration: none;
}

.sp2026-product-excerpt {
	color: #6e6e73;
	font-size: 0.9375rem;
	line-height: 1.6;
	margin: 0 0 0.875rem 0;
	flex: 1;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.sp2026-product-price {
	font-size: 1.75rem;
	font-weight: 700;
	color: #f5a623;
	margin: 0 0 0.875rem 0;
	letter-spacing: -0.02em;
}

.sp2026-product-actions {
	margin-top: auto;
}

/* ==========================================================================
   Single Download Page
   ========================================================================== */

.site-main-download {
	padding: 0;
}

.sp2026-single-download {
	max-width: 100%;
	margin: 0;
}

/* Hero Section */
.sp2026-download-hero {
	background-color: #ffffff;
	padding: 4rem 2rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.sp2026-download-hero-inner {
	max-width: 1200px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 280px 1fr;
	gap: 3rem;
	align-items: start;
}

.sp2026-download-hero-left {
	position: relative;
}

.sp2026-download-hero-box {
	background: linear-gradient(135deg, #1d1d1f 0%, #2d2d2f 100%);
	border-radius: 12px;
	padding: 3rem 2rem;
	text-align: center;
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2);
	min-height: 200px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.sp2026-download-hero-title {
	font-size: 1.5rem;
	font-weight: 700;
	margin: 0;
	color: #ffffff;
	line-height: 1.3;
	letter-spacing: -0.01em;
}

/* Ensure all text inside dark hero box is light */
.sp2026-download-hero-box,
.sp2026-download-hero-box * {
	color: #ffffff;
}

.sp2026-download-hero-box a {
	color: #ffffff;
	text-decoration: underline;
}

.sp2026-download-hero-box a:hover {
	color: rgba(255, 255, 255, 0.8);
}

.sp2026-download-hero-right {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.sp2026-download-title {
	font-size: 3rem;
	font-weight: 700;
	margin: 0;
	line-height: 1.1;
	color: #1d1d1f;
	letter-spacing: -0.02em;
}

.sp2026-download-excerpt {
	font-size: 1.25rem;
	color: #6e6e73;
	line-height: 1.6;
	margin: 0;
}

.sp2026-download-price-box {
	margin-top: 1rem;
}

.sp2026-download-price {
	font-size: 2rem;
	font-weight: 700;
	color: #1d1d1f;
	margin-bottom: 1.5rem;
	letter-spacing: -0.02em;
}

.sp2026-download-actions {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.sp2026-download-primary-action {
	width: 100%;
}

.sp2026-download-secondary-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 0.5rem;
}

.sp2026-button-outline {
	background-color: transparent;
	border: 2px solid rgba(0, 0, 0, 0.2);
	color: #1d1d1f;
	padding: 0.75rem 1.5rem;
	border-radius: 10px;
	font-size: 0.9375rem;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.2s ease;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}

.sp2026-button-outline:hover {
	border-color: #f5a623;
	color: #f5a623;
	background-color: rgba(245, 166, 35, 0.05);
	text-decoration: none;
}

.sp2026-button-icon {
	font-size: 1.125rem;
	line-height: 1;
}

.sp2026-download-marketplace-links {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.sp2026-marketplace-link {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.75rem 1rem;
	background-color: #f5f5f7;
	border-radius: 8px;
	text-decoration: none;
	color: #1d1d1f;
	font-size: 0.875rem;
	font-weight: 500;
	transition: all 0.2s ease;
}

.sp2026-marketplace-link:hover {
	background-color: #e8e8ed;
	text-decoration: none;
	color: #1d1d1f;
}

.sp2026-marketplace-icon {
	width: 24px;
	height: 24px;
	object-fit: contain;
	flex-shrink: 0;
}

.sp2026-download-content-wrapper {
	max-width: 1200px;
	margin: 0 auto;
	padding: 4rem 2rem;
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: 4rem;
}

.sp2026-download-main {
	display: flex;
	flex-direction: column;
	gap: 3rem;
}

.sp2026-download-content {
	font-size: 1.125rem;
	line-height: 1.8;
	color: #1d1d1f;
}

.sp2026-download-content h2 {
	font-size: 2rem;
	margin-top: 3rem;
	margin-bottom: 1.5rem;
	padding-top: 2rem;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	color: #1d1d1f;
	font-weight: 700;
}

.sp2026-download-content h3 {
	font-size: 1.5rem;
	margin-top: 2rem;
	margin-bottom: 1rem;
	color: #1d1d1f;
	font-weight: 600;
}

.sp2026-download-content ul,
.sp2026-download-content ol {
	margin: 1.5rem 0;
	padding-left: 0;
	list-style: none;
}

.sp2026-download-content li {
	margin-bottom: 0.75rem;
	line-height: 1.8;
}

.sp2026-download-content img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
	margin: 2rem 0;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
	border: 1px solid rgba(0, 0, 0, 0.05);
}

.sp2026-download-content p {
	margin-bottom: 1.5rem;
	line-height: 1.8;
}

.sp2026-download-content blockquote {
	border-left: 3px solid #f5a623;
	padding-left: 1.5rem;
	margin: 2rem 0;
	font-style: italic;
	color: #6e6e73;
}

.sp2026-download-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 2rem 0;
}

.sp2026-download-content table th,
.sp2026-download-content table td {
	padding: 0.75rem 1rem;
	text-align: left;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.sp2026-download-content table th {
	background-color: #f5f5f7;
	font-weight: 600;
	color: #1d1d1f;
}

/* Bottom CTA */
.sp2026-download-bottom-cta {
	background: linear-gradient(135deg, #f5f5f7 0%, #ffffff 100%);
	border-radius: 12px;
	padding: 3rem 2.5rem;
	text-align: center;
	margin-top: 4rem;
	border: 1px solid rgba(0, 0, 0, 0.08);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.sp2026-download-cta-title {
	font-size: 2rem;
	font-weight: 700;
	margin: 0 0 0.75rem 0;
	color: #1d1d1f;
}

.sp2026-download-cta-subtitle {
	font-size: 0.875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #6e6e73;
	margin: 0 0 2rem 0;
}

.sp2026-download-cta-button {
	max-width: 300px;
	margin: 0 auto;
}

/* Sidebar */
.sp2026-download-sidebar {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

.sp2026-download-bundle-promo {
	background: linear-gradient(135deg, #f5a623 0%, #d4880a 100%);
	border-radius: 12px;
	padding: 1.5rem;
	text-align: center;
}

.sp2026-bundle-promo-text {
	margin: 0;
	color: #1d1d1f;
	font-size: 0.9375rem;
	line-height: 1.6;
	font-weight: 500;
}

.sp2026-bundle-promo-text a {
	color: #1d1d1f;
	text-decoration: underline;
	font-weight: 700;
}

.sp2026-bundle-promo-text a:hover {
	text-decoration: none;
}

/* ==========================================================================
   Archive Page
   ========================================================================== */

.site-main-archive {
	padding: 0;
}

.archive-header {
	background: linear-gradient(135deg, #1d1d1f 0%, #2d2d2f 100%);
	color: #ffffff;
	padding: 4rem 2rem;
	text-align: center;
}

.archive-header-inner {
	max-width: 1200px;
	margin: 0 auto;
}

.archive-title {
	font-size: 3.5rem;
	font-weight: 700;
	margin: 0 0 1rem 0;
	color: #ffffff;
	letter-spacing: -0.02em;
}

.archive-description {
	font-size: 1.25rem;
	color: rgba(255, 255, 255, 0.8);
	margin: 0;
	line-height: 1.6;
}

.sp2026-download-grid-wrapper {
	max-width: 1400px;
	margin: 0 auto;
	padding: 4rem 2rem;
}

/* Pagination */
.posts-navigation {
	max-width: 1400px;
	margin: 3rem auto;
	padding: 0 2rem;
	display: flex;
	justify-content: center;
	gap: 1rem;
}

.posts-navigation .nav-links {
	display: flex;
	gap: 0.5rem;
	align-items: center;
}

.posts-navigation .nav-previous,
.posts-navigation .nav-next {
	display: inline-block;
}

.posts-navigation a {
	display: inline-block;
	padding: 0.75rem 1.5rem;
	background-color: #ffffff;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 6px;
	color: #1d1d1f;
	text-decoration: none;
	font-size: 0.9375rem;
	font-weight: 500;
	transition: all 0.15s ease;
}

.posts-navigation a:hover {
	background-color: #f5f5f7;
	border-color: #f5a623;
	color: #f5a623;
	text-decoration: none;
}

.posts-navigation .nav-arrow {
	font-size: 1rem;
	line-height: 1;
}

.sp2026-download-grid {
	display: grid;
	gap: 2rem;
	margin: 0;
	padding: 0;
}

/* ==========================================================================
   EDD Purchase Buttons
   ========================================================================== */

.edd_purchase_submit_wrapper {
	margin: 0;
}

.edd-add-to-cart,
.edd-submit,
.edd_purchase_submit_wrapper input[type="submit"] {
	background-color: #f5a623;
	color: #1d1d1f;
	border: none;
	padding: 1rem 2.5rem;
	border-radius: 10px;
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.2s ease;
	width: 100%;
	text-align: center;
	display: block;
	text-decoration: none;
}

.edd-add-to-cart:hover,
.edd-submit:hover,
.edd_purchase_submit_wrapper input[type="submit"]:hover {
	background-color: #d4880a;
	color: #1d1d1f;
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(245, 166, 35, 0.4);
	text-decoration: none;
}

.edd-add-to-cart:active,
.edd-submit:active,
.edd_purchase_submit_wrapper input[type="submit"]:active {
	transform: translateY(0);
}

/* ==========================================================================
   Related Products
   ========================================================================== */

.sp2026-related-products {
	background-color: #ffffff;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 12px;
	padding: 1.5rem;
}

.sp2026-related-products h3 {
	font-size: 1.25rem;
	font-weight: 700;
	margin: 0 0 1.5rem 0;
	color: #1d1d1f;
	text-align: left;
}

.sp2026-related-products .sp2026-download-grid {
	margin: 0;
	padding: 0;
	grid-template-columns: 1fr;
	gap: 1rem;
}

.sp2026-related-products .sp2026-product-card {
	margin: 0;
}

.sp2026-related-products .sp2026-product-image {
	aspect-ratio: 16 / 9;
}

.sp2026-related-products .sp2026-product-title {
	font-size: 1rem;
}

.sp2026-related-products .sp2026-product-excerpt {
	font-size: 0.875rem;
	-webkit-line-clamp: 2;
}

.sp2026-related-products .sp2026-product-price {
	font-size: 1.25rem;
}

/* ==========================================================================
   Pricing Cards (Front Page)
   ========================================================================== */

.pricing-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 2rem;
	margin-top: 3rem;
}

.pricing-card {
	background-color: #ffffff;
	border: 2px solid rgba(0, 0, 0, 0.08);
	border-radius: 16px;
	padding: 2.5rem;
	text-align: center;
	position: relative;
	transition: all 0.3s ease;
}

.pricing-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.1);
}

.pricing-card-featured {
	border-color: #f5a623;
	background: linear-gradient(135deg, #ffffff 0%, #fafafa 100%);
}

.pricing-badge {
	position: absolute;
	top: -12px;
	left: 50%;
	transform: translateX(-50%);
	background-color: #f5a623;
	color: #1d1d1f;
	padding: 0.5rem 1.5rem;
	border-radius: 20px;
	font-size: 0.875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.pricing-card-title {
	font-size: 1.5rem;
	font-weight: 700;
	margin: 0 0 1.5rem 0;
	color: #1d1d1f;
}

.pricing-card-price {
	margin-bottom: 2rem;
}

.price-amount {
	font-size: 3rem;
	font-weight: 700;
	color: #f5a623;
	display: block;
	line-height: 1;
}

.price-period {
	font-size: 1rem;
	color: #6e6e73;
	font-weight: 400;
	display: block;
	margin-top: 0.5rem;
}

.pricing-card-features {
	list-style: none;
	margin: 0 0 2rem 0;
	padding: 0;
	text-align: left;
}

.pricing-card-features li {
	padding: 0.75rem 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.05);
	color: #1d1d1f;
	position: relative;
	padding-left: 1.75rem;
}

.pricing-card-features li:before {
	content: '✓';
	position: absolute;
	left: 0;
	color: #f5a623;
	font-weight: 700;
}

.pricing-card-features li:last-child {
	border-bottom: none;
}

.pricing-card .sp2026-button {
	width: 100%;
}

/* ==========================================================================
   Front Page Sections
   ========================================================================== */

.frontpage-hero {
	background: linear-gradient(135deg, #1d1d1f 0%, #2d2d2f 100%);
	color: #ffffff;
	padding: 8rem 2rem;
	text-align: center;
}

.frontpage-hero-inner {
	max-width: 900px;
	margin: 0 auto;
}

.frontpage-hero-title {
	font-size: 4.5rem;
	font-weight: 700;
	margin: 0 0 2rem 0;
	line-height: 1.1;
	color: #ffffff;
	letter-spacing: -0.02em;
}

.frontpage-hero-subtitle {
	font-size: 1.5rem;
	color: rgba(255, 255, 255, 0.8);
	margin: 0 0 3rem 0;
	line-height: 1.6;
}

.frontpage-hero-cta {
	display: flex;
	gap: 1rem;
	justify-content: center;
	flex-wrap: wrap;
}

.frontpage-section-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 5rem 2rem;
}

.frontpage-section-title {
	font-size: 3rem;
	font-weight: 700;
	text-align: center;
	margin: 0 0 1rem 0;
	color: #1d1d1f;
	letter-spacing: -0.02em;
}

.frontpage-section-subtitle {
	font-size: 1.25rem;
	text-align: center;
	color: #6e6e73;
	margin: 0 0 3rem 0;
}

.frontpage-featured {
	background-color: #ffffff;
}

.frontpage-all-plugins {
	background-color: #f5f5f7;
}

.frontpage-pricing {
	background-color: #ffffff;
}

.frontpage-view-all {
	text-align: center;
	margin-top: 3rem;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 1024px) {
	.sp2026-download-grid.columns-4 {
		grid-template-columns: repeat(3, 1fr);
	}
	
	.sp2026-download-header-inner {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	
	.sp2026-download-image {
		max-width: 400px;
		margin: 0 auto;
	}
	
	.sp2026-download-content-wrapper {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	.sp2026-download-grid.columns-3,
	.sp2026-download-grid.columns-4 {
		grid-template-columns: repeat(2, 1fr);
	}
	
	.frontpage-hero-title {
		font-size: 2.5rem;
	}
	
	.frontpage-hero-subtitle {
		font-size: 1.25rem;
	}
	
	.frontpage-section-title {
		font-size: 2rem;
	}
	
	.sp2026-download-title {
		font-size: 2rem;
	}
	
	.archive-title {
		font-size: 2.5rem;
	}
	
	.pricing-cards {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 480px) {
	.sp2026-download-grid.columns-2,
	.sp2026-download-grid.columns-3,
	.sp2026-download-grid.columns-4 {
		grid-template-columns: 1fr;
	}
	
	.frontpage-hero {
		padding: 4rem 1.5rem;
	}
	
	.frontpage-hero-title {
		font-size: 2rem;
	}
	
	.sp2026-download-header {
		padding: 2rem 1.5rem;
	}
	
	.sp2026-download-content-wrapper {
		padding: 2rem 1.5rem;
	}
	
	/* Single Download Responsive */
	.sp2026-download-hero {
		padding: 3rem 1.5rem;
	}
	
	.sp2026-download-hero-inner {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	
	.sp2026-download-hero-box {
		min-height: 150px;
		padding: 2rem 1.5rem;
	}
	
	.sp2026-download-hero-title {
		font-size: 1.25rem;
	}
	
	.sp2026-download-title {
		font-size: 2rem;
	}
	
	.sp2026-download-excerpt {
		font-size: 1.125rem;
	}
	
	.sp2026-download-price {
		font-size: 1.75rem;
	}
	
	.sp2026-download-secondary-actions {
		flex-direction: column;
	}
	
	.sp2026-button-outline {
		width: 100%;
		justify-content: center;
	}
	
	.sp2026-download-bottom-cta {
		padding: 2rem 1.5rem;
	}
	
	.sp2026-download-cta-title {
		font-size: 1.5rem;
	}
}

@media (max-width: 968px) {
	.sp2026-download-content-wrapper {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
	
	.sp2026-download-sidebar {
		order: -1;
	}
}

/* ==========================================================================
   EDD Downloads List & Grid (Shortcode)
   ========================================================================== */

.edd_downloads_list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 1.5rem;
	margin: 0;
	padding: 0;
}

.edd_download {
	display: flex;
	flex-direction: column;
	background-color: #ffffff;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 12px;
	overflow: hidden;
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
	height: 100%;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.edd_download:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
	border-color: #f5a623;
}

.edd_download_inner {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	position: relative;
}

/* Download Image */
.edd_download_image {
	margin: 0;
	overflow: hidden;
	background-color: #f5f5f7;
	position: relative;
	aspect-ratio: 16 / 9;
}

.edd_download_image a,
.edd_download_image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.edd_download:hover .edd_download_image img {
	transform: scale(1.08);
}

/* Download Content */
.edd_download_inner {
	padding: 0;
}

/* Content wrapper for all non-image elements */
.edd_download_inner > *:not(.edd_download_image) {
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

/* First content element after image gets top padding */
.edd_download_image + * {
	padding-top: 1.25rem;
}

/* Last content element gets bottom padding */
.edd_download_inner > *:last-child:not(.edd_download_image) {
	padding-bottom: 1.25rem;
}

/* Download Title */
h3.edd_download_title,
.edd_download_title {
	margin: 0 0 0.5rem 0;
	font-size: 1.375rem;
	font-weight: 600;
	line-height: 1.3;
}

.edd_download_title a {
	color: #1d1d1f;
	text-decoration: none;
	transition: color 0.2s ease;
	display: block;
}

.edd_download_title a:hover {
	color: #f5a623;
	text-decoration: none;
}

/* Download Excerpt */
.edd_download_excerpt,
.edd_download_full_content {
	color: #6e6e73;
	font-size: 0.9375rem;
	line-height: 1.6;
	margin: 0 0 0.875rem 0;
	flex: 1;
}

.edd_download_excerpt {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.edd_download_excerpt p,
.edd_download_full_content p {
	margin-bottom: 0;
	font-size: 0.9375rem;
	line-height: 1.6;
}

.edd_download_excerpt p:not(:last-child),
.edd_download_full_content p:not(:last-child) {
	margin-bottom: 0.875rem;
}

/* Remove list styles from download content */
.edd_download_inner ul,
.edd_download_inner ol {
	list-style: none;
	margin: 0;
	padding: 0;
}

.edd_download_inner li {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Download Price */
.edd_download_price,
.edd_price {
	font-size: 1.75rem;
	font-weight: 700;
	color: #f5a623;
	margin: 0 0 0.875rem 0;
	letter-spacing: -0.02em;
}

.edd_price_options {
	margin: 0 0 0.875rem 0;
}

.edd_price_options ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.edd_price_options li {
	padding: 0.25rem 0;
	line-height: 1.62;
	cursor: pointer;
}

.edd_price_options li label {
	padding: 0;
	display: block;
	margin: 0;
	font-weight: 500;
	color: #1d1d1f;
}

.edd_price_options li label input {
	margin-right: 0.5rem;
}

.entry-content .edd_price_options li {
	margin-bottom: 0;
}

/* Download Buy Button */
.edd_download_buy_button {
	margin-top: auto;
	padding-top: 0.875rem;
}

.edd_download_purchase_form {
	margin-top: 0.875rem;
}

/* Download Meta */
.eddDownloadMeta {
	font-size: 0.875rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 0.875rem;
}

.eddDownloadMeta > * {
	display: flex;
	align-items: center;
}

.eddDownloadMeta a {
	color: #6e6e73;
	text-decoration: none;
	transition: color 0.15s ease;
}

.eddDownloadMeta a:hover {
	color: #1d1d1f;
	text-decoration: none;
}

.eddDownloadMeta-authorAvatar img {
	display: block;
	border-radius: 100%;
}

.eddDownloadMeta-authorAvatar + .eddDownloadMeta-authorName {
	margin-left: 0.5rem;
}

.eddDownloadMeta-beforeTitle .eddDownloadMeta,
.eddDownloadMeta-afterTitle .eddDownloadMeta {
	margin-bottom: 0.875rem;
}

.eddDownloadMeta-after .eddDownloadMeta {
	margin-top: 0.875rem;
}

.eddDownloadMeta-afterTitle .edd_download_title {
	margin-bottom: 0.5rem;
}

.downloadFooter {
	margin-top: auto;
	padding-top: 0.875rem;
}

.currency {
	vertical-align: top;
}

/* Column widths for download grids */
@media (min-width: 768px) {
	/* Default 3 columns */
	.edd_download_columns_3 .edd_downloads_list {
		grid-template-columns: repeat(3, 1fr);
	}
	
	/* 2 columns */
	.edd_download_columns_2 .edd_downloads_list {
		grid-template-columns: repeat(2, 1fr);
	}
	
	/* 4 columns */
	.edd_download_columns_4 .edd_downloads_list {
		grid-template-columns: repeat(2, 1fr);
	}
	
	/* 5 columns */
	.edd_download_columns_5 .edd_downloads_list {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 992px) {
	/* 4 columns at medium screens */
	.edd_download_columns_4 .edd_downloads_list {
		grid-template-columns: repeat(4, 1fr);
	}
	
	/* 3 columns (default) */
	.edd_download_columns_3 .edd_downloads_list {
		grid-template-columns: repeat(3, 1fr);
	}
	
	/* 2 columns */
	.edd_download_columns_2 .edd_downloads_list {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1220px) {
	/* 5 columns at large screens */
	.edd_download_columns_5 .edd_downloads_list {
		grid-template-columns: repeat(5, 1fr);
	}
}

@media (max-width: 767px) {
	.edd_downloads_list {
		grid-template-columns: 1fr;
	}
}

/* Legacy support for portfolio-wrapper and download-wrapper */
.portfolio-wrapper,
.download-wrapper {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 1.5rem;
	margin: 0;
	padding: 0;
}

@media (max-width: 767px) {
	.portfolio-wrapper,
	.download-wrapper {
		grid-template-columns: 1fr;
	}
}

/* Checkout wrap specific styles */
#edd_checkout_wrap .edd_downloads_list {
	grid-template-columns: repeat(2, 1fr);
}

#edd_checkout_wrap .edd_download_columns_2 .edd_downloads_list {
	grid-template-columns: repeat(2, 1fr);
}

#edd_checkout_wrap .edd_download_columns_3 .edd_downloads_list {
	grid-template-columns: repeat(3, 1fr);
	max-width: 75%;
}

#edd_checkout_wrap .edd_download_columns_4 .edd_downloads_list {
	grid-template-columns: repeat(4, 1fr);
}

.slim #edd_checkout_wrap .edd_downloads_list,
.slim #edd_checkout_wrap .edd_download_columns_2 .edd_downloads_list,
.slim #edd_checkout_wrap .edd_download_columns_3 .edd_downloads_list {
	grid-template-columns: 1fr;
	max-width: 100%;
}
