.loyseo-product-single__layout {
	display: grid;
	grid-template-columns: minmax(0, 75fr) minmax(280px, 25fr);
	gap: 20px;
	align-items: start;
	padding-bottom: var(--wp--preset--spacing--70);
}

.loyseo-product-single__content-card {
	min-width: 0;
}

.loyseo-product-single__intro > :first-child,
.loyseo-product-single__section-content > :first-child,
.loyseo-product-single__post-content > :first-child {
	margin-top: 0;
}

.loyseo-product-single__intro > :last-child,
.loyseo-product-single__section-content > :last-child,
.loyseo-product-single__post-content > :last-child {
	margin-bottom: 0;
}

.loyseo-product-single__video,
.loyseo-product-single__section,
.loyseo-product-single__post-content,
.loyseo-product-single__reviews {
	margin-top: var(--wp--preset--spacing--60);
}

.loyseo-product-single__video video {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--wp--custom--radius--panel);
	background: var(--wp--preset--color--surface-code);
}

.loyseo-product-single__section h2 {
	margin-top: 0;
}

.loyseo-product-single__purchase {
	display: grid;
	gap: var(--wp--preset--spacing--40);
}

.loyseo-product-single__section-content > .loyseo-product-single__purchase {
	display: block;
	margin-bottom: var(--wp--preset--spacing--40);
}

.loyseo-product-single__section-content > .loyseo-product-single__purchase .loyseo-product-single__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--20);
	align-items: center;
}

.loyseo-product-single__section-content > .loyseo-product-single__purchase .loyseo-button {
	flex: 0 0 auto;
	width: auto;
	white-space: nowrap;
}

.loyseo-product-single__loyseo-purchase {
	display: inline-flex;
	flex: 0 1 auto;
	gap: var(--wp--preset--spacing--10);
	align-items: center;
	min-width: 0;
}

/*
 * The sidebar keeps its purchase price as supporting information below the
 * LOYSEO button. The download section deliberately uses the compact inline
 * treatment above, where the price is part of the purchase action itself.
 */
.loyseo-product-single__summary .loyseo-product-single__loyseo-purchase {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	width: 100%;
}

.loyseo-product-single__summary .loyseo-product-single__price {
	white-space: normal;
}

.loyseo-product-single__section-content > .loyseo-product-single__purchase .loyseo-product-single__price {
	display: inline-flex;
	gap: var(--wp--preset--spacing--10);
	align-items: center;
	flex: 0 0 auto;
	white-space: nowrap;
}

.loyseo-product-single__tutorial-grid,
.loyseo-product-single__product-grid {
	margin-top: var(--wp--preset--spacing--40);
}

.loyseo-product-single__product-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--50);
}

.loyseo-product-single__product-card {
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--border-subtle);
	border-radius: var(--wp--custom--radius--panel);
	background: var(--wp--preset--color--surface-white);
	transition: box-shadow 180ms ease;
}

.loyseo-product-single__product-card:hover,
.loyseo-product-single__product-card:focus-within {
	box-shadow: var(--wp--custom--shadow--soft-floating);
}

.loyseo-product-single__product-link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: var(--wp--preset--color--text-body) !important;
	text-decoration: none;
}

.loyseo-product-single__product-thumbnail {
	display: block;
	background: var(--wp--preset--color--surface-soft);
}

.loyseo-product-single__product-thumbnail img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.loyseo-product-single__product-content {
	display: grid;
	align-content: start;
	gap: var(--wp--preset--spacing--20);
	padding: var(--wp--preset--spacing--50);
}

.loyseo-product-single__product-title {
	color: var(--wp--preset--color--text-heading);
	font-size: var(--wp--preset--font-size--title);
	font-weight: var(--wp--custom--typography--weight--semibold);
	line-height: var(--wp--custom--typography--line-height--title);
}

.loyseo-product-single__product-link:hover .loyseo-product-single__product-title,
.loyseo-product-single__product-link:focus-visible .loyseo-product-single__product-title {
	color: var(--wp--preset--color--brand-primary);
}

.loyseo-product-single__product-price {
	font-size: var(--wp--preset--font-size--small);
	font-weight: var(--wp--custom--typography--weight--regular);
	line-height: var(--wp--custom--typography--line-height--small);
}

.loyseo-product-single__product-price-prefix {
	color: var(--wp--preset--color--text-body);
}

.loyseo-product-single__product-price strong {
	color: var(--wp--preset--color--brand-primary);
	font-weight: var(--wp--custom--typography--weight--semibold);
}

.loyseo-product-single__sidebar {
	align-content: start;
}

.loyseo-product-single__drawer-header {
	display: none;
}

.loyseo-product-single__summary {
	display: grid;
	gap: var(--wp--preset--spacing--40);
	order: 1;
}

.loyseo-product-single__sidebar .loyseo-single__toc-sidebar {
	order: 2;
}

.loyseo-product-single__cover {
	overflow: hidden;
	border-radius: var(--wp--custom--radius--panel);
	background: var(--wp--preset--color--surface-soft);
}

.loyseo-product-single__cover img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
}

.loyseo-product-single__actions {
	display: grid;
	gap: var(--wp--preset--spacing--20);
}

.loyseo-product-single__actions .loyseo-button {
	width: 100%;
}

.loyseo-product-single__button--loyseo {
	border-color: var(--wp--preset--color--orange-base);
	background: var(--wp--preset--color--orange-base);
	color: var(--wp--preset--color--text-heading) !important;
}

.loyseo-product-single__button--loyseo:hover,
.loyseo-product-single__button--loyseo:focus-visible {
	color: var(--wp--preset--color--text-heading) !important;
}

.loyseo-product-single__price {
	font-size: var(--wp--preset--font-size--small);
	line-height: var(--wp--custom--typography--line-height--small);
}

.loyseo-product-single__price span {
	color: var(--wp--preset--color--text-body);
}

.loyseo-product-single__price strong {
	color: var(--wp--preset--color--brand-primary);
	font-weight: var(--wp--custom--typography--weight--semibold);
}

@media (max-width: 900px) {
	.loyseo-product-single__layout {
		grid-template-columns: minmax(0, 1fr);
	}

	/* Product information originates in the desktop right rail, so its drawer enters from the right. */
	.loyseo-product-single__sidebar {
		left: auto;
		right: 0;
		border-right: 0;
		border-left: 1px solid var(--wp--preset--color--border-subtle);
		transform: translateX(100%);
	}

	.loyseo-product-single__drawer-header {
		display: flex;
		order: 0;
		justify-content: flex-end;
	}
}

@media (max-width: 640px) {
	.loyseo-product-single__section-content > .loyseo-product-single__purchase {
		display: block;
	}

	.loyseo-product-single__section-content > .loyseo-product-single__purchase .loyseo-product-single__actions {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: var(--wp--preset--spacing--20);
	}

	.loyseo-product-single__section-content > .loyseo-product-single__purchase .loyseo-button,
	.loyseo-product-single__loyseo-purchase {
		width: 100%;
	}

	.loyseo-product-single__loyseo-purchase {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: var(--wp--preset--spacing--10);
	}

	.loyseo-product-single__section-content > .loyseo-product-single__purchase .loyseo-product-single__price {
		min-width: 0;
		white-space: normal;
	}

	.loyseo-product-single__product-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.loyseo-product-single__product-content {
		padding: var(--wp--preset--spacing--40);
	}
}
