/**
 * Modelos course_landing + service_landing — mesma grelha (faixa escura no hero, lateral, stack).
 * service_landing: secção «Descrição» em largura total, sem fundo nem bordas (sem `<details>`).
 *
 * @package Velociraptor
 */

/* -------------------------------------------------------------------------
 * GeneratePress: sem padding-top extra no content + hero a largura real do ecrã
 * ------------------------------------------------------------------------- */
body.single-product.velociraptor-wc-product-template--course-landing .site-main,
body.single-product.velociraptor-wc-product-template--service-landing .site-main,
body.single-product.velociraptor-wc-product-template--course-landing .site-content .content-area,
body.single-product.velociraptor-wc-product-template--service-landing .site-content .content-area,
body.single-product.velociraptor-wc-product-template--course-landing .site-content .inside-article,
body.single-product.velociraptor-wc-product-template--service-landing .site-content .inside-article,
body.single-product.velociraptor-wc-product-template--course-landing .inside-article,
body.single-product.velociraptor-wc-product-template--service-landing .inside-article {
	padding-top: 0 !important;
}

/* GP Separate Containers: remove o margin: 20px que cria espaço indesejado à volta do conteúdo. */
body.single-product.velociraptor-wc-product-template--course-landing.separate-containers .site-main,
body.single-product.velociraptor-wc-product-template--service-landing.separate-containers .site-main {
	margin: 0 !important;
}

body.single-product.velociraptor-wc-product-template--course-landing .site-content .inside-article .entry-content,
body.single-product.velociraptor-wc-product-template--service-landing .site-content .inside-article .entry-content {
	padding-top: 0 !important;
	margin-top: 0;
}

/* Imagem em destaque do artigo (GP) acima do conteúdo: duplica o hero; esconder neste modelo. */
body.single-product.velociraptor-wc-product-template--course-landing .featured-image.page-header-image-single,
body.single-product.velociraptor-wc-product-template--service-landing .featured-image.page-header-image-single {
	display: none;
}

/* Breadcrumb duplicado: o hero já renderiza o seu; esconder todos fora do hero. */
body.single-product.velociraptor-wc-product-template--course-landing .woocommerce-breadcrumb,
body.single-product.velociraptor-wc-product-template--service-landing .woocommerce-breadcrumb {
	display: none;
}
body.single-product.velociraptor-wc-product-template--course-landing .vlr-wc-cl-hero .woocommerce-breadcrumb,
body.single-product.velociraptor-wc-product-template--service-landing .vlr-wc-cl-hero .woocommerce-breadcrumb {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 0.375rem;
	row-gap: 0.25rem;
}

/* Permitir que faixas full-bleed não sejam cortadas por overflow do content (quando o GP o define). */
body.single-product.velociraptor-wc-product-template--course-landing .site-content,
body.single-product.velociraptor-wc-product-template--service-landing .site-content,
body.single-product.velociraptor-wc-product-template--course-landing .site-content .content-area,
body.single-product.velociraptor-wc-product-template--service-landing .site-content .content-area,
body.single-product.velociraptor-wc-product-template--course-landing .site-content .inside-article,
body.single-product.velociraptor-wc-product-template--service-landing .site-content .inside-article {
	overflow-x: visible;
}

/*
 * Gutter horizontal único: o GeneratePress costuma aplicar padding na área do artigo;
 * `.vlr-wc-sh-page.vlr-wc-cl-page` é full width (sem max-width); padding zero; alinhamento de texto no hero continua em `.vlr-wc-cl-hero-band__inner`.
 */
body.single-product.velociraptor-wc-product-template--course-landing .site-main,
body.single-product.velociraptor-wc-product-template--service-landing .site-main,
body.single-product.velociraptor-wc-product-template--course-landing .site-content,
body.single-product.velociraptor-wc-product-template--service-landing .site-content,
body.single-product.velociraptor-wc-product-template--course-landing .site-content .content-area,
body.single-product.velociraptor-wc-product-template--service-landing .site-content .content-area,
body.single-product.velociraptor-wc-product-template--course-landing .site-content .inside-article,
body.single-product.velociraptor-wc-product-template--service-landing .site-content .inside-article,
body.single-product.velociraptor-wc-product-template--course-landing .inside-article,
body.single-product.velociraptor-wc-product-template--service-landing .inside-article,
body.single-product.velociraptor-wc-product-template--course-landing .site-content .inside-article .entry-content,
body.single-product.velociraptor-wc-product-template--service-landing .site-content .inside-article .entry-content {
	padding-inline: 0 !important;
}

/* -------------------------------------------------------------------------
 * Partilha com marketplace: grelha, sticky, coluna checkout, tabs, dock mobile
 * ------------------------------------------------------------------------- */
