.devkorneff-audio-shop {
	max-width: 1200px;
	margin: 0 auto;
	padding: 1.5rem 1rem;
	background: #ffffff;
	--devkorneff-shortcode-price-color: #111111;
}

/* Price color + scale for tiles: CSS variables in devkorneff-purchase
   assets/css/side-cart.css (:root / .devkorneff-audio-shop). Optional WP Codebox
   source: assets/scss/wpcodebox-side-cart-overrides.scss ($audio-* variables). */

.devkorneff-audio-shop__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 4rem;
}

.devkorneff-audio-shop__item {
	text-align: center;
	padding: 1rem;
	background: #ffffff;
	border-radius: 10px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	transition: border-color 0.2s ease;
	display: flex;
	flex-direction: column;
}

.devkorneff-audio-shop__item:hover {
	border-color: rgba(128, 128, 128, 0.25);
}

.devkorneff-audio-shop__image-wrap {
	position: relative;
	margin-bottom: 0.75rem;
}

.devkorneff-audio-shop__image-link {
	display: block;
	position: relative;
}

.devkorneff-audio-shop__image-link img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 2;
	height: auto;
	object-fit: cover;
	border-radius: 7px;
}

.devkorneff-audio-shop__image-trigger {
	position: absolute;
	left: 0.025rem;
	bottom: 0.025rem;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	z-index: 2;
}

.devkorneff-audio-shop__play-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3.1rem;
	height: 3.1rem;
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.4);
	color: #ffffff;
	transition: transform 0.2s ease, background-color 0.2s ease;
}

.devkorneff-audio-shop__play-icon svg {
	width: 1.7rem;
	height: 1.7rem;
	display: block;
}

.devkorneff-audio-shop__image-trigger:hover .devkorneff-audio-shop__play-icon,
.devkorneff-audio-shop__image-trigger:focus-visible .devkorneff-audio-shop__play-icon {
	transform: scale(1.06);
	background: rgba(0, 0, 0, 0.55);
}

.devkorneff-audio-shop__title {
	margin: 0;
	font-size: 1.25rem;
	font-weight: var(--devkorneff-audio-shop-title-font-weight, 700);
	color: #111111;
}

.devkorneff-audio-shop__title a {
	color: #111111;
	text-decoration: none;
}

.devkorneff-audio-shop__title a:visited,
.devkorneff-audio-shop__title a:hover,
.devkorneff-audio-shop__title a:active,
.devkorneff-audio-shop__title a:focus,
.devkorneff-audio-shop__title a:focus-visible {
	color: #111111;
	text-decoration: none;
}

.devkorneff-audio-shop__title a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}

.devkorneff-audio-shop__description {
	margin-top: 0.55rem;
	margin-bottom: 0.6rem;
	color: #333333;
	font-size: 1em;
	line-height: 1.3;
	text-align: left;
}

.devkorneff-audio-shop__description p {
	line-height: 1.5;
}

.devkorneff-audio-shop__description p {
	margin: 0;
	text-align: left;
}

.devkorneff-audio-shop__add-to-cart {
	margin-top: 0;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	text-align: center;
	width: 100%;
}

.devkorneff-audio-shop .devkorneff-add-to-cart-simple__buttons {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.5rem;
	width: 100%;
	max-width: none;
	margin-left: auto;
	margin-right: auto;
	font-size: 1rem;
}

.devkorneff-audio-shop .devkorneff-add-to-cart-simple,
.devkorneff-audio-shop form.devkorneff-side-cart-variations-form.cart.variations_form {
	width: 100%;
}

.devkorneff-audio-shop__purchase-meta {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
	gap: 0.5rem;
	margin-top: auto;
	margin-bottom: 0;
	width: 100%;
}

.devkorneff-audio-shop__purchase-meta--single {
	grid-template-columns: minmax(0, 1fr);
}

.devkorneff-audio-shop__price-row {
	display: flex;
	justify-content: center;
	margin-top: 0.35rem;
	margin-bottom: 1rem;
}

