/* Price → just above Comprar ahora (all viewports)
   Base sheet: zuspiros-single-product + zuspiros-card-product (enqueued). */
.z-single-product .z-summary .z-card {
	display: flex !important;
	flex-direction: column !important;
}

.z-single-product .z-summary .z-card > .z-product-head { order: 1; }
.z-single-product .z-summary .z-card > .zp-buybox-trust { order: 2; }
.z-single-product .z-summary .z-card > .woocommerce-product-details__short-description { order: 3; }
.z-single-product .z-summary .z-card > .price,
.z-single-product .z-summary .z-card > .zp-price,
.z-single-product .z-summary .z-card > p.price { order: 4; }
.z-single-product .z-summary .z-card > form.cart { order: 5; }
.z-single-product .z-summary .z-card > .product_meta { order: 6; }

/* Hide mobile stickiness for summary */
@media (max-width: 768px) {
	.z-summary {
		order: 1;
		position: static !important;
		padding-bottom: calc(0.35rem + 10px);
	}

	.z-product__gallery {
		order: 2;
		position: relative;
		padding-top: calc(1.75rem + 15px);
		border-top: 0;
	}

	.z-product__gallery::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		height: 1px;
		pointer-events: none;
		background: linear-gradient(
			90deg,
			transparent 0%,
			color-mix(in srgb, var(--theme-primary, #6fb3a9) 18%, transparent) 22%,
			color-mix(in srgb, var(--theme-primary-light, #9fd4cc) 70%, #fff) 50%,
			color-mix(in srgb, var(--theme-primary, #6fb3a9) 18%, transparent) 78%,
			transparent 100%
		);
		box-shadow: 0 0 10px 1px color-mix(in srgb, var(--theme-primary, #6fb3a9) 16%, transparent);
		opacity: .85;
	}

	.z-single-product .z-product__gallery > .zpc-media {
		padding: 0 !important;
		margin: 0 !important;
		background: transparent !important;
		border: none !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		backdrop-filter: none !important;
	}

	.z-single-product .z-product__gallery > .zpc-media .zpc-media-item {
		background: transparent !important;
		box-shadow: none !important;
	}

	.z-single-product .z-product__gallery > .zpc-media .zpc-img {
		background-color: transparent !important;
	}

	.zpc-media {
		order: unset;
	}

	/* Mobile shell */
	.z-single-product {
		max-width: 100% !important;
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding: 0 !important;
		box-sizing: border-box !important;
	}

	.z-single-product .z-product-extra {
		max-width: 100% !important;
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		box-sizing: border-box;
	}

	/* Flatten cards into the page surface on mobile (no lateral card padding) */
	.z-single-product .z-summary .z-card,
	.z-single-product .z-product-extra .z-card {
		background: transparent !important;
		border: none !important;
		border-radius: 0 !important;
		box-shadow: none !important;
	}

	.z-single-product .z-summary .z-card {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.z-single-product .z-product-extra .z-card {
		padding: 0 !important;
	}

	/* Main card actions: full-width row like the fixed dock */
	.z-single-product .z-summary form.cart {
		width: 100% !important;
		max-width: none !important;
		display: flex !important;
		justify-content: stretch !important;
	}

	.z-single-product .z-summary form.cart .z-buy-now,
	.z-single-product .z-summary .z-buy-now.btn-sprinkle,
	.z-single-product .z-summary .btn-sprinkle.z-buy-now {
		flex: 1 1 auto !important;
		width: auto !important;
		max-width: none !important;
		min-width: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/* Hide default Woo "tagged_as" line only (keep categories/SKU if styled separately) */
.product_meta .tagged_as {
	display: none !important;
}

/* Hide legacy custom tags UI if any remain */
.z-tags-wrap {
	display: none !important;
}

/* "Nuevo" conversion badge */
.z-badge {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	padding: .5rem 1rem;
	border-radius: 999px;
	font-size: 1.15rem;
	font-weight: 800;
	line-height: 1;
}

.z-badge--new {
	background: linear-gradient(135deg, #ffe252 0%, #e4c67b 100%);
	color: #615602;
	position: relative;
	overflow: hidden;
	transform: none;
	font-weight: 800;
	letter-spacing: .01em;
}

@media (max-width: 767px) {
	.z-badge--new {
		transform: none !important;
		font-size: 1.2rem;
		padding: 0.55rem 1.1rem;
	}
}

/* subtle shine */
.z-badge--new::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(120deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .45) 50%, rgba(255, 255, 255, 0) 100%);
	transform: translateX(-120%);
	animation: zshine 3.2s ease-in-out 1.2s infinite;
	pointer-events: none;
}

@keyframes zshine {
	0% {
		transform: translateX(-120%);
	}

	35% {
		transform: translateX(120%);
	}

	100% {
		transform: translateX(120%);
	}
}

/* Price color (non-sale -> red already in PHP; keep primary color for amounts) */
.amount {
	color: var(--theme-primary);
	font-size: 23px;
}

/* Misc review styles kept from your setup */
@media (max-width: 768px) {
	.course-rate__details {
		margin-left: 0 !important;
	}

	.course-rate__details-row .course-rate__details-row-star {
		flex: 0 0 20px !important;
	}

	.course-rate__summary-value {
		font-size: 70px !important;
	}
}

.loading-first,
.loading-after {
	display: none !important;
}

.learnpress-course-review .course-reviews-list li,
.learnpress-course-review .course-reviews-list-shortcode li {
	margin-bottom: 20px;
	padding: 20px;
	background: linear-gradient(6deg, #f1fff4, #ffffff) !important;
	border: none !important;
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
	border-radius: 20px;
}

.review-form {
	border-radius: 20px;
}

@media(min-width: 768px) {
	.review-stars-rated .review-star {
		margin: 7px 5px !important;
		transform: scale(1.2);
	}
}

.review-form h4 {
	font-size: 22px;
	color: var(--theme-primary);
}

button.lp-button {
	height: 40px;
	border-radius: 6px;
	border: none;
	padding: 0 15px;
	background: var(--theme-primary);
	color: white;
	font-weight: 700;
	transition: all .3s ease;
}

button.lp-button:hover {
	background: var(--theme-primary-dark);
	color: white;
}

.lp-rating-reviews-wrapper h3.item-title {
	color: var(--theme-primary);
	font-size: 24px;
	font-weight: 900;
}

@media (max-width: 767px) {
	.lp-rating-reviews-wrapper h3.item-title,
	.learnpress-course-review > h3.item-title {
		font-size: 2.85rem;
		line-height: 1.2;
	}
}

.review-form .review-fields input[type=text],
textarea {
	border: solid 1px #d9d9d9;
}

.review-date {
	color: gray;
	font-style: italic;
}

.user-name {
	font-weight: 900;
}

.course-review-title {
	font-weight: 700;
	margin-bottom: 10px;
}

h5.course-review-title {
	color: var(--theme-primary);
	font-size: 15px;
}

h4.user-name {
	font-size: 13px;
	color: black;
	font-weight: 400;
	font-family: 'Kanit';
}

img.avatar.photo {
	border-radius: 50%;
}

.course-reviews-list {
	margin: 20px 0 0 0;
}

.course-review-load-more,
#course-review-load-more {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 1rem auto 1.5rem !important;
	padding: 0.65rem 1.25rem;
	border-radius: 999px;
	font-weight: 600;
}

.course-review-load-more[hidden],
#course-review-load-more[hidden],
.course-review-load-more.is-exhausted,
#course-review-load-more.is-exhausted {
	display: none !important;
}

.course-reviews,
.lp-courses-rating-reviews-ajax,
.learnpress-course-review {
	margin-bottom: 1.5rem !important;
	padding-bottom: 0.5rem;
}

.course-reviews {
	text-align: center;
}

.course-reviews .course-reviews-list {
	text-align: left;
}

@media (max-width: 767px) {
	.z-summary .z-product-title {
		margin-bottom: 0.45rem !important;
	}
}

/* Legacy .z-head-actions rules removed — badge lives in .z-head-meta now */

.related.products {
	position: relative;
	margin-top: 2.5rem;
	padding-top: calc(1.75rem + 15px);
	border-top: 0;
	color: var(--theme-primary);
	font-weight: 900;
	margin-bottom: 0 !important;
	gap: 0;
}

.related.products::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 1px;
	pointer-events: none;
	background: linear-gradient(
		90deg,
		transparent 0%,
		color-mix(in srgb, var(--theme-primary, #6fb3a9) 18%, transparent) 22%,
		color-mix(in srgb, var(--theme-primary-light, #9fd4cc) 70%, #fff) 50%,
		color-mix(in srgb, var(--theme-primary, #6fb3a9) 18%, transparent) 78%,
		transparent 100%
	);
	box-shadow: 0 0 10px 1px color-mix(in srgb, var(--theme-primary, #6fb3a9) 16%, transparent);
	opacity: .85;
}

.related.products > h2 {
	margin: 0 0 1.65rem;
}

@media (max-width: 767px) {
	.related.products {
		margin-top: calc(1.1rem + 10px);
		padding-top: calc(1.75rem + 15px);
	}

	.related.products > h2 {
		font-size: 2.85rem;
		line-height: 1.2;
		margin-bottom: 1.85rem;
	}
}

@media (max-width: 676px) {
	.related.products > h2 {
		margin-bottom: 2rem;
	}
}

.related.products ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.35rem;
	list-style: none;
	padding: 0;
	margin: 0 0 0 !important;
	width: 100%;
}

.related.products ul.products > li.product {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: .35rem !important;
	float: none !important;
	display: flex;
	justify-content: stretch;
	align-items: stretch;
}

.related.products .course-card,
.related.products ul.products > li.product > .course-card {
	border: 1px solid color-mix(in srgb, var(--theme-primary, #6fb3a9) 12%, #eee);
	border-radius: 1.8rem;
	box-shadow: 0 6px 18px rgba(40, 70, 65, 0.045);
	height: 100%;
	width: 100% !important;
	max-width: none !important;
}

.related.products .course-title,
.related.products ul.products > li.product .course-title,
.related.products ul.products > li.product .course-title a {
	font-size: 2rem !important;
	color: var(--theme-primary, #6fb3a9) !important;
	font-weight: 500 !important;
	min-height: calc(2rem * 1.3 * 2);
}

@media (max-width: 767px) {
	.related.products .course-title,
	.related.products ul.products > li.product .course-title,
	.related.products ul.products > li.product .course-title a {
		font-size: 2.2rem !important;
		color: var(--theme-primary-dark, #4a8f85) !important;
		font-weight: 500 !important;
		min-height: calc(2.2rem * 1.3 * 2);
	}
}

@media (max-width: 991px) {
	.related.products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.1rem;
	}
}

@media (max-width: 676px) {
	.related.products ul.products {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.related.products ul.products > li.product {
		padding: .15rem 0 !important;
	}
}


.course-rate {
	margin: 20px auto !important;
	max-width: min(var(--page-width, 1200px), 100%);
	width: 100%;
	box-sizing: border-box;
	padding-left: 2rem;
	padding-right: 2rem;
}

.lp-rating-reviews-wrapper > h3.item-title,
.learnpress-course-review > h3.item-title {
	max-width: min(var(--page-width, 1200px), 100%);
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
	padding-left: 2rem;
	padding-right: 2rem;
}

/* Review cards stay full-bleed — only the top rating summary uses page-width gutter */
.course-reviews,
.course-reviews-list,
.learnpress-course-review .course-reviews-list {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

.zuspiros-lp-rating-summary {
	max-width: min(var(--page-width, 1200px), 100%);
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
	padding-left: 2rem;
	padding-right: 2rem;
}