.single-product div.product.vlr-wc-cl-landing .vlr-wc-sh-page.vlr-wc-cl-page {
	width: 100%;
	max-width: none;
	margin-inline: 0;
	padding-block: 0;
	/* Padding lateral zerado (pedido do dono) — o conteúdo alinha ao gutter de 16px
	   do .site (grid-container), igual às categorias/loja. Mobile e desktop. */
	padding-inline: 0;
	box-sizing: border-box;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-grid {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	align-items: stretch;
	min-width: 0;
	padding-top: 0;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-grid__stack {
	display: flex;
	flex-direction: column;
	gap: 2.5rem;
	min-width: 0;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-marketplace-main-tail {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-marketplace-column-checkout {
	min-width: 0;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-marketplace-column-checkout .summary {
	float: none !important;
	width: auto !important;
	max-width: none !important;
	margin: 0;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-marketplace-checkout .price {
	font-size: clamp(1.375rem, 2vw + 0.75rem, 1.75rem);
	font-weight: 700;
	margin-bottom: 1rem;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-marketplace-checkout form.cart {
	margin-top: 0.5rem;
}

/* -------------------------------------------------------------------------
 * Quantidade estilo shadcn (− / número / +) + botão ícone (curso / serviço)
 * ------------------------------------------------------------------------- */
.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-cart-qty-bar {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 0.75rem;
	width: 100%;
	margin-bottom: 1rem;
	box-sizing: border-box;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-cart-qty-bar__grow {
	flex: 1 1 auto;
	min-width: 0;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-qty-shell {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	width: 100%;
	min-height: 2.25rem;
	border-radius: 0.5rem;
	border: 1px solid var(--vlr-sh-border, color-mix(in srgb, currentColor 14%, transparent));
	background: transparent;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
	overflow: hidden;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-qty-shell:focus-within {
	border-color: color-mix(in srgb, currentColor 28%, transparent);
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06), 0 0 0 3px color-mix(in srgb, currentColor 12%, transparent);
	outline: none;
}

/* Quantidade fixa (hidden) ou variação «vendido individualmente»: sem stepper visual. */
.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-qty-shell--stepper-off {
	display: none;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-qty-shell .quantity {
	float: none !important;
	display: flex;
	flex: 1 1 auto;
	align-items: stretch;
	margin: 0 !important;
	min-width: 0;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-qty-shell .quantity .screen-reader-text,
.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-qty-shell .quantity label.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-qty-input {
	flex: 1 1 auto;
	width: 100% !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0.375rem 0.5rem;
	border: 0 !important;
	border-radius: 0;
	box-shadow: none !important;
	background: transparent;
	text-align: center;
	font-size: 0.875rem;
	font-weight: 500;
	font-variant-numeric: tabular-nums;
	line-height: 1.35;
	color: inherit;
	outline: none;
	-moz-appearance: textfield;
	appearance: textfield;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-qty-input::-webkit-outer-spin-button,
.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-qty-input::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-qty-btn {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	min-width: 2.25rem;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0.125rem;
	background: color-mix(in srgb, currentColor 8%, transparent);
	color: color-mix(in srgb, currentColor 62%, transparent);
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-qty-btn:hover:not(:disabled) {
	background: color-mix(in srgb, currentColor 12%, transparent);
	color: inherit;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-qty-btn:focus-visible {
	outline: 2px solid color-mix(in srgb, currentColor 35%, transparent);
	outline-offset: -2px;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-qty-btn:disabled {
	opacity: 0.45;
	cursor: not-allowed;
	pointer-events: none;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-qty-btn--dec {
	margin-inline-start: 0.35rem;
	margin-block: 0.35rem;
	align-self: center;
	width: 1.375rem;
	min-width: 1.375rem;
	height: 1.375rem;
	border-radius: 0.125rem;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-qty-btn--inc {
	margin-inline-end: 0.35rem;
	margin-block: 0.35rem;
	align-self: center;
	width: 1.375rem;
	min-width: 1.375rem;
	height: 1.375rem;
	border-radius: 0.125rem;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-qty-btn__ico {
	width: 0.875rem;
	height: 0.875rem;
	display: block;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-icon-outline-btn {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	margin: 0;
	padding: 0;
	border: 1px solid var(--vlr-sh-border, color-mix(in srgb, currentColor 14%, transparent));
	border-radius: 0.375rem;
	background: transparent;
	color: inherit;
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-icon-outline-btn:hover {
	background: color-mix(in srgb, currentColor 6%, transparent);
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-icon-outline-btn:focus-visible {
	outline: 2px solid color-mix(in srgb, currentColor 35%, transparent);
	outline-offset: 2px;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-icon-outline-btn__ico {
	width: 1rem;
	height: 1rem;
	display: block;
}

/* Linha: barra de quantidade + «Adicionar ao carrinho» (simples). */
.single-product div.product.vlr-wc-cl-landing form.cart:not(.variations_form):not(.grouped_form) {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0.75rem;
}

.single-product div.product.vlr-wc-cl-landing form.cart:not(.variations_form):not(.grouped_form) .vlr-wc-cl-cart-qty-bar {
	flex: 1 1 min(100%, 16rem);
	margin-bottom: 0;
}

.single-product div.product.vlr-wc-cl-landing form.cart:not(.variations_form):not(.grouped_form) .single_add_to_cart_button {
	flex: 1 1 10rem;
	align-self: stretch;
}

@media (max-width: 480px) {
	.single-product div.product.vlr-wc-cl-landing form.cart:not(.variations_form):not(.grouped_form) .vlr-wc-cl-cart-qty-bar {
		flex: 1 1 100%;
		margin-bottom: 0.75rem;
	}
}

/* Variável: mesma linha dentro de `.variations_button`. */
.single-product div.product.vlr-wc-cl-landing .woocommerce-variation-add-to-cart.variations_button {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 0.75rem;
}

.single-product div.product.vlr-wc-cl-landing .woocommerce-variation-add-to-cart.variations_button .vlr-wc-cl-cart-qty-bar {
	flex: 1 1 min(100%, 16rem);
	margin-bottom: 0;
}

.single-product div.product.vlr-wc-cl-landing .woocommerce-variation-add-to-cart.variations_button .single_add_to_cart_button {
	flex: 1 1 10rem;
	align-self: stretch;
}

@media (max-width: 480px) {
	.single-product div.product.vlr-wc-cl-landing .woocommerce-variation-add-to-cart.variations_button .vlr-wc-cl-cart-qty-bar {
		flex: 1 1 100%;
		margin-bottom: 0.75rem;
	}
}

/* CTAs tipo Udemy (esmeralda) + foco — §5 do guia */
.single-product div.product.vlr-wc-cl-landing .vlr-wc-marketplace-checkout .single_add_to_cart_button,
.single-product div.product.vlr-wc-cl-landing .vlr-wc-marketplace-checkout button.single_add_to_cart_button.button.alt {
	background-color: var(--accent, #059669);
	border-color: var(--accent, #059669);
	color: #fff;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-marketplace-checkout .single_add_to_cart_button:hover,
.single-product div.product.vlr-wc-cl-landing .vlr-wc-marketplace-checkout button.single_add_to_cart_button.button.alt:hover {
	background-color: color-mix(in srgb, var(--accent, #059669) 82%, #000);
	border-color: color-mix(in srgb, var(--accent, #059669) 82%, #000);
	color: #fff;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-marketplace-checkout .single_add_to_cart_button:focus-visible,
.single-product div.product.vlr-wc-cl-landing .vlr-wc-marketplace-checkout button.single_add_to_cart_button.button.alt:focus-visible {
	outline: 2px solid #34d399;
	outline-offset: 2px;
}

@media (min-width: 1024px) {
	.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-grid {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, min(100%, clamp(17rem, 32vw, 24rem)));
		grid-template-rows: auto auto;
		column-gap: clamp(2rem, 2.5vw, 2.5rem);
		row-gap: 2rem;
		align-items: start;
		--vlr-wc-marketplace-sticky-top: clamp(0.75rem, 2vh, 1.25rem);
	}

	.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-grid__hero {
		grid-column: 1;
		grid-row: 1;
		min-width: 0;
	}

	.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-grid__aside {
		grid-column: 2;
		grid-row: 1 / -1;
		margin-top: clamp(1.5rem, 2.5vw, 2rem);
	}

	.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-grid__stack {
		grid-column: 1;
		grid-row: 2;
	}

	.single-product.velociraptor-sticky-header div.product.vlr-wc-cl-landing .vlr-wc-cl-grid {
		--vlr-wc-marketplace-sticky-top: clamp(5rem, 12vh, 6.5rem);
	}

	.single-product.admin-bar.velociraptor-sticky-header div.product.vlr-wc-cl-landing .vlr-wc-cl-grid {
		--vlr-wc-marketplace-sticky-top: clamp(calc(32px + 4.25rem), 14vh, calc(32px + 5.75rem));
	}

	.single-product.admin-bar:not(.velociraptor-sticky-header) div.product.vlr-wc-cl-landing .vlr-wc-cl-grid {
		--vlr-wc-marketplace-sticky-top: clamp(calc(32px + 0.5rem), 4vh, calc(32px + 1rem));
	}

	/* Igual ao marketplace: sticky sem caixa com scroll próprio (evita barra extra na sidebar). */
	.single-product div.product.vlr-wc-cl-landing .vlr-wc-marketplace-column-checkout {
		position: sticky;
		top: var(--vlr-wc-marketplace-sticky-top, 1rem);
		align-self: start;
		z-index: 2;
		max-height: none;
		overflow: visible;
		min-width: 0;
	}

	.single-product .vlr-wc-marketplace-layout--sidebar-scrolled div.product.vlr-wc-cl-landing .vlr-wc-sh-checkout-card {
		box-shadow: 0 8px 32px rgba(15, 23, 42, 0.1);
		border-color: color-mix(in srgb, currentColor 14%, transparent);
	}

	.single-product div.product.vlr-wc-cl-landing .vlr-wc-sh-main .woocommerce-tabs,
	.single-product div.product.vlr-wc-cl-landing .vlr-wc-marketplace-column-content .woocommerce-tabs,
	.single-product div.product.vlr-wc-cl-landing .vlr-wc-sh-main section.up-sells,
	.single-product div.product.vlr-wc-cl-landing .vlr-wc-marketplace-column-content section.up-sells,
	.single-product div.product.vlr-wc-cl-landing .vlr-wc-sh-main section.related,
	.single-product div.product.vlr-wc-cl-landing .vlr-wc-marketplace-column-content section.related {
		width: 100%;
		margin-top: clamp(1.5rem, 4vw, 2.5rem);
	}
}

@media (min-width: 1280px) {
	.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-grid {
		column-gap: 2.5rem;
	}
}

@media (min-width: 1024px) and (max-width: 782px) {
	.single-product.admin-bar.velociraptor-sticky-header div.product.vlr-wc-cl-landing .vlr-wc-cl-grid {
		--vlr-wc-marketplace-sticky-top: clamp(calc(46px + 4rem), 14vh, calc(46px + 5.5rem));
	}

	.single-product.admin-bar:not(.velociraptor-sticky-header) div.product.vlr-wc-cl-landing .vlr-wc-cl-grid {
		--vlr-wc-marketplace-sticky-top: clamp(calc(46px + 0.5rem), 4vh, calc(46px + 1rem));
	}
}

@media (max-width: 1023px) {
	/* Vídeo no hero (mobile); evitar galeria duplicada na sidebar — alinhar a §5 do guia. */
	.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-aside-preview-wrap {
		display: none;
	}

	.single-product div.product.vlr-wc-cl-landing .vlr-wc-marketplace-column-checkout {
		position: static;
		max-height: none;
		overflow: visible;
		padding: 0;
		border: none;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}

	body.single-product.velociraptor-wc-product-template--course-landing,
	body.single-product.velociraptor-wc-product-template--service-landing {
		--vlr-wc-marketplace-dock-h: 4.25rem;
		padding-bottom: calc(var(--vlr-wc-marketplace-dock-h) + env(safe-area-inset-bottom, 0px));
	}
}

/* Evita scroll horizontal causado pelos pseudo-elementos ::before full-bleed do
 * hero/trust (100vw inclui a scrollbar; a fórmula 2*100vw-100% sobra-estende).
 * O clip TEM de estar no <html> — no body NÃO contém o overflow do ::before
 * (mesma lição do isa-hero-band). O clip no body fica como reforço. */
html:has(.vlr-wc-cl-hero-band) {
	overflow-x: clip;
}
body.single-product.velociraptor-wc-product-template--course-landing,
body.single-product.velociraptor-wc-product-template--service-landing {
	overflow-x: clip;
}

/* Tabs: mesmo reforço que marketplace */
.single-product div.product.vlr-wc-cl-landing section#tabs .vlr-wc-sh-tabs__item:not(.active) .vlr-wc-sh-tabs__trigger {
	color: color-mix(in srgb, currentColor 62%, transparent) !important;
	border-bottom-color: transparent !important;
	box-shadow: none !important;
}

.single-product div.product.vlr-wc-cl-landing section#tabs .vlr-wc-sh-tabs__item:not(.active) .vlr-wc-sh-tabs__trigger:hover {
	color: color-mix(in srgb, currentColor 82%, transparent) !important;
	background: color-mix(in srgb, currentColor 5%, transparent) !important;
}

.single-product div.product.vlr-wc-cl-landing section#tabs .vlr-wc-sh-tabs__item.active .vlr-wc-sh-tabs__trigger {
	color: inherit !important;
}

/* Autor WC duplicado com bloco Especialista (meta) */
.single-product div.product.vlr-wc-cl-landing .vlr-wc-sh-section--author {
	display: none;
}

/* -------------------------------------------------------------------------
 * Aside: título + galeria
 * ------------------------------------------------------------------------- */
.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-aside-checkout-title {
	margin: 0;
	padding: 0.75rem 1.5rem 0.5rem;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.02em;
	border-bottom: 1px solid var(--vlr-sh-border, color-mix(in srgb, currentColor 10%, transparent));
}

/*
 * Painel unificado (replica §5): cantos superiores da mídia = cantos do cartão (rounded-xl).
 * O .vlr-wc-sh-card já tem border-radius 0.75rem; sem overflow:hidden a galeria WC desenhava imagem reta no topo.
 */
.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-aside-card {
	overflow: hidden;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-aside-preview-wrap {
	border-bottom: 1px solid var(--vlr-sh-border, color-mix(in srgb, currentColor 10%, transparent));
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-aside-preview-wrap .woocommerce-product-gallery {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0;
}

/* Sidebar de compra: cartão tipo shadcn (rounded-xl, sombra suave, tipografia do preço + resumo). */
.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-aside-card.vlr-wc-sh-checkout-card {
	box-shadow: 0 1px 3px rgba(15, 23, 42, 0.08), 0 1px 2px rgba(15, 23, 42, 0.04);
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-aside-card .woocommerce-product-details__short-description {
	margin: 0 0 1rem;
	font-size: 0.875rem;
	line-height: 1.55;
	color: color-mix(in srgb, currentColor 58%, transparent);
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-aside-card .woocommerce-product-details__short-description > *:first-child {
	margin-top: 0;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-aside-card .woocommerce-product-details__short-description > *:last-child {
	margin-bottom: 0;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-aside-card p.price,
.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-aside-card span.price {
	font-size: clamp(1.375rem, 1.1vw + 1.05rem, 1.625rem);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.02em;
	margin: 0 0 0.35rem;
	/* O WooCommerce core pinta div.product p.price com um olive #958e09 feio;
	   força o preto do tema (--contrast). Vale para o preço sem promoção (todo o
	   valor) e como base do layout de promoção (os filhos from/now/off mantêm as
	   suas próprias cores). */
	color: var(--contrast, #222);
	/* Alinha a borda esquerda do preço à do botão de compra: o botão fica recuado
	   12px dentro do form.cart (largura < form, centrado). 12px fixo por ser recuo
	   estrutural do botão; cobre tanto o preço normal como o layout de promoção. */
	padding-left: 12px;
}

/* ==========================================================================
 * Preço estilo Mercado Livre na single (card de compra) — pedido do dono.
 * Estrutura semântica vem do override woocommerce/single-product/price.php:
 * linha «De <del>antigo</del> por» + linha «<ins>atual</ins> + X% OFF».
 * Aqui só a aparência (o conteúdo/rótulos/percentual são texto real no PHP).
 * ========================================================================== */
.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-aside-card .price.vlr-price--sale {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	font-weight: 400;
	letter-spacing: normal;
}
/* Linha de cima: «De» + valor riscado + «por» — cinza, fonte pequena; só o valor risca */
.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-aside-card .price.vlr-price--sale .vlr-price__from {
	font-size: 0.9375rem;
	font-weight: 400;
	color: rgba(0, 0, 0, 0.55);
}
.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-aside-card .price.vlr-price--sale .vlr-price__from del,
.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-aside-card .price.vlr-price--sale .vlr-price__from del .woocommerce-Price-amount {
	color: inherit;
	opacity: 1;
	text-decoration: line-through;
}
/* Linha de baixo: preço atual grande + badge verde «X% OFF» ao lado */
.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-aside-card .price.vlr-price--sale .vlr-price__now {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: wrap;
}
.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-aside-card .price.vlr-price--sale .vlr-price__now ins,
.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-aside-card .price.vlr-price--sale .vlr-price__now ins .woocommerce-Price-amount {
	font-size: clamp(1.625rem, 2vw + 1rem, 1.875rem);
	font-weight: 600;
	line-height: 1.15;
	color: rgba(0, 0, 0, 0.9);
	text-decoration: none;
}
.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-aside-card .price.vlr-price--sale .vlr-price__off {
	display: inline-flex;
	align-items: center;
	background: #00a650;
	color: #fff;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.2;
	border-radius: 4px;
	padding: 2px 7px;
	white-space: nowrap;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-aside-card .woocommerce-product-rating {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 0.75rem;
	margin: 0.75rem 0 0;
	font-size: 0.875rem;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-aside-card .woocommerce-product-rating .star-rating {
	margin: 0;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-aside-card .vlr-wc-marketplace-trust {
	gap: 0.75rem;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-aside-card .vlr-wc-marketplace-trust__item {
	font-size: 0.875rem;
	line-height: 1.45;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-aside-card .vlr-wc-marketplace-trust__icon {
	margin-top: 0.125rem;
}

.single-product div.product.vlr-wc-cl-landing .vlr-wc-cl-aside-card form.cart {
	margin-top: 0.25rem;
}

/* -------------------------------------------------------------------------
 * Hero + confiança (landing)
 * ------------------------------------------------------------------------- */
.single-product .vlr-wc-cl-hero-band {
	position: relative;
	z-index: 0;
	isolation: isolate;
	box-sizing: border-box;
	width: 100%;
	border-top: 1px solid color-mix(in srgb, #fff 12%, transparent);
	border-bottom: 0;
	padding-block: 1.5rem 0.5rem;
	padding-inline: 0;
	background: transparent;
}

.single-product .vlr-wc-cl-hero-band::before {
	content: "";
	position: absolute;
	pointer-events: none;
	z-index: -10;
	inset-block: 0;
	left: 50%;
	transform: translateX(-50%);
	/* Coluna da grelha mais estreita que o viewport: 100vw centrado na coluna deixa buraco à direita. */
	width: max(100vw, calc(2 * 100vw - 100%));
	max-width: none;
	background: #18181b;
}

@supports (width: 100vi) {
	.single-product .vlr-wc-cl-hero-band::before {
		width: max(100vi, calc(2 * 100vi - 100%));
		left: 50%;
		transform: translateX(-50%);
	}
}

@media (min-width: 640px) {
	.single-product .vlr-wc-cl-hero-band {
		padding-block: 2rem 0.75rem;
	}
}

/* Conteúdo do hero: largura alinhada ao contentor da página (sem padding extra no wrapper da landing). */
.single-product .vlr-wc-cl-hero-band__inner {
	max-width: min(100%, 72rem);
	margin-inline: auto;
	padding-inline: 0;
	box-sizing: border-box;
}

.single-product .vlr-wc-cl-hero {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	color: #fafafa;
}

.single-product .vlr-wc-cl-hero nav.woocommerce-breadcrumb.vlr-wc-sh-bc-woo {
	margin: 0;
	padding: 0;
	font-size: 0.875rem;
	line-height: 1.25rem;
	font-weight: 400;
	color: rgb(255 255 255 / 0.92);
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 0.375rem;
	row-gap: 0.25rem;
}

.single-product .vlr-wc-cl-hero .woocommerce-breadcrumb a {
	color: rgb(255 255 255 / 0.58);
	text-decoration: none;
	border-radius: 0.25rem;
	transition: color 0.15s ease, background-color 0.15s ease;
}

.single-product .vlr-wc-cl-hero .woocommerce-breadcrumb a:hover {
	color: #fff;
}

.single-product .vlr-wc-cl-hero .woocommerce-breadcrumb a:focus-visible {
	outline: 2px solid rgb(255 255 255 / 0.45);
	outline-offset: 2px;
}

.single-product .vlr-wc-cl-hero .vlr-wc-sh-bc__sep {
	color: rgb(255 255 255 / 0.38);
}

.single-product .vlr-wc-cl-hero__preview-lg-hide {
	display: block;
}

@media (min-width: 1024px) {
	.single-product .vlr-wc-cl-hero__preview-lg-hide {
		display: none;
	}
}

.single-product .vlr-wc-cl-preview {
	display: block;
	width: 100%;
	min-width: 0;
	text-align: left;
	text-decoration: none;
	color: inherit;
	border-radius: 0.75rem; /* rounded-xl — alinhado ao painel da sidebar (§5 guia) */
	border: 1px solid color-mix(in srgb, #fff 14%, transparent);
	overflow: hidden;
	background: color-mix(in srgb, #fff 6%, #18181b);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

.single-product .vlr-wc-cl-preview__ratio {
	position: relative;
	display: block;
	width: 100%;
	padding-bottom: 56.25%;
}

.single-product .vlr-wc-cl-preview__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.single-product .vlr-wc-cl-preview__shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgb(0 0 0 / 0.75), rgb(0 0 0 / 0.15), transparent);
	pointer-events: none;
}

.single-product .vlr-wc-cl-preview__play {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	pointer-events: none;
}

.single-product .vlr-wc-cl-preview__play-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 999px;
	background: color-mix(in srgb, var(--wp--preset--color--base, #fff) 95%, transparent);
	color: var(--wp--preset--color--contrast, #0f172a);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

.single-product .vlr-wc-cl-preview__play-label {
	font-size: 0.875rem;
	font-weight: 600;
	color: #fff;
	text-shadow: 0 1px 4px rgb(0 0 0 / 0.6);
}

.single-product .vlr-wc-cl-hero .product_title {
	margin: 0;
	font-size: clamp(1.5rem, 2.2vw + 1rem, 2.25rem);
	line-height: 1.15;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: #fff;
}

.single-product .vlr-wc-cl-hero__lead {
	margin: 0;
	max-width: 48rem;
	font-size: clamp(1rem, 0.35vw + 0.9rem, 1.125rem);
	line-height: 1.6;
	color: rgb(255 255 255 / 0.7);
}

.single-product .vlr-wc-cl-hero__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.single-product .vlr-wc-cl-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.125rem 0.5rem;
	font-size: 0.75rem;
	font-weight: 600;
	border-radius: 0.375rem;
	white-space: nowrap;
}

.single-product .vlr-wc-cl-badge--primary {
	border: 1px solid transparent;
	background: var(--wp--preset--color--contrast, #2563eb);
	color: var(--wp--preset--color--base, #fff);
}

.single-product .vlr-wc-cl-badge--muted {
	border: 0;
	background: rgb(255 255 255 / 0.1);
	color: #fff;
}

.single-product .vlr-wc-cl-hero__meta-row {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem 1.5rem;
	font-size: 0.875rem;
	color: rgb(255 255 255 / 0.6);
}

.single-product .vlr-wc-cl-hero__meta-item {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}

.single-product .vlr-wc-cl-ico {
	flex-shrink: 0;
	width: 1rem;
	height: 1rem;
	opacity: 0.85;
}

.single-product .vlr-wc-cl-ico--shield {
	width: 1.25rem;
	height: 1.25rem;
	color: #34d399;
}

.single-product .vlr-wc-cl-ico--tick {
	width: 1rem;
	height: 1rem;
	color: inherit;
}

.single-product .vlr-wc-cl-ico--inline {
	width: 0.875rem;
	height: 0.875rem;
	vertical-align: middle;
}

/* Barra de confiança desktop */
.single-product .vlr-wc-cl-trust-lg {
	display: none;
	position: relative;
	z-index: 0;
	isolation: isolate;
	box-sizing: border-box;
	width: 100%;
	padding: 0;
	background: transparent;
	color: #d4d4d8;
}

.single-product .vlr-wc-cl-trust-lg::before {
	content: "";
	position: absolute;
	pointer-events: none;
	z-index: -10;
	inset-block: 0;
	left: 50%;
	transform: translateX(-50%);
	width: max(100vw, calc(2 * 100vw - 100%));
	max-width: none;
	background: #18181b;
}

@supports (width: 100vi) {
	.single-product .vlr-wc-cl-trust-lg::before {
		width: max(100vi, calc(2 * 100vi - 100%));
	}
}

@media (min-width: 1024px) {
	.single-product .vlr-wc-cl-trust-lg {
		display: block;
	}
}

.single-product .vlr-wc-cl-trust-lg__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	max-width: min(100%, 72rem);
	margin-inline: auto;
	padding: 0.75rem 0 1rem;
	font-size: 0.875rem;
	box-sizing: border-box;
}

.single-product .vlr-wc-cl-trust-lg__shield {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-weight: 600;
	color: #f4f4f5;
}

.single-product .vlr-wc-cl-trust-lg__sep {
	display: none;
	width: 1px;
	height: 1.5rem;
	background: rgb(255 255 255 / 0.2);
	flex-shrink: 0;
}

@media (min-width: 640px) {
	.single-product .vlr-wc-cl-trust-lg__sep {
		display: block;
	}
}

@media (min-width: 768px) {
	.single-product .vlr-wc-cl-trust-lg__sep--md {
		display: block;
	}
}

.single-product .vlr-wc-cl-trust-lg__rating {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
	min-width: 0;
}

.single-product .vlr-wc-cl-trust-lg__score {
	font-size: 1.25rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	color: #fff;
}

.single-product .vlr-wc-cl-trust-lg .star-rating {
	margin: 0;
	color: #facc15;
	float: none;
}

.single-product .vlr-wc-cl-trust-lg__reviews-link {
	font-weight: 600;
	color: rgb(255 255 255 / 0.9);
	text-decoration: underline;
	text-underline-offset: 4px;
}

.single-product .vlr-wc-cl-trust-lg__reviews-link:hover {
	color: #fff;
}

.single-product .vlr-wc-cl-trust-lg__students {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	color: #a1a1aa;
}

/* Ícone de alunos: violeta shadcn / Tailwind (violet-600). */
.single-product .vlr-wc-cl-trust-lg__students > .vlr-wc-cl-ico {
	flex-shrink: 0;
	color: #7c3aed;
}

.single-product .vlr-wc-cl-trust-lg__students-num {
	font-size: 1.125rem;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	color: #fff;
}

/* -------------------------------------------------------------------------
 * service_landing — secção «Descrição»: largura total, sem fundo nem bordas.
 * ------------------------------------------------------------------------- */
.single-product div.product.velociraptor-wc-single--service_landing.vlr-wc-cl-landing .vlr-wc-cl-section--service-desc {
	box-sizing: border-box;
	position: relative;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: inherit;
}

.single-product div.product.velociraptor-wc-single--service_landing.vlr-wc-cl-landing .vlr-wc-cl-section--service-desc .vlr-wc-cl-h2-lg {
	color: inherit;
}

.single-product div.product.velociraptor-wc-single--service_landing.vlr-wc-cl-landing .vlr-wc-cl-h2-lg--service-desc-title {
	display: block;
	line-height: 1.25;
	word-wrap: break-word;
}

.single-product div.product.velociraptor-wc-single--service_landing.vlr-wc-cl-landing .vlr-wc-cl-section--service-desc .vlr-wc-cl-desc.vlr-wc-cl-desc--visible {
	width: 100%;
	max-width: none;
	margin: 0;
	font-size: 1rem;
	line-height: 1.75;
	color: inherit;
}

/* Sem limite de largura (tema / CSS antigo com `max-width: …ch` no painel ou nos filhos). */
.single-product div.product.velociraptor-wc-single--service_landing.vlr-wc-cl-landing .vlr-wc-cl-section--service-desc .vlr-wc-cl-desc.vlr-wc-cl-desc--visible,
.single-product div.product.velociraptor-wc-single--service_landing.vlr-wc-cl-landing .vlr-wc-cl-section--service-desc .vlr-wc-cl-desc.vlr-wc-cl-desc--visible * {
	max-width: none !important;
}

.single-product div.product.velociraptor-wc-single--service_landing.vlr-wc-cl-landing .vlr-wc-cl-section--service-desc .vlr-wc-cl-desc.vlr-wc-cl-desc--visible > * + * {
	margin-top: 0.85em;
}

.single-product div.product.velociraptor-wc-single--service_landing.vlr-wc-cl-landing .vlr-wc-cl-section--service-desc .vlr-wc-cl-desc--visible img,
.single-product div.product.velociraptor-wc-single--service_landing.vlr-wc-cl-landing .vlr-wc-cl-section--service-desc .vlr-wc-cl-desc--visible iframe,
.single-product div.product.velociraptor-wc-single--service_landing.vlr-wc-cl-landing .vlr-wc-cl-section--service-desc .vlr-wc-cl-desc--visible video {
	max-width: 100% !important;
	height: auto;
}

/* Faixa resumo mobile (entre hero e compra; em lg+ usa-se só trust-lg) */
.single-product .vlr-wc-cl-trust-sm-wrap {
	display: block;
	padding-block: 0.75rem 0.25rem;
}

@media (min-width: 1024px) {
	.single-product .vlr-wc-cl-trust-sm-wrap {
		display: none;
	}
}

.single-product .vlr-wc-cl-trust-sm {
	display: block;
}

.single-product .vlr-wc-cl-trust-sm__scroll {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.5rem 0.65rem;
	overflow-x: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
	font-size: 0.75rem;
	color: color-mix(in srgb, currentColor 55%, transparent);
}

@media (min-width: 640px) {
	.single-product .vlr-wc-cl-trust-sm__scroll {
		font-size: 0.875rem;
		gap: 0.65rem 0.75rem;
	}
}

.single-product .vlr-wc-cl-trust-sm__scroll::-webkit-scrollbar {
	display: none;
}

.single-product .vlr-wc-cl-trust-sm__cluster {
	display: flex;
	align-items: center;
	gap: 0.25rem;
	flex-shrink: 0;
}

.single-product .vlr-wc-cl-trust-sm__score {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	color: inherit;
}

@media (min-width: 640px) {
	.single-product .vlr-wc-cl-trust-sm__score {
		font-size: 1.125rem;
	}
}

.single-product .vlr-wc-cl-trust-sm__text {
	flex-shrink: 0;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.single-product .vlr-wc-cl-stars--sm .star-rating {
	font-size: 0.65rem;
	margin: 0;
	float: none;
}

/* Conteúdo após hero */
.single-product .vlr-wc-cl-stack {
	display: flex;
	flex-direction: column;
	gap: clamp(2rem, 4vw, 2.5rem);
}

.single-product .vlr-wc-cl-h2 {
	margin: 0 0 0.5rem;
	font-size: 1.125rem;
	font-weight: 700;
	letter-spacing: -0.02em;
}

.single-product .vlr-wc-cl-h2-lg {
	margin: 0 0 1rem;
	font-size: clamp(1.125rem, 1.5vw + 0.75rem, 1.375rem);
	font-weight: 700;
	line-height: 1.25;
}

.single-product .vlr-wc-cl-h2-md {
	margin: 0 0 0.5rem;
	font-size: clamp(1.05rem, 1vw + 0.85rem, 1.25rem);
	font-weight: 700;
}

.single-product .vlr-wc-cl-section {
	margin: 0;
}

.single-product .vlr-wc-cl-learn-grid {
	display: grid;
	gap: 0.75rem;
	padding: 1rem;
	border-radius: 0.5rem;
	border: 1px solid var(--vlr-sh-border, color-mix(in srgb, currentColor 10%, transparent));
}

@media (min-width: 640px) {
	.single-product .vlr-wc-cl-learn-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.5rem 2rem;
	}
}

.single-product .vlr-wc-cl-learn-item {
	display: flex;
	gap: 0.5rem;
	font-size: 0.875rem;
	line-height: 1.55;
}

.single-product .vlr-wc-cl-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.single-product .vlr-wc-cl-tag {
	display: inline-flex;
	align-items: center;
	padding: 0.375rem 0.75rem;
	font-size: 0.875rem;
	font-weight: 400;
	border-radius: 0.375rem;
	text-decoration: none;
	color: inherit;
	background: color-mix(in srgb, currentColor 8%, transparent);
	border: 1px solid transparent;
	transition: background 0.15s ease;
}

.single-product .vlr-wc-cl-tag:hover {
	background: color-mix(in srgb, currentColor 14%, transparent);
}

.single-product .vlr-wc-cl-includes-cols {
	display: grid;
	gap: 1.5rem;
	padding: 1rem;
	border-radius: 0.5rem;
	border: 1px solid var(--vlr-sh-border, color-mix(in srgb, currentColor 10%, transparent));
	background: color-mix(in srgb, var(--wp--preset--color--base, #fff) 98%, var(--wp--preset--color--contrast, #0f172a) 2%);
}

@media (min-width: 640px) {
	.single-product .vlr-wc-cl-includes-cols {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: 2rem;
		row-gap: 0.5rem;
	}
}

.single-product .vlr-wc-cl-include-item {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	font-size: 0.875rem;
	line-height: 1.55;
}

.single-product .vlr-wc-cl-include-item__icon {
	flex-shrink: 0;
	margin-top: 0.125rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: color-mix(in srgb, currentColor 52%, transparent);
}

.single-product .vlr-wc-cl-include-item__text {
	min-width: 0;
}

.single-product .vlr-wc-cl-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	font-size: 0.875rem;
	line-height: 1.45;
}

.single-product .vlr-wc-cl-curr-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	font-size: 0.875rem;
}

.single-product .vlr-wc-cl-muted {
	color: color-mix(in srgb, currentColor 55%, transparent);
}

.single-product .vlr-wc-cl-link {
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 4px;
	color: inherit;
}

.single-product .vlr-wc-cl-req {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	font-size: 0.875rem;
	color: color-mix(in srgb, currentColor 58%, transparent);
}

.single-product .vlr-wc-cl-req li {
	display: flex;
	gap: 0.5rem;
	align-items: flex-start;
}

.single-product .vlr-wc-cl-req__dot {
	margin-top: 0.35rem;
	width: 0.375rem;
	height: 0.375rem;
	border-radius: 999px;
	background: currentColor;
	flex-shrink: 0;
}

.single-product .vlr-wc-cl-desc {
	font-size: 0.875rem;
	line-height: 1.65;
	color: color-mix(in srgb, currentColor 58%, transparent);
}

.single-product .vlr-wc-cl-desc > *:first-child {
	margin-top: 0;
}

.single-product .vlr-wc-cl-instructor__card {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	padding: 1rem 1.125rem;
	border-radius: 0.5rem;
	border: 1px solid var(--vlr-sh-border, color-mix(in srgb, currentColor 10%, transparent));
	box-shadow: none;
	background: transparent;
}

.single-product .vlr-wc-cl-instructor__name {
	margin: 0;
	font-size: clamp(1rem, 0.5vw + 0.9rem, 1.125rem);
	font-weight: 700;
}

.single-product .vlr-wc-cl-instructor__headline {
	margin: 0;
	font-size: 0.875rem;
	color: color-mix(in srgb, currentColor 58%, transparent);
	line-height: 1.35;
}

.single-product .vlr-wc-cl-instructor__row {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

@media (min-width: 640px) {
	.single-product .vlr-wc-cl-instructor__row {
		flex-direction: row;
		align-items: flex-start;
	}
}

.single-product .vlr-wc-cl-instructor__photo {
	width: 6rem;
	height: 6rem;
	border-radius: 0.375rem;
	object-fit: cover;
	flex-shrink: 0;
}

@media (min-width: 640px) {
	.single-product .vlr-wc-cl-instructor__photo {
		width: 7rem;
		height: 7rem;
	}
}

.single-product .vlr-wc-cl-instructor__bio {
	flex: 1;
	min-width: 0;
	font-size: 0.875rem;
	line-height: 1.55;
	color: color-mix(in srgb, currentColor 58%, transparent);
}

/* Reviews section (delegado ao template reviews) — reutiliza blocos do single-product.css com seletor landing */
.single-product div.product.vlr-wc-cl-landing .vlr-wc-sh-reviews {
	margin-top: 0;
}

/* Acordeão “Conteúdo do curso” + colapsáveis (referência Udemy) */
.single-product .vlr-wc-cl-curr-head--summary {
	margin-bottom: 0.75rem;
}

.single-product .vlr-wc-cl-curr-acc {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	border-radius: 0.5rem;
	border: 1px solid var(--vlr-sh-border, color-mix(in srgb, currentColor 10%, transparent));
	overflow: hidden;
}

.single-product .vlr-wc-cl-curr-acc__section {
	border-bottom: 1px solid var(--vlr-sh-border, color-mix(in srgb, currentColor 8%, transparent));
}

.single-product .vlr-wc-cl-curr-acc__section:last-child {
	border-bottom: 0;
}

.single-product .vlr-wc-cl-curr-acc__summary {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem;
	padding: 0.85rem 1rem;
	cursor: pointer;
	font-size: 0.9375rem;
	list-style: none;
}

.single-product .vlr-wc-cl-curr-acc__summary::-webkit-details-marker {
	display: none;
}

.single-product .vlr-wc-cl-curr-acc__summary-text {
	display: flex;
	flex: 1 1 auto;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.35rem 1rem;
	min-width: 0;
}

.single-product .vlr-wc-cl-curr-acc__summary-title {
	font-weight: 600;
	min-width: 0;
}

.single-product .vlr-wc-cl-curr-acc__summary-meta {
	font-size: 0.8125rem;
	font-weight: 500;
	color: color-mix(in srgb, currentColor 52%, transparent);
}

.single-product .vlr-wc-cl-curr-acc__summary-chev {
	flex-shrink: 0;
	margin-top: 0.15rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: color-mix(in srgb, currentColor 48%, transparent);
	transition: transform 0.2s ease;
}

.single-product .vlr-wc-cl-curr-acc__section[open] > .vlr-wc-cl-curr-acc__summary .vlr-wc-cl-curr-acc__summary-chev {
	transform: rotate(180deg);
}

.single-product .vlr-wc-cl-curr-acc__lessons {
	list-style: none;
	margin: 0;
	padding: 0;
	border-top: 1px solid var(--vlr-sh-border, color-mix(in srgb, currentColor 8%, transparent));
	display: flex;
	flex-direction: column;
	font-size: 0.875rem;
}

.single-product .vlr-wc-cl-curr-acc__lesson {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.75rem;
	padding: 0.65rem 1rem;
	border-bottom: 1px solid var(--vlr-sh-border, color-mix(in srgb, currentColor 8%, transparent));
	color: color-mix(in srgb, currentColor 58%, transparent);
}

.single-product .vlr-wc-cl-curr-acc__lesson:last-child {
	border-bottom: 0;
}

.single-product .vlr-wc-cl-curr-acc__lesson-icon {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: color-mix(in srgb, currentColor 48%, transparent);
}

.single-product .vlr-wc-cl-curr-acc__lesson-title {
	flex: 1 1 10rem;
	min-width: 0;
	font-weight: 500;
	color: color-mix(in srgb, currentColor 72%, transparent);
}

.single-product .vlr-wc-cl-curr-acc__preview {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast, #2563eb);
	white-space: nowrap;
}

.single-product .vlr-wc-cl-curr-acc__preview-ico {
	flex-shrink: 0;
	opacity: 0.95;
}

.single-product .vlr-wc-cl-curr-acc__dur {
	margin-left: auto;
	font-size: 0.8125rem;
	font-variant-numeric: tabular-nums;
	color: color-mix(in srgb, currentColor 48%, transparent);
	white-space: nowrap;
}

.single-product .vlr-wc-cl-curr-foot {
	margin: 0.75rem 0 0;
	font-size: 0.875rem;
}

.single-product .vlr-wc-cl-details {
	border-radius: 0.5rem;
	border: 1px solid var(--vlr-sh-border, color-mix(in srgb, currentColor 10%, transparent));
	padding: 0;
	background: color-mix(in srgb, currentColor 3%, transparent);
}

.single-product .vlr-wc-cl-details__summary {
	padding: 0.75rem 1rem;
	cursor: pointer;
	font-weight: 600;
	font-size: 0.875rem;
	list-style: none;
}

.single-product .vlr-wc-cl-details__summary::-webkit-details-marker {
	display: none;
}

.single-product .vlr-wc-cl-details__summary:focus-visible,
.single-product .vlr-wc-cl-curr-acc__summary:focus-visible {
	outline: 2px solid color-mix(in srgb, var(--wp--preset--color--contrast, #2563eb) 70%, transparent);
	outline-offset: 2px;
	border-radius: 0.25rem;
}

.single-product .vlr-wc-cl-details .vlr-wc-cl-desc,
.single-product .vlr-wc-cl-details .vlr-wc-cl-instructor__bio {
	padding: 0 1rem 1rem;
	border-top: 1px solid var(--vlr-sh-border, color-mix(in srgb, currentColor 8%, transparent));
}

.single-product .vlr-wc-cl-details--bio {
	border: 0;
	background: transparent;
	padding: 0;
}

.single-product .vlr-wc-cl-details--bio .vlr-wc-cl-details__summary {
	padding: 0.25rem 0;
}

.single-product .vlr-wc-cl-details--bio .vlr-wc-cl-instructor__bio {
	padding: 0.5rem 0 0;
	border-top: 0;
}

/* Upsells em carrossel horizontal (paridade com relacionados) */
.single-product div.product.vlr-wc-cl-landing section.up-sells .products {
	display: flex;
	gap: 1rem;
	overflow-x: auto;
	padding-bottom: 0.35rem;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
}

.single-product div.product.vlr-wc-cl-landing section.up-sells .product {
	flex: 0 0 13rem;
	scroll-snap-align: start;
	max-width: 13rem;
}