.devkorneff-audio-shop__price {
	font-family: var(--devkorneff-audio-shop-title-font-family, 'Open Sans', sans-serif) !important;
	color: var(--devkorneff-shortcode-price-color, #ffffff);
	font-size: 1.255em;
	font-weight: 700;
}

.devkorneff-audio-shop__price .price,
.devkorneff-audio-shop__price .price *,
.devkorneff-audio-shop__price .woocommerce-Price-amount,
.devkorneff-audio-shop__price .woocommerce-Price-amount *,
.devkorneff-audio-shop__price .price bdi,
.devkorneff-audio-shop__price .price ins,
.devkorneff-audio-shop__price .price del,
.devkorneff-audio-shop__price .price span {
	font-family: var(--devkorneff-audio-shop-title-font-family, 'Open Sans', sans-serif) !important;
	color: var(--devkorneff-shortcode-price-color, #ffffff);
	font-size: inherit !important;
	font-weight: 700 !important;
}

.devkorneff-audio-shop__find-out-more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1;
	padding: var(--devkorneff-audio-shop-btn-padding, 0.75rem 1rem);
	border-radius: 5px;
	text-decoration: none;
	text-transform: none;
	letter-spacing: normal;
	color: #222222;
	background-color: #f7f7f7;
	border: 1px solid #e6e6e6;
	transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease;
	width: 100%;
	max-width: none;
	box-sizing: border-box;
}

.devkorneff-audio-shop__find-out-more:hover,
.devkorneff-audio-shop__find-out-more:focus-visible {
	color: #111111;
	background-color: #c6c6c6;
	border-color: #b8b8b8;
}

.devkorneff-audio-shop__free-demo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: inherit;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1;
	padding: var(--devkorneff-audio-shop-btn-padding, 0.75rem 1rem);
	border-radius: 5px;
	text-decoration: none;
	text-transform: none;
	letter-spacing: normal;
	color: #222222;
	background-color: #f7f7f7;
	border: 1px solid #e6e6e6;
	transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease;
	width: 100%;
	max-width: none;
	box-sizing: border-box;
}

.devkorneff-audio-shop__free-demo:hover,
.devkorneff-audio-shop__free-demo:focus-visible {
	color: #111111;
	background-color: #c6c6c6;
	border-color: #b8b8b8;
}

.devkorneff-audio-shop__free-demo:disabled {
	opacity: 1;
	cursor: not-allowed;
}

.devkorneff-instant-demo-trigger.is-loading,
.devkorneff-instant-demo-trigger:disabled {
	opacity: 0.75;
	cursor: wait;
}

.devkorneff-audio-shop-modal {
	border: 0;
	margin: auto;
	padding: 0;
	max-width: none;
	max-height: none;
	width: min(960px, 92vw);
	background: transparent;
	color: #ffffff;
}

.devkorneff-audio-shop-modal::backdrop {
	background: rgba(0, 0, 0, 0.78);
}

.devkorneff-audio-shop-modal__dialog {
	width: 100%;
	background: #000000;
	border-radius: 8px;
	padding: 1rem;
	position: relative;
}

.devkorneff-audio-shop-modal__close {
	position: absolute;
	right: 0.6rem;
	top: 0.6rem;
	z-index: 2;
	width: 2rem;
	height: 2rem;
	border: 0;
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.78);
	color: #ffffff;
	font-size: 1.35rem;
	line-height: 1;
	cursor: pointer;
}

