/* 6.2 Cabeçalho do produto. Tokens da marca em common.css. */

.apw-header {
	--apw-header-gap: 14px;
	--apw-header-justify: left;
	--apw-star-size: 15px;
	--apw-star-color: var(--apw-dark);
	--apw-star-empty: var(--apw-line-strong);

	display: flex;
	flex-direction: column;
	gap: var(--apw-header-gap);
	font-family: var(--apw-font-text);
	color: var(--apw-dark);
}

.apw-header > * {
	margin: 0;
}

/* Categoria ou breadcrumb (desligado por padrão: rótulo acima do título vira ruído). */
.apw-header .apw-header__label {
	font-family: var(--apw-font-text);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--apw-muted);
	text-decoration: none;
}

.apw-header a.apw-header__label:is(:hover, :focus),
.apw-header__breadcrumb a:is(:hover, :focus) {
	color: var(--apw-dark);
}

.apw-header__breadcrumb a {
	color: inherit;
	text-decoration: none;
}

.apw-header__sep {
	margin: 0 0.5em;
}

/* Título: Playfair Display em tamanho de vitrine — o elemento que lidera o lado das informações. */
.apw-header .apw-header__title {
	font-family: var(--apw-font-heading);
	font-size: var(--apw-size-display);
	font-weight: 500;
	line-height: 1.02;
	letter-spacing: -0.02em;
	color: var(--apw-dark);
	text-wrap: balance;
	overflow-wrap: anywhere;
	/* Máscara da entrada; o respiro embaixo evita cortar descendentes (g, ç, p). */
	overflow: hidden;
	padding-bottom: 0.1em;
	margin-bottom: -0.1em;
}

.apw-header > .apw-header__title {
	animation: none;
}

.apw-header__title-text {
	display: block;
	animation: apw-mask-up 1s var(--apw-ease) 0.1s both;
}

.elementor-editor-active .apw-header__title-text {
	animation: none;
}

@media (prefers-reduced-motion: reduce) {
	.apw-header__title-text {
		animation: none;
	}
}

.apw-header .apw-header__subtitle {
	font-family: var(--apw-font-text);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.45;
	color: var(--apw-muted);
}

/* Avaliação */
.apw-header .apw-header__rating {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: var(--apw-header-justify);
	gap: 10px;
	font-size: 14px;
	font-weight: 500;
	color: var(--apw-dark);
}

.apw-header__reviews a {
	color: inherit;
	text-decoration: underline;
	text-decoration-color: var(--apw-line-strong);
	text-underline-offset: 4px;
	transition: text-decoration-color 0.2s;
}

.apw-header__reviews a:is(:hover, :focus) {
	text-decoration-color: currentColor;
}

.apw-stars {
	position: relative;
	display: inline-block;
	line-height: 0;
	white-space: nowrap;
}

.apw-stars__empty,
.apw-stars__fill {
	display: inline-flex;
	gap: 2px;
}

.apw-stars__empty {
	color: var(--apw-star-empty);
}

.apw-stars__fill {
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	color: var(--apw-star-color);
}

.apw-stars svg {
	flex: 0 0 auto;
	width: var(--apw-star-size);
	height: var(--apw-star-size);
	fill: currentColor;
}