.devkorneff-audio-shop-modal__video-wrap {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.devkorneff-audio-shop-modal__video-wrap iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.devkorneff-instant-demo-modal.oxy-modal-backdrop {
	align-items: center;
	justify-content: center;
	padding: 1rem;
	background: rgba(0, 0, 0, 0.55);
	z-index: 25010;
}

.devkorneff-instant-demo-modal__dialog.ct-modal {
	position: relative;
	width: min(100%, 32rem);
	border-radius: 10px;
	background: #ffffff;
	padding: 1.25rem 1.25rem 1rem;
}

.devkorneff-instant-demo-modal__close {
	position: absolute;
	top: 0.5rem;
	right: 0.65rem;
	border: 0;
	background: transparent;
	color: #444444;
	font-size: 1.5rem;
	line-height: 1;
	cursor: pointer;
}

.devkorneff-instant-demo-modal__title {
	margin: 0 0 0.8rem;
	font-size: 1.15rem;
	color: #111111;
}

.devkorneff-instant-demo-modal__logged-in-lede {
	margin: 0 0 0.9rem;
	font-size: 0.9rem;
	line-height: 1.45;
	color: #444444;
}

.devkorneff-instant-demo-modal__dialog--logged-in .devkorneff-instant-demo-modal__form.is-submitting .devkorneff-instant-demo-modal__actions,
.devkorneff-instant-demo-modal__dialog--logged-in .devkorneff-instant-demo-modal__form.is-post-submit .devkorneff-instant-demo-modal__actions {
	display: flex;
}

.devkorneff-instant-demo-modal__field {
	margin: 0 0 0.9rem;
}

.devkorneff-instant-demo-modal__field label {
	display: block;
	font-size: 0.85rem;
	color: #333333;
	margin-bottom: 0.35rem;
}

.devkorneff-instant-demo-modal__field input[type="email"] {
	width: 100%;
	border: 1px solid #d4d4d4;
	border-radius: 6px;
	padding: 0.62rem 0.68rem;
	font-size: 0.95rem;
}

.devkorneff-instant-demo-modal__honeypot {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.devkorneff-instant-demo-modal__actions {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.devkorneff-instant-demo-modal__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	border: 0;
	border-radius: 6px;
	padding: 0.68rem 0.85rem;
	font-family: inherit;
	font-size: 0.85em;
	font-weight: 500;
	color: #ffffff;
	background: #252525;
	cursor: pointer;
}

.devkorneff-instant-demo-modal__login-link {
	font-size: 0.8rem;
	color: #333333;
	text-decoration: underline;
}

.devkorneff-instant-demo-modal__notice {
	margin-top: 0.65rem;
	font-size: 0.9rem;
	line-height: 1.4;
	color: #444444;
}

.devkorneff-instant-demo-modal__notice.is-success {
	color: #0f6f2f;
}

.devkorneff-instant-demo-modal__notice.is-error,
.devkorneff-instant-demo-modal__error {
	color: #a61f1f;
}

.devkorneff-audio-shop .devkorneff-add-to-cart-simple__price,
.devkorneff-audio-shop .devkorneff-add-to-cart-simple__price *,
.devkorneff-audio-shop .woocommerce-variation-price,
.devkorneff-audio-shop .woocommerce-variation-price .price,
.devkorneff-audio-shop .woocommerce-variation-price .price * {
	color: var(--devkorneff-shortcode-price-color, #ffffff);
	font-size: var(--devkorneff-audio-shop-price-font-size, 1.05em);
	font-weight: var(
		--devkorneff-audio-shop-price-font-weight,
		var(--devkorneff-shortcode-price-font-weight, inherit)
	);
}

.devkorneff-audio-shop .devkorneff-add-to-cart-simple__price del,
.devkorneff-audio-shop .woocommerce-variation-price del {
	font-size: var(
		--devkorneff-audio-shop-sale-del-font-size,
		var(--devkorneff-shortcode-sale-del-font-size, 0.75em)
	);
}
.devkorneff-audio-shop .devkorneff-add-to-cart-simple__price,
.devkorneff-audio-shop .woocommerce-variation-price {
	display: block;
	margin: 0.25rem 0 1rem;
}

/* Grid CTAs are plugin shortcode links/buttons inside .devkorneff-audio-shop (no tile-only class). */
.devkorneff-audio-shop a.devkorneff-add-to-cart-button.add_to_cart_button.button:not(.devkorneff-demo-link),
.devkorneff-audio-shop a.devkorneff-buy-now-button.button,
.devkorneff-audio-shop button.single_add_to_cart_button.button.alt.devkorneff-add-to-cart-button,
.devkorneff-audio-shop button.devkorneff-buy-now-button.button,
body.single-product
	.devkorneff-audio-shop
	a.devkorneff-add-to-cart-button.add_to_cart_button.button:not(.devkorneff-demo-link),
body.single-product
	.devkorneff-audio-shop
	a.devkorneff-buy-now-button.button,
body.single-product
	.devkorneff-audio-shop
	button.single_add_to_cart_button.button.alt.devkorneff-add-to-cart-button,
body.single-product
	.devkorneff-audio-shop
	button.devkorneff-buy-now-button.button {
	font-family: inherit;
	font-weight: var(--devkorneff-audio-shop-btn-font-weight, 500);
	text-transform: var(--devkorneff-audio-shop-btn-text-transform, uppercase);
	letter-spacing: var(--devkorneff-audio-shop-btn-letter-spacing, normal);
	font-size: var(--devkorneff-audio-shop-btn-font-size, 0.85em);
	padding: var(--devkorneff-audio-shop-btn-padding, 0.75rem 1rem);
	border-radius: var(--devkorneff-audio-shop-btn-border-radius, 5px);
	color: var(--devkorneff-audio-shop-btn-color, #ffffff);
	background-color: var(--devkorneff-audio-shop-btn-bg, #252525);
	border: var(--devkorneff-audio-shop-btn-border-width, 0)
		var(--devkorneff-audio-shop-btn-border-style, solid)
		var(--devkorneff-audio-shop-btn-border-color, #232323);
	transition: var(
		--devkorneff-audio-shop-btn-transition,
		color 0.25s ease,
		background-color 0.25s ease,
		border-color 0.25s ease
	);
}

.devkorneff-audio-shop a.devkorneff-add-to-cart-button.add_to_cart_button.button:not(.devkorneff-demo-link):hover,
.devkorneff-audio-shop a.devkorneff-buy-now-button.button:hover,
.devkorneff-audio-shop button.single_add_to_cart_button.button.alt.devkorneff-add-to-cart-button:hover,
.devkorneff-audio-shop button.devkorneff-buy-now-button.button:hover,
body.single-product
	.devkorneff-audio-shop
	a.devkorneff-add-to-cart-button.add_to_cart_button.button:not(.devkorneff-demo-link):hover,
body.single-product
	.devkorneff-audio-shop
	a.devkorneff-buy-now-button.button:hover,
body.single-product
	.devkorneff-audio-shop
	button.single_add_to_cart_button.button.alt.devkorneff-add-to-cart-button:hover,
body.single-product
	.devkorneff-audio-shop
	button.devkorneff-buy-now-button.button:hover {
	color: var(--devkorneff-audio-shop-btn-hover-color, #ffffff);
	background-color: var(--devkorneff-audio-shop-btn-hover-bg, #666666);
	border-color: var(--devkorneff-audio-shop-btn-hover-border-color, #666666);
}

/* In the Audio Shop grid, hide the WooCommerce "Clear" link for variations
 * so the primary action stays focused on choosing a license and adding to cart. */
.devkorneff-audio-shop .reset_variations {
	display: none;
}

/* Hide license-type label and dropdown on variable products. */
.devkorneff-audio-shop table.variations {
	display: none;
}

.devkorneff-audio-shop .variations_form,
.devkorneff-audio-shop .devkorneff-add-to-cart-variable {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.devkorneff-audio-shop .variations_form .variations,
.devkorneff-audio-shop .variations_form .single_variation_wrap {
	width: 100%;
}

.devkorneff-audio-shop .variations_form .variations_button {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	text-align: center;
	gap: 0.5rem;
	margin-top: 0;
	width: 100%;
	max-width: none;
	margin-left: auto;
	margin-right: auto;
	font-size: 1rem;
}

.devkorneff-audio-shop__purchase-meta + .devkorneff-audio-shop__add-to-cart {
	margin-top: 0.5rem !important;
}

.devkorneff-audio-shop .variations_form .variations_button .devkorneff-add-to-cart-button,
.devkorneff-audio-shop .variations_form .variations_button .devkorneff-buy-now-button,
.devkorneff-audio-shop .devkorneff-add-to-cart-simple__buttons .devkorneff-add-to-cart-button,
.devkorneff-audio-shop .devkorneff-add-to-cart-simple__buttons .devkorneff-buy-now-button {
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
	justify-content: center;
	line-height: 1;
	font-size: 0.875em !important;
	font-weight: 500 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
}

.devkorneff-audio-shop .variations_form .variations_button .devkorneff-buy-now-button:hover,
.devkorneff-audio-shop .variations_form .variations_button .devkorneff-buy-now-button:focus-visible,
.devkorneff-audio-shop .devkorneff-add-to-cart-simple__buttons .devkorneff-buy-now-button:hover,
.devkorneff-audio-shop .devkorneff-add-to-cart-simple__buttons .devkorneff-buy-now-button:focus-visible {
	background-color: #515151 !important;
	color: #ffffff !important;
	border-color: #515151 !important;
}

.devkorneff-audio-shop .variations_form .variations_button .quantity {
	align-self: center;
}

.devkorneff-audio-shop .devkorneff-add-to-cart-simple__buttons a.devkorneff-add-to-cart-button.add_to_cart_button.button:not(.devkorneff-demo-link),
.devkorneff-audio-shop .variations_form .variations_button button.single_add_to_cart_button.button.alt.devkorneff-add-to-cart-button {
	background-color: #dfdfdf !important;
	color: #222222 !important;
	border-color: #cfcfcf !important;
	font-weight: 600 !important;
}

.devkorneff-audio-shop .devkorneff-add-to-cart-simple__buttons a.devkorneff-add-to-cart-button.add_to_cart_button.button:not(.devkorneff-demo-link):hover,
.devkorneff-audio-shop .variations_form .variations_button button.single_add_to_cart_button.button.alt.devkorneff-add-to-cart-button:hover,
.devkorneff-audio-shop .devkorneff-add-to-cart-simple__buttons a.devkorneff-add-to-cart-button.add_to_cart_button.button:not(.devkorneff-demo-link):focus-visible,
.devkorneff-audio-shop .variations_form .variations_button button.single_add_to_cart_button.button.alt.devkorneff-add-to-cart-button:focus-visible {
	background-color: #b2b2b2 !important;
	color: #111111 !important;
	border-color: #a6a6a6 !important;
}

@media (max-width: 1100px) {
	.devkorneff-audio-shop__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 768px) {
	.devkorneff-audio-shop__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 700px) {
	.devkorneff-audio-shop__grid {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
}

.devkorneff-audio-shop__sale-badge {
	position: absolute;
	top: 0.5rem;
	right: 0.5rem;
	z-index: 3;
	background: #c0392b;
	color: #ffffff;
	font-size: 0.84rem;
	font-weight: 700;
	line-height: 1;
	padding: 0.34rem 0.72rem;
	border-radius: 4px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	pointer-events: none;
}

/* ---- Category filter bar ---- */
.devkorneff-audio-shop__filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 2rem;
}

.devkorneff-audio-shop__filter-btn {
	display: inline-block;
	/* +1px top / −1px bottom: balances font metrics so label matches button centerline */
	padding: calc(0.4rem + 1px) 1rem calc(0.4rem - 1px) 1rem;
	font-family: inherit;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1;
	color: #222222;
	background-color: #f7f7f7;
	border: 1px solid #e6e6e6;
	border-radius: 5px;
	cursor: pointer;
	transition: color 0.25s ease, background-color 0.25s ease, border-color 0.25s ease;
}

.devkorneff-audio-shop__filter-btn:hover {
	color: #111111;
	background-color: #c6c6c6;
	border-color: #b8b8b8;
}

.devkorneff-audio-shop__filter-btn.is-active {
	background-color: #252525;
	border-color: #252525;
	color: #ffffff;
}

/* Match .devkorneff-audio-shop__sale-badge when On Sale filter is active */
.devkorneff-audio-shop__filter-btn.is-active[data-filter="devkorneff-on-sale"] {
	background-color: #c0392b;
	border-color: #c0392b;
	color: #ffffff;
}

.devkorneff-audio-shop__filter-btn.is-active[data-filter="devkorneff-on-sale"]:hover,
.devkorneff-audio-shop__filter-btn.is-active[data-filter="devkorneff-on-sale"]:focus-visible {
	background-color: #c0392b;
	border-color: #c0392b;
	color: #ffffff;
}

/* ---- Sale price: show regular (del) muted and sale (ins) prominent ---- */
.devkorneff-audio-shop__price del {
	display: inline !important;
	font-size: 0.78em !important;
	font-weight: 500 !important;
	opacity: 0.5 !important;
	text-decoration: line-through !important;
}

.devkorneff-audio-shop__price del * {
	display: inline !important;
	font-size: inherit !important;
	font-weight: inherit !important;
}

.devkorneff-audio-shop__price ins,
.devkorneff-audio-shop__price ins * {
	display: inline !important;
	text-decoration: none !important;
	font-size: 1em !important;
	font-weight: 700 !important;
}
