/* I keep the base styles minimal on purpose; each project builds on top of this file. */

:root {
	--fcs-max-width: 72rem;
	--cor-primaria: #a787a3;
	--cor-rosa: #ecc6c0;
	--cor-creme: #fff5de;
	--cor-texto: #696969;
	--cor-texto-suave: #707070;
	--cor-titulos-tom: #8e9193;
	--cor-cinza-claro: #d6d7d9;
	--cor-cinza-medio: #a4a7a9;
	--cor-footer: #483846;
	--cor-card: #fffcf4;
	--fonte-titulos: "HV Simplicite", serif;
	--fonte-titulos-alt: "HV Simplicite Alternative", serif;
	--fonte-corpo: "Nunito", sans-serif;
}

body {
	margin: 0;
	/* Fase de validação pixel perfect: o canvas desktop é fixo a 1920. */
	min-width: 1920px;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.site-header,
.site-content,
.site-footer {
	margin-inline: auto;
	max-width: var(--fcs-max-width);
	padding-inline: 1rem;
}

.screen-reader-text {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal;
}

/* =========================================================
   Tipos de letra
   A HV Simplicite é a fonte licenciada dos títulos; a Nunito
   é a variável do Google Fonts (um ficheiro cobre 300-700).
   ========================================================= */

@font-face {
	font-family: "HV Simplicite";
	src: url("../fonts/hv-simplicite.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "HV Simplicite";
	src: url("../fonts/hv-simplicite-italic.woff2") format("woff2");
	font-weight: 400;
	font-style: italic;
	font-display: swap;
}

@font-face {
	font-family: "HV Simplicite Alternative";
	src: url("../fonts/hv-simplicite-alt.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Nunito";
	src: url("../fonts/nunito.woff2") format("woff2");
	font-weight: 300 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Nunito";
	src: url("../fonts/nunito-italic.woff2") format("woff2");
	font-weight: 300 700;
	font-style: italic;
	font-display: swap;
}

/* =========================================================
   Página de terapia (hard coded, pixel perfect a 1920px)
   Medidas exatas do Figma; o conteúdo vive num contentor de
   1400px (margens de 260px a 1920) com filhos posicionados.
   ========================================================= */

/* A textura de papel repete sobre base branca; o tile @1x é 1920x1080. */
.pagina-com-textura {
	background-color: #ffffff;
	background-image: url("../img/terapia/fundo-textura.png");
	background-repeat: repeat;
	background-size: 1920px 1080px;
	background-position: left top;
}

.pagina-com-textura .site-content,
.pagina-log-in .site-content {
	max-width: none;
	padding-inline: 0;
}

.seccao-inner {
	position: relative;
	width: 1400px;
	margin: 0 auto;
}

.botao-principal {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 251px;
	height: 61px;
	background: var(--cor-primaria);
	border: none;
	border-radius: 12px;
	cursor: pointer;
	color: #ffffff;
	font: 600 18px/36px var(--fonte-corpo);
	letter-spacing: 0;
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.botao-principal:hover {
	background: var(--cor-rosa);
	color: #ffffff;
}

.terapia-hero,
.terapia-sobre-consulta,
.terapia-como-funciona,
.seccao-testemunhos,
.terapia-sobre-leonardo,
.terapia-citacao,
.terapia-sobre-astrologia {
	position: relative;
}

.terapia-hero p,
.terapia-hero h1,
.terapia-sobre-consulta p,
.terapia-sobre-consulta h2,
.terapia-como-funciona p,
.terapia-como-funciona h2,
.terapia-como-funciona h3,
.seccao-testemunhos p,
.terapia-sobre-leonardo p,
.terapia-sobre-leonardo h2,
.terapia-citacao p,
.terapia-sobre-astrologia p {
	margin: 0;
}

/* ---------------------------------------------------------
   Hero
   --------------------------------------------------------- */

.terapia-hero {
	height: 974px;
}

.terapia-hero__conteudo {
	position: absolute;
	left: 0;
	top: 151px;
	width: 602px;
	height: 596px;
}

.terapia-hero__titulo {
	position: absolute;
	left: 0;
	top: 0;
	width: 602px;
	font: 400 92px/96px var(--fonte-titulos-alt);
	letter-spacing: 0;
	color: var(--cor-primaria);
}

.terapia-hero__subtitulo {
	position: absolute;
	left: 0;
	top: 165px;
	width: 373px;
	font: italic 500 24px/96px var(--fonte-corpo);
	color: var(--cor-titulos-tom);
}

.terapia-hero__meta {
	position: absolute;
	left: 0;
	top: 273px;
	display: flex;
	align-items: center;
	width: 554px;
	height: 71px;
	box-sizing: border-box;
	border-top: 1px solid var(--cor-cinza-claro);
	border-bottom: 1px solid var(--cor-cinza-claro);
}

.terapia-hero__meta-icone {
	width: 32px;
	height: 32px;
}

.terapia-hero__meta-texto {
	margin-left: 12px;
	font: 600 26px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.terapia-hero__meta-item--formato {
	margin-left: 36px;
}

.terapia-hero__meta-item {
	display: inline-flex;
	align-items: center;
}

.terapia-hero__paragrafo {
	position: absolute;
	left: 0;
	top: 370px;
	width: 554px;
	font: 400 26px/40px var(--fonte-corpo);
	color: var(--cor-texto);
}

.terapia-hero__botao {
	position: absolute;
	left: 0;
	top: 535px;
}

.terapia-hero__simbolo-pequeno {
	position: absolute;
	left: 453px;
	top: 540px;
	width: 8px;
	height: 8px;
}

.terapia-hero__imagens {
	position: absolute;
	left: 623px;
	top: 70px;
	width: 777px;
	height: 844px;
}

.terapia-hero__imagem {
	position: absolute;
	right: 0;
	top: 0;
	width: 627px;
	height: 775px;
	border-radius: 25px;
	object-fit: cover;
}

.terapia-hero__simbolo-flor {
	position: absolute;
	left: -1px;
	top: 543px;
	width: 301px;
	height: 301px;
}

/* ---------------------------------------------------------
   Sobre a Consulta
   --------------------------------------------------------- */

.terapia-sobre-consulta {
	height: 968px;
}

.terapia-sobre-consulta__petala {
	position: absolute;
	left: 0;
	top: 205px;
	width: 339px;
	height: 413px;
	border-radius: 25px;
	object-fit: cover;
}

.terapia-sobre-consulta__titulo {
	position: absolute;
	left: 399px;
	top: 203px;
	width: 602px;
	font: 400 78px/86px var(--fonte-titulos);
	letter-spacing: 0;
	color: var(--cor-primaria);
}

.terapia-sobre-consulta__texto {
	position: absolute;
	left: 501px;
	top: 446px;
	width: 479px;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.terapia-sobre-consulta__veu {
	position: absolute;
	left: 1083px;
	top: 534px;
	width: 317px;
	height: 434px;
	border-radius: 25px;
	object-fit: cover;
}

/* ---------------------------------------------------------
   Como Funciona
   --------------------------------------------------------- */

.terapia-como-funciona {
	height: 1166px;
	margin-top: 96px;
}

.terapia-como-funciona__titulo {
	position: absolute;
	left: 0;
	top: 0;
	font: 400 78px/96px var(--fonte-titulos);
	letter-spacing: 0;
	color: var(--cor-primaria);
	white-space: nowrap;
}

/* Os separadores de 1544px começam 75px à esquerda da grelha de 1400px, tal como no design. */
.terapia-como-funciona__item {
	position: absolute;
	left: -75px;
	width: 1544px;
	border-top: 1px solid var(--cor-cinza-claro);
}

.terapia-como-funciona__item--1 {
	top: 145px;
}

.terapia-como-funciona__item--2 {
	top: 403px;
}

.terapia-como-funciona__item--3 {
	top: 861px;
}

.terapia-como-funciona__item-titulo {
	position: absolute;
	left: 75px;
	width: 588px;
	font: 500 22px/96px var(--fonte-corpo);
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--cor-texto);
}

.terapia-como-funciona__item--1 .terapia-como-funciona__item-titulo {
	top: 36px;
}

.terapia-como-funciona__item--2 .terapia-como-funciona__item-titulo {
	top: 16px;
}

.terapia-como-funciona__item--3 .terapia-como-funciona__item-titulo {
	top: 17px;
}

.terapia-como-funciona__item-texto {
	position: absolute;
	left: 775px;
	width: 700px;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.terapia-como-funciona__item--1 .terapia-como-funciona__item-texto {
	top: 67px;
}

.terapia-como-funciona__item--2 .terapia-como-funciona__item-texto {
	top: 47px;
}

.terapia-como-funciona__item--3 .terapia-como-funciona__item-texto {
	top: 48px;
}

/* A linha em branco entre os dois parágrafos do item 2 mede exatamente uma linha (36px). */
.terapia-como-funciona__item-texto p + p {
	margin-top: 36px;
}

/* No design o lado esquerdo do botão assenta no centro da página (x=960), não está centrado. */
.terapia-como-funciona__botao {
	position: absolute;
	left: 700px;
	top: 1105px;
}

/* ---------------------------------------------------------
   Testemunhos
   --------------------------------------------------------- */

.seccao-testemunhos {
	background-size: cover;
	background-position: center;
}

/* Cada página define a altura, o espaçamento e a fotografia de fundo num modificador próprio. */
.seccao-testemunhos--terapia {
	height: 858px;
	margin-top: 140px;
	background-image: url("../img/terapia/testemunhos-fundo.png");
}

.seccao-testemunhos .seccao-inner {
	height: 100%;
}

.seccao-testemunhos__card {
	position: absolute;
	left: -1px;
	top: 162px;
	width: 440px;
	height: 500px;
	background: var(--cor-card);
	border-radius: 20px;
}

.seccao-testemunhos__foto {
	position: absolute;
	left: 43px;
	top: 46px;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	object-fit: cover;
}

.seccao-testemunhos__nome {
	position: absolute;
	left: 118px;
	top: 43px;
	font: 600 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
	white-space: nowrap;
}

.seccao-testemunhos__data {
	position: absolute;
	left: 118px;
	top: 78px;
	font: 500 15px/22px var(--fonte-corpo);
	color: var(--cor-titulos-tom);
	white-space: nowrap;
}

.seccao-testemunhos__google {
	position: absolute;
	left: 276px;
	top: 79px;
	width: 75.41px;
	height: 23.72px;
}

.seccao-testemunhos__estrelas {
	position: absolute;
	left: 43px;
	top: 133px;
	width: 93.73px;
	height: 17.47px;
}

.seccao-testemunhos__texto {
	position: absolute;
	left: 43px;
	top: 164px;
	width: 354px;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto-suave);
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 8;
}

.seccao-testemunhos__paginacao {
	position: absolute;
	left: 157px;
	top: 692px;
	display: flex;
	gap: 12px;
}

.seccao-testemunhos__dot {
	width: 22px;
	height: 22px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: #ffffff;
	cursor: pointer;
}

.seccao-testemunhos__dot.ativo {
	background: var(--cor-rosa);
}

.seccao-testemunhos__avaliacoes {
	position: absolute;
	left: 959px;
	top: 476px;
	width: 440px;
	height: 186px;
	background: var(--cor-card);
	border-radius: 14px;
}

.seccao-testemunhos__rating {
	position: absolute;
	left: 42px;
	top: 33px;
	font: 600 26px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.seccao-testemunhos__avaliacoes-estrelas {
	position: absolute;
	left: 89px;
	top: 39px;
	width: 106.75px;
	height: 22px;
}

.seccao-testemunhos__avaliacoes-texto {
	position: absolute;
	left: 205px;
	top: 39px;
	font: 500 18px/26px var(--fonte-corpo);
	color: var(--cor-titulos-tom);
	white-space: nowrap;
}

.seccao-testemunhos__avaliacoes-google {
	position: absolute;
	left: 331px;
	top: 43px;
	width: 66px;
	height: 20.76px;
}

.seccao-testemunhos__avaliacoes-botao {
	position: absolute;
	left: 43px;
	top: 83px;
	width: 355px;
}

/* ---------------------------------------------------------
   Sobre Leonardo
   --------------------------------------------------------- */

.terapia-sobre-leonardo {
	height: 953px;
	margin-top: 130px;
}

.terapia-sobre-leonardo__titulo {
	position: absolute;
	left: 0;
	top: 0;
	font: 400 78px/96px var(--fonte-titulos);
	letter-spacing: 0;
	color: var(--cor-primaria);
}

.terapia-sobre-leonardo__bio {
	position: absolute;
	left: 0;
	top: 244px;
	width: 515px;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto-suave);
}

.terapia-sobre-leonardo__botao {
	position: absolute;
	left: 0;
	top: 892px;
}

.terapia-sobre-leonardo__media {
	position: absolute;
	left: 700px;
	top: 9px;
	width: 700px;
	height: 762px;
}

.terapia-sobre-leonardo__foto {
	width: 700px;
	height: 762px;
	border-radius: 25px;
	object-fit: cover;
	display: block;
}

/* O centro do selo assenta na aresta esquerda da foto, centrado na vertical. */
.terapia-sobre-leonardo__selo {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 263px;
	height: 261px;
}

/* ---------------------------------------------------------
   Citação
   --------------------------------------------------------- */

.terapia-citacao {
	height: 233px;
	margin-top: 141px;
	text-align: center;
}

.terapia-citacao__figura,
.terapia-citacao blockquote {
	margin: 0;
}

/* Especificidade reforçada de propósito: o reset ".terapia-citacao p" anularia o margin auto. */
.terapia-citacao p.terapia-citacao__texto {
	width: 1055px;
	margin: 0 auto;
	font: 500 42px/52px var(--fonte-corpo);
	letter-spacing: 0;
	color: var(--cor-primaria);
}

/* O line-height de 96px reproduz a caixa do Figma; o espaço visual até à citação é ~17px. */
.terapia-citacao__assinatura {
	margin-top: -19px;
	font: italic 500 24px/96px var(--fonte-corpo);
	color: var(--cor-titulos-tom);
}

/* ---------------------------------------------------------
   Sobre a Astrologia
   --------------------------------------------------------- */

.terapia-sobre-astrologia {
	height: 985px;
	margin-top: 47px;
	margin-bottom: 127px;
}

.terapia-sobre-astrologia__imagem {
	position: absolute;
	left: 479px;
	top: 99px;
	width: 921px;
	height: 247px;
	border-radius: 16px;
	object-fit: cover;
}

.terapia-sobre-astrologia__col {
	position: absolute;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto-suave);
}

.terapia-sobre-astrologia__col--1 {
	left: 0;
	top: 170px;
	width: 399px;
}

.terapia-sobre-astrologia__col--2 {
	left: 479px;
	top: 413px;
	width: 420px;
}

.terapia-sobre-astrologia__col--3 {
	left: 980px;
	top: 481px;
	width: 420px;
}

/* =========================================================
   Lista de Actividades (2 estados) e Formulário de Inscrição
   Medidas exatas do Figma; mesma grelha de 1400px.
   ========================================================= */

.actividades-hero,
.actividades-lista,
.proximas-actividades,
.inscricao-intro,
.seccao-formulario {
	position: relative;
}

.actividades-hero p,
.actividades-hero h1,
.actividades-lista p,
.actividades-lista h2,
.proximas-actividades p,
.proximas-actividades h2,
.proximas-actividades h3,
.inscricao-intro p,
.inscricao-intro h1 {
	margin: 0;
}

/* ---------------------------------------------------------
   secção Hero (Actividades)
   --------------------------------------------------------- */

.actividades-hero {
	height: 468px;
}

.actividades-hero__titulo {
	position: absolute;
	left: 0;
	top: 153px;
	width: 602px;
	font: 400 92px/96px var(--fonte-titulos-alt);
	letter-spacing: 0;
	color: var(--cor-primaria);
}

.actividades-hero__paragrafo {
	position: absolute;
	left: 757px;
	top: 175px;
	width: 643px;
	font: 400 26px/36px var(--fonte-corpo);
	color: #2b2b2b;
}

/* ---------------------------------------------------------
   Card de actividade — componente partilhado pelas secções
   Actividades e Próximas Actividades (e mais tarde pelo CPT)
   --------------------------------------------------------- */

.card-actividade {
	position: absolute;
	width: 643px;
}

.card-actividade__imagem {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 279px;
	border-radius: 26px;
	object-fit: cover;
}

.card-actividade__titulo {
	position: absolute;
	left: 0;
	top: 298px;
	margin: 0;
	font: 500 30px/96px var(--fonte-corpo);
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--cor-primaria);
	white-space: nowrap;
}

.card-actividade__formador {
	position: absolute;
	left: 0;
	top: 367px;
	margin: 0;
	font: italic 400 18px/36px var(--fonte-corpo);
	color: var(--cor-texto-suave);
}

.card-actividade__meta {
	position: absolute;
	left: 0;
	top: 409px;
	display: flex;
	align-items: center;
	height: 36px;
	margin: 0;
	padding: 0;
	list-style: none;
	font: 600 18px/36px var(--fonte-corpo);
	color: var(--cor-texto-suave);
}

.card-actividade__meta-item {
	display: inline-flex;
	align-items: center;
}

.card-actividade__meta-icone {
	width: 22px;
	height: 22px;
	margin-right: 14px;
}

/* A caixa da data tem largura fixa no componente Figma (113px). */
.card-actividade__meta-item--data span {
	width: 113px;
}

.card-actividade__meta-item--formato {
	margin-left: 22px;
}

.card-actividade__meta-item--formato .card-actividade__meta-icone {
	margin-right: 12px;
}

.card-actividade__excerto {
	position: absolute;
	left: 0;
	top: 462px;
	width: 643px;
	margin: 0;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
	overflow: hidden;
}

/* O link fecha o card ancorado ao fundo, como no Figma. */
.card-actividade__saber-mais {
	position: absolute;
	left: 0;
	bottom: 6px;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font: 600 18px/36px var(--fonte-corpo);
	letter-spacing: 0;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--cor-primaria);
}

.card-actividade__saber-mais img {
	width: 19px;
	height: 10px;
}

/* ---------------------------------------------------------
   secção Actividades
   --------------------------------------------------------- */

.actividades-lista {
	height: 890px;
}

.actividades-lista .card-actividade--astrologia {
	left: 0;
	top: 0;
	height: 650px;
}

.actividades-lista .card-actividade--tarot {
	left: 757px;
	top: 122px;
	height: 686px;
}

/* ---------------------------------------------------------
   secção Próximas Actividades (com card e estado vazio)
   --------------------------------------------------------- */

/* O fundo próprio é um véu branco a 40% sobre a textura global. */
.proximas-actividades {
	height: 1073px;
	background-color: rgba(255, 255, 255, 0.4);
}

.proximas-actividades__titulo {
	position: absolute;
	left: 0;
	top: 114px;
	font: 400 52px/52px var(--fonte-titulos);
	letter-spacing: 0;
	color: var(--cor-primaria);
	white-space: nowrap;
}

.proximas-actividades .card-actividade--palestra {
	left: 0;
	top: 255px;
	width: 645px;
	height: 650px;
}

.proximas-actividades .card-actividade--palestra .card-actividade__excerto {
	width: 537px;
}

/* A imagem da Palestra foi exportada com raio de 19px, não os 26px dos outros cards. */
.proximas-actividades .card-actividade--palestra .card-actividade__imagem {
	border-radius: 19px;
}

.proximas-actividades__simbolo {
	position: absolute;
	right: 0;
	top: 639px;
	width: 301px;
	height: 301px;
}

.proximas-actividades__mensagem {
	position: absolute;
	left: 0;
	top: 255px;
	width: 643px;
	margin: 0;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.proximas-actividades__mensagem a {
	color: var(--cor-primaria);
	text-decoration: underline;
	text-decoration-skip-ink: none;
}

/* ---------------------------------------------------------
   Formulário de Inscrição — secção Intro
   --------------------------------------------------------- */

.inscricao-intro {
	height: 485px;
	text-align: center;
}

.inscricao-intro__titulo {
	position: absolute;
	left: 50%;
	top: 126px;
	transform: translateX(-50%);
	width: 848px;
	font: 400 78px/96px var(--fonte-titulos);
	letter-spacing: 0;
	color: var(--cor-primaria);
}

.inscricao-intro__subtitulo {
	position: absolute;
	left: 50%;
	top: 368px;
	transform: translateX(-50%);
	width: 744px;
	font: 400 26px/36px var(--fonte-corpo);
	color: #2b2b2b;
}

/* ---------------------------------------------------------
   Formulário de Inscrição — secção Formulário
   --------------------------------------------------------- */

.seccao-formulario {
	height: 511px;
	margin-top: 84px;
}

/* O bloco do Figma fica a x=393 (não alinha com a grelha nem está centrado puro). */
.seccao-formulario__form {
	position: absolute;
	left: 133px;
	top: 0;
	width: 1155px;
}

.seccao-formulario__grelha {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	column-gap: 79px;
	row-gap: 47px;
}

.seccao-formulario__campo {
	margin: 0;
}

.seccao-formulario__campo--mensagem {
	grid-column: 1 / -1;
}

.seccao-formulario__campo input,
.seccao-formulario__campo textarea {
	display: block;
	width: 100%;
	height: 38px;
	padding: 0;
	background: transparent;
	border: none;
	border-bottom: 1px solid var(--cor-texto-suave);
	border-radius: 0;
	box-sizing: content-box;
	font: 500 18px/26px var(--fonte-corpo);
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--cor-primaria);
}

.seccao-formulario__campo input:focus,
.seccao-formulario__campo textarea:focus {
	outline: none;
	border-bottom-color: var(--cor-primaria);
}

.seccao-formulario__campo input::placeholder,
.seccao-formulario__campo textarea::placeholder {
	color: var(--cor-titulos-tom);
	opacity: 1;
}

/* No Figma o texto do campo Curso está 8px acima dos restantes, com a linha alinhada. */
.seccao-formulario__campo--curso input {
	height: 46px;
	margin-top: -8px;
}

.seccao-formulario__campo textarea {
	height: 218px;
	resize: none;
}

.seccao-formulario__rodape {
	display: flex;
	align-items: center;
	gap: 25px;
	margin-top: 59px;
}

.seccao-formulario__optin {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font: 400 18px/36px var(--fonte-corpo);
	color: var(--cor-titulos-tom);
}

.seccao-formulario__optin a {
	color: inherit;
	text-decoration: underline;
}

/* O render do Figma não pinta borda no checkbox; fica branco sobre o creme, fiel ao design. */
.seccao-formulario__optin-caixa {
	appearance: none;
	width: 20px;
	height: 20px;
	margin: 0;
	background: #ffffff;
	border: none;
	border-radius: 5px;
	cursor: pointer;
}

.seccao-formulario__optin-caixa:checked {
	background: var(--cor-primaria);
}

/* =========================================================
   Páginas de curso (template partilhado pelas 5 páginas)
   Medidas exatas do Figma da página canónica de Astrologia.
   ========================================================= */

.curso-hero,
.curso-sobre,
.curso-tabs-anos,
.curso-como-funciona,
.curso-estrutura,
.curso-panorama,
.curso-sobre-leonardo {
	position: relative;
}

.curso-hero p,
.curso-hero h1,
.curso-sobre p,
.curso-sobre h2,
.curso-sidebar p,
.curso-sidebar h3,
.curso-como-funciona p,
.curso-como-funciona h2,
.curso-estrutura p,
.curso-estrutura h3,
.curso-panorama p,
.curso-sobre-leonardo p,
.curso-sobre-leonardo h2 {
	margin: 0;
}

/* ---------------------------------------------------------
   secção Hero (curso)
   --------------------------------------------------------- */

.curso-hero {
	height: 974px;
}

.curso-hero__conteudo {
	position: absolute;
	left: 0;
	top: 118px;
	width: 602px;
	height: 730px;
}

.curso-hero__titulo {
	position: absolute;
	left: 0;
	top: 0;
	width: 602px;
	font: 400 92px/96px var(--fonte-titulos-alt);
	letter-spacing: 0;
	color: var(--cor-primaria);
}

.curso-hero__subtitulo {
	position: absolute;
	left: 0;
	top: 170px;
	width: 373px;
	font: 500 24px/96px var(--fonte-corpo);
	color: var(--cor-primaria);
}

/* Ao contrário da terapia, a meta empilha dois itens na vertical entre os separadores. */
.curso-hero__meta {
	position: absolute;
	left: 0;
	top: 280px;
	width: 554px;
	height: 141px;
	box-sizing: border-box;
	border-top: 1px solid var(--cor-cinza-claro);
	border-bottom: 1px solid var(--cor-cinza-claro);
}

.curso-hero__meta-icone {
	position: absolute;
	left: 0;
	width: 30px;
	height: 30px;
}

.curso-hero__meta-item--data .curso-hero__meta-icone {
	top: 19px;
}

.curso-hero__meta-item--formato .curso-hero__meta-icone {
	top: 64px;
}

.curso-hero__meta-texto {
	position: absolute;
	left: 44px;
	width: 510px;
	font: 600 26px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.curso-hero__meta-item--data .curso-hero__meta-texto {
	top: 18px;
}

.curso-hero__meta-item--formato .curso-hero__meta-texto {
	top: 54px;
}

.curso-hero__paragrafo {
	position: absolute;
	left: 0;
	top: 441px;
	width: 554px;
	font: 400 26px/40px var(--fonte-corpo);
	color: var(--cor-texto);
}

.curso-hero__botao {
	position: absolute;
	left: 0;
	top: 669px;
}

.curso-hero__simbolo-pequeno {
	position: absolute;
	left: 453px;
	top: 573px;
	width: 8px;
	height: 8px;
}

.curso-hero__imagens {
	position: absolute;
	left: 773px;
	top: 70px;
	width: 781px;
	height: 844px;
}

.curso-hero__imagem {
	position: absolute;
	left: 0;
	top: 0;
	width: 627px;
	height: 775px;
	border-radius: 25px;
	object-fit: cover;
}

/* No curso a flor assenta no canto inferior direito da imagem. */
.curso-hero__simbolo-flor {
	position: absolute;
	left: 479.5px;
	top: 543px;
	width: 301px;
	height: 301px;
}

/* ---------------------------------------------------------
   secção Sobre o Curso + Sidebar
   --------------------------------------------------------- */

.curso-sobre {
	height: 765px;
	margin-top: 156px;
}

.curso-sobre__titulo {
	position: absolute;
	left: 0;
	top: 0;
	font: 400 78px/96px var(--fonte-titulos);
	letter-spacing: 0;
	color: var(--cor-primaria);
	white-space: nowrap;
}

.curso-sobre__texto {
	position: absolute;
	width: 453px;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.curso-sobre__texto--esquerda {
	left: 0;
	top: 149px;
}

.curso-sobre__texto--direita {
	left: 530px;
	top: 436px;
}

.curso-sobre__imagem {
	position: absolute;
	left: 530px;
	top: 134px;
	width: 453px;
	height: 249px;
	border-radius: 30px;
	object-fit: cover;
}

/* O sidebar é sticky do topo da secção Sobre o Curso até ao fim do Sobre Leonardo;
   a coluna absoluta define o percurso e a faixa Como Funciona passa-lhe por cima. */
.curso-corpo {
	position: relative;
}

.curso-sidebar-coluna {
	position: absolute;
	left: calc(50% + 387px);
	top: 107px;
	bottom: 0;
	width: 362px;
	z-index: 1;
}

.curso-sidebar {
	position: sticky;
	top: 100px;
	width: 362px;
	height: 785px;
}

.curso-como-funciona {
	z-index: 2;
}

.curso-sidebar__titulo {
	position: absolute;
	left: 0;
	font: 600 22px/30px var(--fonte-corpo);
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--cor-primaria);
}

.curso-sidebar__valor {
	position: absolute;
	left: 43px;
	width: 274px;
	font: 500 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.curso-sidebar__icone {
	position: absolute;
	left: 0;
}

.curso-sidebar__titulo--data { top: 0; }
.curso-sidebar__valor--data { top: 40px; }
.curso-sidebar__icone--calendario { top: 42px; width: 32px; height: 32px; }

.curso-sidebar__titulo--horario { top: 113px; }
.curso-sidebar__valor--horario { top: 151px; }
.curso-sidebar__icone--relogio { top: 155px; width: 32px; height: 32px; }

.curso-sidebar__titulo--duracao { top: 261px; }
.curso-sidebar__valor--duracao { top: 299px; }

.curso-sidebar__titulo--local { top: 370px; }
.curso-sidebar__valor--local-presencial { top: 408px; }
.curso-sidebar__icone--pin { top: 412px; left: 9px; width: 15px; height: 32px; }
.curso-sidebar__valor--local-online { top: 481px; }
.curso-sidebar__icone--camera { top: 489px; width: 32px; height: 21px; }

.curso-sidebar__titulo--facilitador { top: 589px; }
.curso-sidebar__valor--facilitador { top: 627px; }
.curso-sidebar__icone--facilitador { top: 631px; width: 32px; height: 32px; }

.curso-sidebar__botao {
	position: absolute;
	left: 0;
	top: 724px;
}

/* ---------------------------------------------------------
   secção Tabs Anos
   --------------------------------------------------------- */

.curso-tabs-anos {
	height: 153px;
	margin-top: 102px;
}

.curso-tabs-anos__linha {
	position: absolute;
	left: 0.5px;
	top: 11.75px;
	width: 983px;
	height: 1.5px;
	background: var(--cor-primaria);
}

.curso-tabs-anos__lista {
	position: absolute;
	left: 20px;
	top: 0;
	display: flex;
	gap: 21px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.curso-tabs-anos__tab {
	position: relative;
	width: 220px;
	height: 153px;
	padding: 0;
	background: none;
	border: none;
	cursor: pointer;
	text-align: center;
}

.curso-tabs-anos__circulo {
	position: absolute;
	left: 98px;
	top: 0;
	width: 25px;
	height: 25px;
	border-radius: 50%;
	background: var(--cor-rosa);
}

.curso-tabs-anos__rotulo {
	position: absolute;
	left: 0;
	top: 24px;
	width: 220px;
	font: 600 22px/96px var(--fonte-corpo);
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--cor-primaria);
	white-space: nowrap;
}

/* ---------------------------------------------------------
   Accordion Como Funciona
   --------------------------------------------------------- */

.curso-como-funciona {
	margin-top: 75px;
	padding: 110px 0 130px;
	background-image: url("../img/cursos/curso-accordion-fundo.png");
	background-size: cover;
	background-position: center;
}

/* Especificidade reforçada: o reset ".curso-como-funciona h2" anularia a margem. */
.curso-como-funciona h2.curso-como-funciona__titulo {
	margin: 0 0 66px;
	font: 400 78px/96px var(--fonte-titulos);
	letter-spacing: 0;
	color: #ffffff;
}

.curso-como-funciona-item {
	position: relative;
	width: 983px;
	background: #ffffff;
	border-radius: 30px;
	box-sizing: border-box;
}

.curso-como-funciona-item + .curso-como-funciona-item {
	margin-top: 18px;
}

.curso-como-funciona-item.aberto {
	height: 779px;
	overflow: hidden;
}

.curso-como-funciona-cabecalho {
	display: block;
	width: 100%;
	height: 104px;
	padding: 0 47px;
	background: none;
	border: none;
	cursor: pointer;
	text-align: left;
	box-sizing: border-box;
	position: relative;
}

.curso-como-funciona-item.aberto .curso-como-funciona-cabecalho {
	height: 94px;
}

/* O Figma trunca este rótulo aos 653px com reticências; reproduzo o render. */
.curso-como-funciona-item-titulo {
	position: absolute;
	left: 47px;
	top: 3px;
	max-width: 653px;
	font: 500 22px/96px var(--fonte-corpo);
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--cor-primaria);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.curso-como-funciona-icone {
	position: absolute;
	right: 47px;
}

.curso-como-funciona-icone--menos {
	top: 50px;
	width: 24px;
	height: 3px;
	display: none;
}

.curso-como-funciona-icone--mais {
	top: 40px;
	width: 24px;
	height: 24px;
}

.curso-como-funciona-item.aberto .curso-como-funciona-icone--menos {
	display: block;
}

.curso-como-funciona-item.aberto .curso-como-funciona-icone--mais {
	display: none;
}

.curso-como-funciona-painel {
	padding: 0 47px 37px;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.curso-como-funciona-painel p + p {
	margin-top: 36px;
}

/* ---------------------------------------------------------
   Estrutura do curso (título + tabs + painéis)
   --------------------------------------------------------- */

.curso-estrutura-curso-titulo {
	margin: 121px 0 0;
	font: 400 78px/96px var(--fonte-titulos);
	letter-spacing: 0;
	color: var(--cor-primaria);
	white-space: nowrap;
}

.curso-estrutura {
	margin-top: 28px;
	height: 1603px;
}

.curso-estrutura__linha-tabs {
	position: absolute;
	left: -72px;
	top: 88px;
	width: 1105px;
	height: 1px;
	background: #f0f0f0;
}

.curso-estrutura-tab {
	position: absolute;
	top: 0;
	padding: 0;
	background: none;
	border: none;
	cursor: pointer;
	font: 500 22px/96px var(--fonte-corpo);
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--cor-primaria);
	white-space: nowrap;
}

.curso-estrutura-tab--proxima { left: 0; }
.curso-estrutura-tab--ano-1 { left: 260px; }
.curso-estrutura-tab--ano-2 { left: 408px; }
.curso-estrutura-tab--ano-3 { left: 556px; }
.curso-estrutura-tab--ano-4 { left: 704px; }

/* O indicador do tab ativo é uma barra rosa de 3px sobre a linha. */
.curso-estrutura-tab::after {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 87px;
	width: 144px;
	height: 3px;
	background: transparent;
}

.curso-estrutura-tab--proxima::after {
	width: 190px;
}

.curso-estrutura-tab.ativo::after {
	background: var(--cor-rosa);
}

.curso-estrutura-painel {
	position: absolute;
	left: 0;
	top: 0;
	width: 1400px;
	height: 100%;
}

/* O Figma renderiza este título de uma linha com line-height 96; o do programa usa 42. */
.curso-estrutura__painel-titulo {
	position: absolute;
	left: 3px;
	top: 125px;
	font: 500 32px/96px var(--fonte-corpo);
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--cor-texto);
	white-space: nowrap;
}

.curso-estrutura__rotulo {
	position: absolute;
	left: 3px;
	width: 307px;
	font: 600 22px/32px var(--fonte-corpo);
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--cor-texto);
}

.curso-estrutura__texto {
	position: absolute;
	left: 354px;
	width: 629px;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.curso-estrutura__texto p + p {
	margin-top: 36px;
}

.curso-estrutura__separador {
	position: absolute;
	left: -72px;
	width: 1105px;
	height: 1px;
	background: #f0f0f0;
}

/* Painel Próxima edição — posições exatas do Figma. */
.curso-estrutura__rotulo--pe-1 { top: 273px; }
.curso-estrutura__texto--pe-1 { top: 271px; }
.curso-estrutura__separador--pe-1 { top: 572px; }
.curso-estrutura__rotulo--pe-2 { top: 621px; }
.curso-estrutura__texto--pe-2 { top: 619px; }
.curso-estrutura__separador--pe-2 { top: 1206px; }
.curso-estrutura__rotulo--pe-3 { top: 1256px; }
.curso-estrutura__texto--pe-3 { top: 1254px; }

/* Painel do programa de um ano (1º ano nesta página) — offsets do topo da zona. */
.curso-estrutura__painel-titulo--programa { top: 148px; width: 980px; white-space: normal; line-height: 42px; }
.curso-estrutura__subtopicos {
	margin: 0;
	padding: 0;
	list-style: none;
}

.curso-estrutura__subtopicos ol {
	margin: 0;
	padding-left: 24px;
	list-style: none;
}

/* ---------------------------------------------------------
   Bloco panorâmico (origem da Astrologia)
   --------------------------------------------------------- */

.curso-panorama {
	height: 1267.5px;
}

.curso-panorama__imagem {
	position: absolute;
	left: 0;
	top: 0;
	width: 983px;
	height: 264px;
	border-radius: 16px;
	object-fit: cover;
}

.curso-panorama__coluna {
	position: absolute;
	width: 453px;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.curso-panorama__coluna p + p {
	margin-top: 36px;
}

.curso-panorama__coluna--esquerda {
	left: 0;
	top: 357px;
}

.curso-panorama__coluna--direita {
	left: 530px;
	top: 436px;
}

/* ---------------------------------------------------------
   Sobre Leonardo (versão curso)
   --------------------------------------------------------- */

.curso-sobre-leonardo {
	height: 866px;
	margin-top: 110px;
}

.curso-sobre-leonardo__titulo {
	position: absolute;
	left: 0;
	top: 0;
	font: 400 78px/96px var(--fonte-titulos);
	letter-spacing: 0;
	color: var(--cor-primaria);
}

.curso-sobre-leonardo__bio {
	position: absolute;
	left: 0;
	top: 214px;
	width: 453px;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.curso-sobre-leonardo__media {
	position: absolute;
	left: 532px;
	top: 131px;
	width: 451px;
	height: 620px;
}

.curso-sobre-leonardo__foto {
	width: 451px;
	height: 620px;
	border-radius: 25px;
	object-fit: cover;
	display: block;
}

/* O selo sai 79px para fora da aresta esquerda e 61px abaixo da base da foto. */
.curso-sobre-leonardo__selo {
	position: absolute;
	left: -79px;
	top: 498px;
	width: 184px;
	height: 183px;
}

/* ---------------------------------------------------------
   Testemunhos (modificador do curso)
   --------------------------------------------------------- */

.seccao-testemunhos--curso {
	height: 792px;
	margin-top: 114px;
	margin-bottom: 127px;
	background-image: url("../img/cursos/curso-testemunhos-fundo.png");
}

.seccao-testemunhos--curso .seccao-testemunhos__card {
	left: 0;
	top: 119px;
}

.seccao-testemunhos--curso .seccao-testemunhos__paginacao {
	left: 158px;
	top: 649px;
}

.seccao-testemunhos--curso .seccao-testemunhos__avaliacoes {
	left: 960px;
	top: 433px;
}

/* Painel do programa de ano (1º Ano nesta página) — offsets exatos do Figma.
   A altura da secção acompanha o painel ativo via JS (data-altura). */
.curso-estrutura__rotulo--p1 { top: 273px; }
.curso-estrutura__separador--p1 { top: 445px; }
.curso-estrutura__rotulo--p2 { top: 518px; }
.curso-estrutura__separador--p2 { top: 620px; }
.curso-estrutura__rotulo--p3 { top: 694px; }
.curso-estrutura__texto--p3 { top: 692px; }
.curso-estrutura__separador--p3 { top: 901px; }
.curso-estrutura__rotulo--p4 { top: 975px; }
.curso-estrutura__texto--p4 { top: 973px; }
.curso-estrutura__separador--p4 { top: 1404px; }
.curso-estrutura__rotulo--p5 { top: 1478px; }
.curso-estrutura__texto--p5 { top: 1476px; }
.curso-estrutura__separador--p5 { top: 1763px; }
.curso-estrutura__rotulo--p6 { top: 1837px; }
.curso-estrutura__texto--p6 { top: 1835px; }
.curso-estrutura__separador--p6 { top: 2014px; }
.curso-estrutura__rotulo--p7 { top: 2088px; }
.curso-estrutura__separador--p7 { top: 2258px; }
.curso-estrutura__rotulo--p8 { top: 2332px; }
.curso-estrutura__separador--p8 { top: 2469px; }
.curso-estrutura__rotulo--nota { top: 2543px; }
.curso-estrutura__texto--nota { top: 2541px; }

/* O título dos painéis de programa não usa maiúsculas no Figma. */
.curso-estrutura__painel-titulo--programa {
	text-transform: none;
}

.curso-estrutura__subtopicos ol ol {
	padding-left: 50px;
}

/* =========================================================
   Deltas por página de curso (a canónica é a de Astrologia
   – Próxima Edição + 1º Ano; cada página só define o que muda)
   ========================================================= */

/* --------- Astrologia – 2º + 3º Ano e 4º Ano --------- */

.pagina-curso-astro-23 .curso-como-funciona,
.pagina-curso-astro-4 .curso-como-funciona {
	margin-top: 106px;
}

.pagina-curso-astro-23 .curso-sobre-leonardo__bio,
.pagina-curso-astro-4 .curso-sobre-leonardo__bio,
.pagina-curso-tarot-1 .curso-sobre-leonardo__bio,
.pagina-curso-tarot-2 .curso-sobre-leonardo__bio {
	top: 244px;
}

.pagina-curso-astro-23 .curso-sobre-leonardo,
.pagina-curso-astro-4 .curso-sobre-leonardo,
.pagina-curso-tarot-1 .curso-sobre-leonardo {
	height: 896px;
}

.pagina-curso-astro-23 .curso-estrutura { height: 1989px; }
.pagina-curso-astro-23 .seccao-testemunhos--curso { margin-top: 130px; }

/* Programa do 2º Ano — offsets exatos do Figma. */
.pagina-curso-astro-23 .curso-estrutura__rotulo--p1 { top: 273px; }
.pagina-curso-astro-23 .curso-estrutura__texto--p1 { top: 271px; }
.pagina-curso-astro-23 .curso-estrutura__separador--p1 { top: 751px; }
.pagina-curso-astro-23 .curso-estrutura__rotulo--p2 { top: 801px; }
.pagina-curso-astro-23 .curso-estrutura__texto--p2 { top: 799px; }
.pagina-curso-astro-23 .curso-estrutura__separador--p2 { top: 1062px; }
.pagina-curso-astro-23 .curso-estrutura__rotulo--p3 { top: 1112px; }
.pagina-curso-astro-23 .curso-estrutura__texto--p3 { top: 1110px; }
.pagina-curso-astro-23 .curso-estrutura__separador--p3 { top: 1517px; }
.pagina-curso-astro-23 .curso-estrutura__rotulo--p4 { top: 1567px; }
.pagina-curso-astro-23 .curso-estrutura__texto--p4 { top: 1565px; }
.pagina-curso-astro-23 .curso-estrutura__separador--p4 { top: 1713px; }
.pagina-curso-astro-23 .curso-estrutura__rotulo--p5 { top: 1763px; }

.pagina-curso-astro-4 .curso-estrutura { height: 4257px; }
.pagina-curso-astro-4 .seccao-testemunhos--curso { margin-top: 126px; }

/* Programa do 4º Ano — offsets exatos do Figma. */
.pagina-curso-astro-4 .curso-estrutura__rotulo--p1 { top: 311px; }
.pagina-curso-astro-4 .curso-estrutura__texto--p1 { top: 309px; }
.pagina-curso-astro-4 .curso-estrutura__separador--p1 { top: 1796px; }
.pagina-curso-astro-4 .curso-estrutura__rotulo--p2 { top: 1846px; }
.pagina-curso-astro-4 .curso-estrutura__texto--p2 { top: 1844px; }
.pagina-curso-astro-4 .curso-estrutura__separador--p2 { top: 3081px; }
.pagina-curso-astro-4 .curso-estrutura__rotulo--p3 { top: 3131px; }
.pagina-curso-astro-4 .curso-estrutura__texto--p3 { top: 3129px; }
.pagina-curso-astro-4 .curso-estrutura__separador--p3 { top: 3682px; }
.pagina-curso-astro-4 .curso-estrutura__rotulo--p4 { top: 3732px; }
.pagina-curso-astro-4 .curso-estrutura__texto--p4 { top: 3730px; }

/* --------- Tarot (comum às duas páginas) --------- */

.pagina-curso-tarot-1 .curso-hero__subtitulo,
.pagina-curso-tarot-2 .curso-hero__subtitulo {
	top: 77px;
}

.pagina-curso-tarot-1 .curso-hero__meta,
.pagina-curso-tarot-2 .curso-hero__meta {
	top: 187px;
}

.pagina-curso-tarot-1 .curso-hero__paragrafo,
.pagina-curso-tarot-2 .curso-hero__paragrafo {
	top: 348px;
}

.pagina-curso-tarot-1 .curso-hero__botao,
.pagina-curso-tarot-2 .curso-hero__botao {
	top: 658px;
}

.pagina-curso-tarot-1 .curso-tabs-anos__lista,
.pagina-curso-tarot-2 .curso-tabs-anos__lista {
	left: 233px;
	gap: 78px;
}

.pagina-curso-tarot-1 .curso-como-funciona,
.pagina-curso-tarot-2 .curso-como-funciona {
	background-image: url("../img/cursos/curso-tarot-1-accordion-fundo.png");
}

.pagina-curso-tarot-1 .curso-como-funciona-item.aberto,
.pagina-curso-tarot-2 .curso-como-funciona-item.aberto {
	height: 1104px;
}

.pagina-curso-tarot-1 .curso-como-funciona-item + .curso-como-funciona-item,
.pagina-curso-tarot-2 .curso-como-funciona-item + .curso-como-funciona-item {
	margin-top: 44px;
}

/* Os rótulos da tabela do Tarot usam line-height 96 no Figma. */
.pagina-curso-tarot-1 .curso-estrutura__rotulo {
	line-height: 96px;
}

/* --------- Tarot – Próxima Edição + 1º Ano --------- */

.pagina-curso-tarot-1 .curso-sobre {
	height: 441px;
	margin-top: 156px;
}

.pagina-curso-tarot-1 .curso-sobre__imagem { top: 64px; }
.pagina-curso-tarot-1 .curso-tabs-anos { margin-top: 106px; }
.pagina-curso-tarot-1 .curso-estrutura { height: 1989px; }
.pagina-curso-tarot-1 .curso-panorama { height: 1195.5px; }
.pagina-curso-tarot-1 .curso-sobre-leonardo { margin-top: 142.5px; }
.pagina-curso-tarot-1 .seccao-testemunhos--curso { margin-top: 123.5px; }

/* Tabela da Próxima Edição do Tarot — offsets exatos do Figma. */
.pagina-curso-tarot-1 .curso-estrutura__rotulo--t1 { top: 115px; }
.pagina-curso-tarot-1 .curso-estrutura__texto--t1 { top: 145px; }
.pagina-curso-tarot-1 .curso-estrutura__separador--t1 { top: 223px; }
.pagina-curso-tarot-1 .curso-estrutura__rotulo--t2 { top: 240px; }
.pagina-curso-tarot-1 .curso-estrutura__texto--t2 { top: 270px; }
.pagina-curso-tarot-1 .curso-estrutura__separador--t2 { top: 398px; }
.pagina-curso-tarot-1 .curso-estrutura__rotulo--t3 { top: 447px; }
.pagina-curso-tarot-1 .curso-estrutura__texto--t3 { top: 445px; }
.pagina-curso-tarot-1 .curso-estrutura__separador--t3 { top: 1214px; }
.pagina-curso-tarot-1 .curso-estrutura__rotulo--t4 { top: 1232px; }
.pagina-curso-tarot-1 .curso-estrutura__texto--t4 { top: 1262px; font-weight: 600; }

/* --------- Tarot – 2º Ano --------- */

.pagina-curso-tarot-2 .curso-sobre {
	height: 441px;
	margin-top: 156px;
}

.pagina-curso-tarot-2 .curso-tabs-anos { margin-top: 106px; }
.pagina-curso-tarot-2 .curso-estrutura { height: 3625px; }
.pagina-curso-tarot-2 .curso-sobre-leonardo { height: 751px; margin-top: 110px; }
.pagina-curso-tarot-2 .seccao-testemunhos--curso { margin-top: 218px; }

/* No Tarot 2º o selo sobrepõe o fim da primeira linha do título. */
.pagina-curso-tarot-2 .curso-sobre-leonardo__selo {
	left: -105px;
	top: -211px;
	width: 211px;
	height: 209px;
}

/* Programa do Tarot (1º Ano – Avançado) — offsets exatos do Figma. */
.pagina-curso-tarot-2 .curso-estrutura__painel-titulo--programa { line-height: 42px; text-transform: uppercase; }
.pagina-curso-tarot-2 .curso-estrutura__rotulo--p1 { top: 222px; }
.pagina-curso-tarot-2 .curso-estrutura__texto--p1 { top: 220px; }
.pagina-curso-tarot-2 .curso-estrutura__separador--p1 { top: 448px; }
.pagina-curso-tarot-2 .curso-estrutura__rotulo--p2 { top: 498px; }
.pagina-curso-tarot-2 .curso-estrutura__texto--p2 { top: 496px; }
.pagina-curso-tarot-2 .curso-estrutura__separador--p2 { top: 688px; }
.pagina-curso-tarot-2 .curso-estrutura__rotulo--p3 { top: 738px; }
.pagina-curso-tarot-2 .curso-estrutura__texto--p3 { top: 736px; }
.pagina-curso-tarot-2 .curso-estrutura__separador--p3 { top: 1467px; }
.pagina-curso-tarot-2 .curso-estrutura__rotulo--p4 { top: 1517px; }
.pagina-curso-tarot-2 .curso-estrutura__texto--p4 { top: 1515px; }
.pagina-curso-tarot-2 .curso-estrutura__separador--p4 { top: 1958px; }
.pagina-curso-tarot-2 .curso-estrutura__rotulo--p5 { top: 2008px; }
.pagina-curso-tarot-2 .curso-estrutura__texto--p5 { top: 2006px; }
.pagina-curso-tarot-2 .curso-estrutura__separador--p5 { top: 2486px; }
.pagina-curso-tarot-2 .curso-estrutura__rotulo--p6 { top: 2536px; }
.pagina-curso-tarot-2 .curso-estrutura__texto--p6 { top: 2534px; }
.pagina-curso-tarot-2 .curso-estrutura__separador--p6 { top: 2797px; }
.pagina-curso-tarot-2 .curso-estrutura__rotulo--p7 { top: 2847px; }
.pagina-curso-tarot-2 .curso-estrutura__texto--p7 { top: 2845px; }
.pagina-curso-tarot-2 .curso-estrutura__separador--p7 { top: 3327px; }
.pagina-curso-tarot-2 .curso-estrutura__rotulo--p8 { top: 3377px; }

/* Offsets internos do sidebar do Tarot (valores mais longos; altura 942). */
.pagina-curso-tarot-1 .curso-sidebar,
.pagina-curso-tarot-2 .curso-sidebar {
	height: 942px;
}

.pagina-curso-tarot-1 .curso-sidebar__valor--data,
.pagina-curso-tarot-2 .curso-sidebar__valor--data { top: 73px; }
.pagina-curso-tarot-1 .curso-sidebar__icone--calendario,
.pagina-curso-tarot-2 .curso-sidebar__icone--calendario { top: 75px; }
.pagina-curso-tarot-1 .curso-sidebar__valor--horario,
.pagina-curso-tarot-2 .curso-sidebar__valor--horario { top: 184px; }
.pagina-curso-tarot-1 .curso-sidebar__icone--relogio,
.pagina-curso-tarot-2 .curso-sidebar__icone--relogio { top: 188px; }
.pagina-curso-tarot-1 .curso-sidebar__titulo--duracao,
.pagina-curso-tarot-2 .curso-sidebar__titulo--duracao { top: 297px; }
.pagina-curso-tarot-1 .curso-sidebar__valor--duracao,
.pagina-curso-tarot-2 .curso-sidebar__valor--duracao { top: 368px; }
.pagina-curso-tarot-1 .curso-sidebar__titulo--local,
.pagina-curso-tarot-2 .curso-sidebar__titulo--local { top: 494px; }
.pagina-curso-tarot-1 .curso-sidebar__valor--local-presencial,
.pagina-curso-tarot-2 .curso-sidebar__valor--local-presencial { top: 565px; }
.pagina-curso-tarot-1 .curso-sidebar__icone--pin,
.pagina-curso-tarot-2 .curso-sidebar__icone--pin { top: 569px; }
.pagina-curso-tarot-1 .curso-sidebar__valor--local-online,
.pagina-curso-tarot-2 .curso-sidebar__valor--local-online { top: 638px; }
.pagina-curso-tarot-1 .curso-sidebar__icone--camera,
.pagina-curso-tarot-2 .curso-sidebar__icone--camera { top: 646px; }
.pagina-curso-tarot-1 .curso-sidebar__titulo--facilitador,
.pagina-curso-tarot-2 .curso-sidebar__titulo--facilitador { top: 713px; }
.pagina-curso-tarot-1 .curso-sidebar__valor--facilitador,
.pagina-curso-tarot-2 .curso-sidebar__valor--facilitador { top: 784px; }
.pagina-curso-tarot-1 .curso-sidebar__icone--facilitador,
.pagina-curso-tarot-2 .curso-sidebar__icone--facilitador { top: 788px; }
.pagina-curso-tarot-1 .curso-sidebar__botao,
.pagina-curso-tarot-2 .curso-sidebar__botao { top: 881px; }

/* =========================================================
   Site Principal — FAQ, Contactos, Informação Legal e Blog
   ========================================================= */

/* Hero só-título, partilhado pelas 4 páginas (78px ou 92px conforme o Figma). */
.seccao-hero {
	box-sizing: border-box;
	text-align: center;
}

.seccao-hero__titulo {
	margin: 0;
	font: 400 92px/96px var(--fonte-titulos);
	letter-spacing: 0;
	color: var(--cor-primaria);
}

.seccao-hero--faq,
.seccao-hero--informacao-legal {
	height: 331px;
	padding-top: 126px;
}

.seccao-hero--faq .seccao-hero__titulo,
.seccao-hero--informacao-legal .seccao-hero__titulo {
	font-size: 78px;
}

.seccao-hero--contactos {
	height: 359px;
	padding-top: 133px;
}

.seccao-hero--blog {
	height: 365px;
	padding-top: 125px;
}

/* Menu lateral partilhado (FAQ e Informação Legal). */
.menu-lateral {
	position: absolute;
	left: 2px;
	top: 4px;
	width: 338px;
}

.menu-lateral ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.menu-lateral li + li {
	margin-top: 20px;
}

.menu-lateral a {
	font: 600 22px/32px var(--fonte-corpo);
	letter-spacing: 0;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--cor-texto);
}

.menu-lateral a.ativo {
	color: var(--cor-primaria);
}

/* ---------------------------------------------------------
   FAQ — accordion sobre o fundo claro
   --------------------------------------------------------- */

.faq-conteudo {
	position: relative;
	height: 1458px;
}

.accordion-faq {
	position: absolute;
	left: 433.5px;
	top: 0;
	width: 967px;
}

.accordion-faq-item {
	position: relative;
	border-bottom: 1px solid var(--cor-cinza-claro);
	padding: 48.5px 0 43px;
}

.accordion-faq-item:first-child {
	padding-top: 0;
}

.accordion-faq-item.aberto {
	padding-bottom: 47.5px;
}

.accordion-faq-cabecalho {
	display: block;
	width: 100%;
	padding: 0;
	background: none;
	border: none;
	cursor: pointer;
	text-align: left;
}

.accordion-faq-rotulo {
	display: block;
	max-width: 900px;
	font: 500 26px/36px var(--fonte-corpo);
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--cor-primaria);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.accordion-faq-icone {
	position: absolute;
	right: 31px;
}

.accordion-faq-icone--menos {
	width: 24px;
	height: 3px;
	top: 16px;
	display: none;
}

.accordion-faq-item:first-child .accordion-faq-icone--menos {
	top: 16px;
}

.accordion-faq-icone--mais {
	width: 24px;
	height: 24px;
	top: 54.5px;
}

.accordion-faq-item:first-child .accordion-faq-icone--mais {
	top: 6px;
}

.accordion-faq-item.aberto .accordion-faq-icone--menos {
	display: block;
}

.accordion-faq-item.aberto .accordion-faq-icone--mais {
	display: none;
}

.accordion-faq-corpo {
	margin-top: 22.5px;
	width: 913px;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.accordion-faq-corpo p {
	margin: 0;
}

/* ---------------------------------------------------------
   Informação Legal
   --------------------------------------------------------- */

.seccao-conteudo-legal {
	position: relative;
	height: 1597px;
}

.seccao-conteudo-legal__coluna {
	position: absolute;
	left: 433px;
	top: 0;
	width: 968px;
}

/* Altura fixa como no Figma: o pitch dos blocos não depende do texto placeholder. */
.bloco-legal {
	height: 330px;
	overflow: hidden;
	box-sizing: border-box;
	border-bottom: 1px solid var(--cor-cinza-claro);
	margin-bottom: 48px;
}

.bloco-legal__subtitulo {
	margin: 0;
	font: 500 26px/36px var(--fonte-corpo);
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--cor-texto);
}

.bloco-legal__texto {
	margin-top: 26px;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.bloco-legal__texto p {
	margin: 0;
}

/* ---------------------------------------------------------
   Contactos — Onde Estamos + formulário
   --------------------------------------------------------- */

.seccao-onde-estamos {
	position: relative;
	height: 1030px;
}

.seccao-onde-estamos__titulo {
	position: absolute;
	left: 0;
	top: 0;
	margin: 0;
	font: 400 52px/62px var(--fonte-titulos);
	letter-spacing: 0;
	color: var(--cor-primaria);
	white-space: nowrap;
}

.seccao-onde-estamos__texto {
	position: absolute;
	left: 0;
	top: 98px;
	width: 602px;
	margin: 0;
	font: 400 26px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.seccao-onde-estamos__mapa {
	position: absolute;
	left: 0;
	top: 418px;
	width: 598px;
	height: 612px;
	border-radius: 25px;
	object-fit: cover;
}

.seccao-onde-estamos__icone {
	position: absolute;
}

.seccao-onde-estamos__icone--morada {
	left: 544px;
	top: 106px;
	width: 32px;
	height: 44px;
}

.seccao-onde-estamos__icone--email {
	left: 538px;
	top: 223px;
	width: 44px;
	height: 32px;
}

.seccao-onde-estamos__contacto {
	position: absolute;
	left: 612px;
	width: 483px;
	margin: 0;
	font: 400 26px/36px var(--fonte-corpo);
	color: var(--cor-footer);
}

.seccao-onde-estamos__contacto a {
	color: inherit;
	text-decoration: none;
}

.seccao-onde-estamos__contacto a:hover {
	text-decoration: underline;
}

.seccao-onde-estamos__contacto--morada {
	top: 102px;
}

.seccao-onde-estamos__contacto--email {
	top: 216px;
}

/* O formulário de contacto reutiliza os campos da inscrição, mais estreito e à direita. */
.seccao-formulario__form--contacto {
	left: 700px;
	top: 478px;
	width: 700px;
}

.seccao-formulario__form--contacto .seccao-formulario__grelha {
	column-gap: 48px;
}

.seccao-formulario__form--contacto .seccao-formulario__rodape {
	margin-top: 60px;
	gap: 24px;
}

/* ---------------------------------------------------------
   Blog — artigos, paginação e sidebar
   --------------------------------------------------------- */

.seccao-artigos {
	position: relative;
	height: 1930px;
}

.seccao-artigos-lista {
	position: absolute;
	left: 0;
	top: 0;
	width: 912px;
}

.seccao-artigos-card {
	position: relative;
	width: 912px;
	height: 421px;
	background: rgba(255, 255, 255, 0.9);
	border-radius: 30px;
	overflow: hidden;
}

.seccao-artigos-card + .seccao-artigos-card {
	margin-top: 30px;
}

.seccao-artigos-card-imagem {
	position: absolute;
	left: 0;
	top: 0;
	width: 447px;
	height: 421px;
	object-fit: cover;
}

.seccao-artigos-card-categoria {
	position: absolute;
	left: 488px;
	top: 40px;
	display: inline-flex;
	align-items: center;
	height: 28px;
	padding: 0 12px;
	background: var(--cor-rosa);
	border-radius: 8px;
	font: 500 14px/26px var(--fonte-corpo);
	letter-spacing: 0.28px;
	text-transform: uppercase;
	color: #ffffff;
}

.seccao-artigos-card-titulo {
	position: absolute;
	left: 488px;
	top: 81px;
	width: 394px;
	margin: 0;
	font: 500 30px/38px var(--fonte-corpo);
	letter-spacing: 0;
	color: var(--cor-primaria);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.seccao-artigos-card-titulo a {
	color: inherit;
	text-decoration: none;
}

.seccao-artigos-card-excerto {
	position: absolute;
	left: 488px;
	top: 171px;
	width: 394px;
	margin: 0;
	font: 400 20px/26px var(--fonte-corpo);
	color: var(--cor-texto);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}

.seccao-artigos-card-ler-mais {
	position: absolute;
	left: 488px;
	top: 281px;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font: 600 18px/24px var(--fonte-corpo);
	letter-spacing: 0;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--cor-primaria);
}

.seccao-artigos-card-separador {
	position: absolute;
	left: 488px;
	top: 339px;
	width: 64px;
	height: 0;
	margin: 0;
	border: none;
	border-top: 2px solid var(--cor-primaria);
}

.seccao-artigos-card-meta {
	position: absolute;
	left: 488px;
	top: 363px;
	margin: 0;
	font: 500 18px/26px var(--fonte-corpo);
	color: var(--cor-titulos-tom);
	white-space: nowrap;
}

.seccao-artigos-paginacao {
	position: absolute;
	left: 0;
	top: 1820px;
	width: 912px;
	height: 59px;
}

.seccao-artigos-paginacao-numero {
	position: absolute;
	font: 600 22px/59px var(--fonte-corpo);
	color: var(--cor-texto);
	text-decoration: none;
	text-align: center;
	width: 59px;
}

.seccao-artigos-paginacao-numero--1 {
	left: 340px;
	color: var(--cor-primaria);
	border: 2px solid var(--cor-primaria);
	border-radius: 50%;
	height: 59px;
	box-sizing: border-box;
	line-height: 55px;
}

.seccao-artigos-paginacao-numero--2 { left: 406px; }
.seccao-artigos-paginacao-numero--3 { left: 472px; }

.seccao-artigos-paginacao-seguinte {
	position: absolute;
	left: 561px;
	top: 18px;
}

.seccao-artigos-paginacao-seguinte img {
	width: 11px;
	height: 22px;
	display: block;
}

/* Sidebar do blog (dentro da secção Artigos, coluna direita). */
.seccao-sidebar {
	position: absolute;
	left: 1001px;
	top: 0;
	width: 399px;
	height: 1879px;
}

.seccao-sidebar__titulo-bloco {
	margin: 0;
	font: 600 22px/32px var(--fonte-corpo);
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--cor-primaria);
}

.seccao-sidebar__pesquisa {
	position: absolute;
	left: 0;
	top: 0;
	width: 399px;
	height: 53px;
}

.seccao-sidebar__pesquisa-campo {
	width: 100%;
	height: 53px;
	box-sizing: border-box;
	padding: 0 20px 0 48px;
	background: transparent;
	border: 1px solid var(--cor-primaria);
	border-radius: 16px;
	font: 500 18px/26px var(--fonte-corpo);
	color: var(--cor-texto);
}

.seccao-sidebar__pesquisa-campo::placeholder {
	color: var(--cor-texto);
	opacity: 1;
}

.seccao-sidebar__pesquisa-icone {
	position: absolute;
	left: 18px;
	top: 17.5px;
	width: 18px;
	height: 18px;
}

.seccao-sidebar__recentes {
	position: absolute;
	left: 0;
	top: 97px;
	width: 399px;
}

.seccao-sidebar__recente {
	position: absolute;
	left: 0;
	width: 399px;
	height: 140px;
	background: rgba(255, 255, 255, 0.9);
	border-radius: 16px;
}

.seccao-sidebar__recente--1 { top: 56px; }
.seccao-sidebar__recente--2 { top: 226px; }

.seccao-sidebar__recente-miniatura {
	position: absolute;
	left: 0;
	top: 0;
	width: 109px;
	height: 140px;
	border-radius: 16px 0 0 16px;
	object-fit: cover;
}

.seccao-sidebar__recente-meta {
	position: absolute;
	left: 134px;
	top: 11px;
	margin: 0;
	font: 500 16px/26px var(--fonte-corpo);
	color: var(--cor-titulos-tom);
	white-space: nowrap;
}

.seccao-sidebar__recente-titulo {
	position: absolute;
	left: 134px;
	top: 37px;
	width: 243px;
	margin: 0;
	font: 400 20px/26px var(--fonte-corpo);
	color: var(--cor-primaria);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.seccao-sidebar__recente-titulo a {
	color: inherit;
	text-decoration: none;
}

.seccao-sidebar__recente-ler-mais {
	position: absolute;
	left: 134px;
	top: 97px;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font: 600 14px/36px var(--fonte-corpo);
	letter-spacing: 0;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--cor-primaria);
}

.seccao-sidebar__recente-ler-mais img {
	width: 19px;
	height: 10px;
}

.seccao-sidebar__categorias {
	position: absolute;
	left: 0;
	top: 522px;
	width: 399px;
}

.seccao-sidebar__categorias ul {
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}

.seccao-sidebar__categorias li {
	margin-top: 23px;
}

.seccao-sidebar__categorias a {
	font: 500 20px/26px var(--fonte-corpo);
	color: var(--cor-texto);
	text-decoration: none;
}

.seccao-sidebar__tags {
	position: absolute;
	left: 0;
	top: 753px;
	width: 399px;
}

.seccao-sidebar__tags ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 23px 0 0;
	padding: 0;
	list-style: none;
}

.seccao-sidebar__tag {
	display: inline-flex;
	align-items: center;
	height: 53px;
	box-sizing: border-box;
	padding: 13px 20px;
	border: 1px solid var(--cor-cinza-medio);
	border-radius: 16px;
	font: 400 20px/26px var(--fonte-corpo);
	color: var(--cor-texto);
	text-decoration: none;
}

.seccao-sidebar__banner-terapias {
	position: absolute;
	left: 0;
	top: 1111px;
	width: 399px;
	height: 224px;
	background: rgba(255, 255, 255, 0.9);
	border-radius: 16px;
}

.seccao-sidebar__banner-imagem {
	position: absolute;
	left: 42px;
	top: 47px;
	width: 90px;
	height: 90px;
	mix-blend-mode: multiply;
}

.seccao-sidebar__banner-terapias .seccao-sidebar__titulo-bloco {
	position: absolute;
	left: 147px;
	top: 41px;
}

.seccao-sidebar__banner-texto {
	position: absolute;
	left: 147px;
	top: 82px;
	width: 210px;
	margin: 0;
	font: 400 20px/34px var(--fonte-corpo);
	color: var(--cor-texto);
}

.seccao-sidebar__banner-texto a {
	color: var(--cor-primaria);
	text-decoration: underline;
	text-decoration-skip-ink: none;
}

.seccao-sidebar__card-palestra {
	position: absolute;
	left: 0;
	top: 1395px;
	width: 399px;
	height: 484px;
	border-radius: 20px;
	overflow: hidden;
}

.seccao-sidebar__palestra-foto {
	position: absolute;
	left: 0;
	top: 0;
	width: 399px;
	height: 484px;
	object-fit: cover;
}

.seccao-sidebar__palestra-overlay {
	position: absolute;
	left: 0;
	top: 0;
	width: 399px;
	height: 242px;
	background: linear-gradient(180deg, rgba(59, 58, 58, 0.85) 0%, rgba(255, 255, 255, 0) 100%);
	mix-blend-mode: multiply;
}

.seccao-sidebar__card-palestra p,
.seccao-sidebar__card-palestra a,
.seccao-sidebar__palestra-data-formato {
	text-shadow: 0 0 10px rgba(0, 0, 0, 0.81);
}

.seccao-sidebar__palestra-titulo {
	position: absolute;
	left: 0;
	top: 89px;
	width: 100%;
	margin: 0;
	font: 400 42px/48px var(--fonte-titulos-alt);
	letter-spacing: -0.84px;
	text-transform: uppercase;
	text-align: center;
	color: var(--cor-creme);
	white-space: nowrap;
}

.seccao-sidebar__palestra-subtitulo {
	position: absolute;
	left: 0;
	top: 142px;
	width: 100%;
	margin: 0;
	font: 400 30px/34px var(--fonte-titulos-alt);
	letter-spacing: -0.6px;
	text-align: center;
	color: #ffffff;
	white-space: nowrap;
}

.seccao-sidebar__palestra-orador {
	position: absolute;
	left: 0;
	top: 176px;
	width: 100%;
	margin: 0;
	font: italic 400 18px/40px var(--fonte-corpo);
	text-align: center;
	color: #ffffff;
}

.seccao-sidebar__palestra-data-formato {
	position: absolute;
	left: 0;
	top: 213px;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 11px;
	font: 600 16px/36px var(--fonte-corpo);
	color: #ffffff;
}

.seccao-sidebar__palestra-ponto {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #ffffff;
}

.seccao-sidebar__palestra-botao {
	position: absolute;
	left: 74px;
	top: 363px;
}

/* ---------------------------------------------------------
   Produtos relacionados + card de produto (reutilizável)
   --------------------------------------------------------- */

.seccao-produtos-relacionados {
	position: relative;
	height: 620px;
	margin-top: 79px;
}

.seccao-produtos-relacionados__titulo {
	position: absolute;
	left: 0;
	top: 0;
	margin: 0;
	font: 400 52px/52px var(--fonte-titulos);
	letter-spacing: 0;
	color: var(--cor-primaria);
	white-space: nowrap;
}

.seccao-produtos-relacionados__grelha {
	position: absolute;
	left: 0;
	top: 132px;
	display: flex;
	gap: 43px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.produto-card {
	position: relative;
	width: 318px;
	height: 476px;
}

.produto-card__imagem {
	position: absolute;
	left: 0;
	top: 0;
	width: 318px;
	height: 308px;
	border-radius: 30px 30px 0 0;
	object-fit: cover;
}

.produto-card__desejos {
	position: absolute;
	top: 22px;
	right: 22px;
	width: 40px;
	height: 40px;
	background: #ffffff;
	opacity: 0.9;
	border: none;
	border-radius: 50%;
	cursor: pointer;
}

.produto-card__faixa {
	position: absolute;
	left: 0;
	top: 308px;
	width: 318px;
	height: 168px;
	background: #ffffff;
	border-radius: 0 0 30px 30px;
	box-sizing: border-box;
}

.produto-card__nome {
	position: absolute;
	left: 22px;
	top: 20px;
	width: 274px;
	margin: 0;
	font: 600 18px/28px var(--fonte-corpo);
	color: var(--cor-texto);
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

.produto-card__nome a {
	color: inherit;
	text-decoration: none;
}

.produto-card__preco {
	position: absolute;
	left: 22px;
	top: 105px;
	font: 600 22px/32px var(--fonte-corpo);
	color: var(--cor-primaria);
	white-space: nowrap;
}

.produto-card__carrinho {
	position: absolute;
	right: 22px;
	top: 109px;
	padding: 0;
	background: none;
	border: none;
	cursor: pointer;
}

.produto-card__carrinho img {
	display: block;
	width: 32px;
}

.produto-card__carrinho img.produto-card__carrinho-mais {
	display: none;
}

.produto-card__quantidade {
	position: absolute;
	left: 143px;
	top: 101px;
	width: 101px;
	height: 40px;
	box-sizing: border-box;
	display: none;
	align-items: center;
	justify-content: space-between;
	padding: 0 12px;
	border: 1px solid var(--cor-cinza-claro);
	border-radius: 12px;
}

.produto-card--no-carrinho .produto-card__quantidade {
	display: flex;
}

.produto-card--no-carrinho .produto-card__carrinho img.produto-card__carrinho-normal {
	display: none;
}

.produto-card--no-carrinho .produto-card__carrinho img.produto-card__carrinho-mais {
	display: block;
}

.produto-card__qtd-valor {
	font: 500 18px/26px var(--fonte-corpo);
	color: var(--cor-titulos-tom);
}

.produto-card__qtd-menos,
.produto-card__qtd-mais {
	position: relative;
	width: 12px;
	height: 12px;
	padding: 0;
	background: none;
	border: none;
	cursor: pointer;
}

.produto-card__qtd-menos::before,
.produto-card__qtd-mais::before {
	content: "";
	position: absolute;
	left: 0;
	top: 5px;
	width: 12px;
	height: 1.5px;
	border-radius: 1px;
	background: var(--cor-cinza-medio);
}

.produto-card__qtd-mais::after {
	content: "";
	position: absolute;
	left: 5px;
	top: 0;
	width: 1.5px;
	height: 12px;
	border-radius: 1px;
	background: var(--cor-cinza-medio);
}

/* =========================================================
   Quem Somos
   ========================================================= */

.qs-hero,
.qs-historia,
.qs-o-que-temos,
.qs-proposito,
.qs-palestra,
.qs-sobre-leonardo {
	position: relative;
}

.qs-hero p, .qs-hero h1,
.qs-historia p, .qs-historia h2,
.qs-o-que-temos p, .qs-o-que-temos h2,
.qs-proposito p, .qs-proposito h2,
.qs-palestra p,
.qs-sobre-leonardo p, .qs-sobre-leonardo h2 {
	margin: 0;
}

.qs-hero {
	height: 373px;
}

.qs-hero__titulo {
	position: absolute;
	left: 0;
	top: 153px;
	width: 602px;
	font: 400 92px/96px var(--fonte-titulos-alt);
	letter-spacing: 0;
	color: var(--cor-primaria);
}

.qs-hero__paragrafo {
	position: absolute;
	left: 732px;
	top: 175px;
	width: 668px;
	font: 400 26px/36px var(--fonte-corpo);
	color: #2b2b2b;
}

.qs-historia {
	height: 1428px;
}

.qs-historia__imagem {
	position: absolute;
	border-radius: 25px;
	object-fit: cover;
}

.qs-historia__imagem--mao { left: 0; top: 92px; width: 287px; height: 370px; }
.qs-historia__imagem--flor { left: 1113px; top: 285px; width: 287px; height: 370px; }
.qs-historia__imagem--por-do-sol { left: 0; top: 831px; width: 501px; height: 594px; }

.qs-historia__texto {
	position: absolute;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.qs-historia__texto--1 { left: 461px; top: 156px; width: 479px; }
.qs-historia__texto--2 { left: 748px; top: 1011px; width: 652px; }

.qs-historia__titulo {
	position: absolute;
	left: 612px;
	top: 867px;
	font: 400 78px/96px var(--fonte-titulos);
	letter-spacing: 0;
	color: var(--cor-primaria);
	white-space: nowrap;
}

.qs-o-que-temos {
	height: 1040px;
}

.qs-o-que-temos__fundo {
	position: absolute;
	left: 0;
	top: 172px;
	width: 100%;
	height: 655px;
	object-fit: cover;
}

/* Overlay branco a 40% sobre a fotografia, como no Figma. */
.qs-o-que-temos__fundo-overlay {
	position: absolute;
	left: 0;
	top: 172px;
	width: 100%;
	height: 655px;
	background: rgba(255, 255, 255, 0.4);
}

.qs-o-que-temos__titulo {
	position: absolute;
	left: 0;
	top: 289px;
	width: 100%;
	font: 400 78px/96px var(--fonte-titulos);
	letter-spacing: 0;
	text-align: center;
	color: var(--cor-primaria);
	white-space: nowrap;
}

.qs-o-que-temos__paragrafo {
	position: absolute;
	left: 394px;
	right: 393px;
	top: 435px;
	font: 400 26px/36px var(--fonte-corpo);
	text-align: center;
	color: #2b2b2b;
}

/* Card de categoria (LOJA/TERAPIAS/ACTIVIDADES) — reutilizado na Home. */
.categoria-card {
	position: absolute;
	width: 325px;
	height: 359px;
	background: rgba(255, 255, 255, 0.9);
	border-radius: 30px;
	text-decoration: none;
}

.categoria-card__icone {
	position: absolute;
	left: 55px;
	top: 43px;
	width: 215px;
	height: 215px;
	mix-blend-mode: multiply;
}

.categoria-card__rotulo {
	position: absolute;
	left: 0;
	bottom: 54px;
	width: 100%;
	margin: 0;
	font: 500 30px/48px var(--fonte-corpo);
	letter-spacing: 0;
	text-transform: uppercase;
	text-align: center;
	color: var(--cor-primaria);
}

.qs-o-que-temos .categoria-card--loja {
	left: 406px;
	top: 691px;
	width: 307px;
	height: 339px;
}

.qs-o-que-temos .categoria-card--loja .categoria-card__icone { left: 46px; top: 33px; }
.qs-o-que-temos .categoria-card--loja .categoria-card__rotulo { bottom: 46px; font-size: 26px; }
.qs-o-que-temos .categoria-card--terapias { left: 800px; top: 681px; }
.qs-o-que-temos .categoria-card--actividades { left: 1199px; top: 681px; }

.qs-proposito {
	height: 798px;
}

.qs-proposito__titulo {
	position: absolute;
	left: 612px;
	top: 24px;
	font: 400 78px/96px var(--fonte-titulos-alt);
	letter-spacing: 0;
	color: var(--cor-primaria);
	white-space: nowrap;
}

.qs-proposito__texto {
	position: absolute;
	left: 748px;
	top: 182px;
	width: 652px;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.qs-proposito__texto p + p {
	margin-top: 36px;
}

.qs-proposito__imagem {
	position: absolute;
	border-radius: 25px;
	object-fit: cover;
}

.qs-proposito__imagem--passaros { left: 0; top: 158px; width: 340px; height: 403px; }
.qs-proposito__imagem--flores { left: 388px; top: 408px; width: 238px; height: 306px; }

.qs-palestra {
	height: 700px;
	overflow: hidden;
}

.qs-palestra__foto {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 700px;
	object-fit: cover;
}

/* Opacidade ajustada para igualar a interpolação do gradiente do Figma. */
.qs-palestra__filtro {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 414px;
	background: linear-gradient(180deg, rgba(59, 58, 58, 0.85) 0%, rgba(255, 255, 255, 0) 100%);
	mix-blend-mode: multiply;
	opacity: 0.73;
}

.qs-palestra p {
	text-shadow: 0 0 10px rgba(0, 0, 0, 0.8);
}

.qs-palestra__titulo {
	position: absolute;
	left: 267px;
	top: 160px;
	font: 400 76px/90px var(--fonte-titulos-alt);
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--cor-creme);
	white-space: nowrap;
}

.qs-palestra__subtitulo {
	position: absolute;
	left: 267px;
	top: 261px;
	font: 400 52px/62px var(--fonte-titulos);
	color: #ffffff;
	white-space: nowrap;
}

.qs-palestra__orador {
	position: absolute;
	left: 267px;
	top: 316px;
	font: italic 400 26px/60px var(--fonte-corpo);
	color: #ffffff;
	white-space: nowrap;
}

.qs-palestra__data-formato {
	position: absolute;
	left: 267px;
	top: 365px;
	display: flex;
	align-items: center;
	gap: 12px;
	font: 600 26px/61px var(--fonte-corpo);
	color: #ffffff;
	text-shadow: 0 0 10px rgba(0, 0, 0, 0.8);
}

.qs-palestra__ponto {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #ffffff;
}

.qs-palestra__botao {
	position: absolute;
	left: 259px;
	top: 480px;
}

.qs-sobre-leonardo {
	height: 948px;
}

.qs-sobre-leonardo__titulo {
	position: absolute;
	left: 0;
	top: 0;
	width: 515px;
	font: 400 78px/96px var(--fonte-titulos);
	letter-spacing: 0;
	color: var(--cor-primaria);
}

.qs-sobre-leonardo__bio {
	position: absolute;
	left: 0;
	top: 244px;
	width: 515px;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto-suave);
}

.qs-sobre-leonardo__botao {
	position: absolute;
	left: 0;
	top: 887px;
}

.qs-sobre-leonardo__media {
	position: absolute;
	left: 700px;
	top: 9px;
	width: 700px;
	height: 762px;
}

.qs-sobre-leonardo__foto {
	width: 700px;
	height: 762px;
	border-radius: 25px;
	object-fit: cover;
	display: block;
}

.qs-sobre-leonardo__selo {
	position: absolute;
	left: 0;
	top: calc(50% + 8px);
	transform: translate(-50%, -50%);
	width: 263px;
	height: 261px;
}

/* =========================================================
   Artigo
   ========================================================= */

.artigo-cabecalho,
.artigo-conteudo,
.artigo-tags-partilha,
.artigo-comentarios,
.artigo-deixe-comentario {
	position: relative;
}

.artigo-cabecalho p, .artigo-cabecalho h1,
.artigo-conteudo p,
.artigo-tags-partilha p,
.artigo-comentarios p, .artigo-comentarios h2, .artigo-comentarios h3,
.artigo-deixe-comentario p, .artigo-deixe-comentario h2 {
	margin: 0;
}

.artigo-cabecalho {
	height: 310px;
}

.artigo-cabecalho__categoria {
	position: absolute;
	left: 0;
	top: 90px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 154px;
	height: 39px;
	background: var(--cor-rosa);
	border-radius: 8px;
	font: 600 18px/26px var(--fonte-corpo);
	letter-spacing: 0;
	text-transform: uppercase;
	color: #ffffff;
}

.artigo-cabecalho__titulo {
	position: absolute;
	left: 0;
	top: 150px;
	width: 1400px;
	font: 400 78px/96px var(--fonte-titulos);
	letter-spacing: 0;
	color: var(--cor-primaria);
	white-space: nowrap;
}

.artigo-cabecalho__avatar {
	position: absolute;
	left: 0;
	top: 270px;
	width: 35px;
	height: 35px;
}

.artigo-cabecalho__autor {
	position: absolute;
	left: 49px;
	top: 270px;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-footer);
	white-space: nowrap;
}

.artigo-cabecalho__meta {
	position: absolute;
	left: 191px;
	top: 270px;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-titulos-tom);
	white-space: nowrap;
}

.artigo-conteudo {
	height: 2623px;
}

.artigo-conteudo__capa {
	position: absolute;
	left: 0;
	top: 0;
	width: 912px;
	height: 505px;
	border-radius: 30px;
	object-fit: cover;
}

.artigo-conteudo__texto {
	position: absolute;
	left: 0;
	width: 912px;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.artigo-conteudo__texto p + p {
	margin-top: 36px;
}

.artigo-conteudo__texto--1 { top: 565px; }
.artigo-conteudo__texto--2 { top: 1400px; }

.artigo-conteudo__citacao {
	position: absolute;
	left: 0;
	top: 965px;
	width: 912px;
	height: 387px;
	background: rgba(255, 255, 255, 0.5);
	border-radius: 30px;
	text-align: center;
}

.artigo-conteudo__aspas {
	position: absolute;
	left: 0;
	top: 23px;
	width: 100%;
	font: 400 180px/96px var(--fonte-corpo);
	color: var(--cor-primaria);
}

.artigo-conteudo__citacao-texto {
	position: absolute;
	left: 42px;
	top: 119px;
	width: 827px;
	font: 600 22px/36px var(--fonte-corpo);
	color: var(--cor-primaria);
}

.artigo-conteudo__citacao-autor {
	position: absolute;
	left: 42px;
	top: 299px;
	width: 827px;
	font: italic 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.artigo-tags-partilha {
	height: 327px;
	margin-top: 53px;
}

.artigo-tags-partilha__tags {
	position: absolute;
	left: 0;
	top: 0;
	display: flex;
	gap: 10px;
}

.artigo-tags-partilha__tags .seccao-sidebar__tag {
	border-color: var(--cor-primaria);
}

.artigo-tags-partilha__separador {
	position: absolute;
	left: 0;
	width: 912px;
	height: 1px;
	background: var(--cor-cinza-claro);
}

.artigo-tags-partilha__separador--1 { top: 94px; }
.artigo-tags-partilha__separador--2 { top: 216px; }

.artigo-tags-partilha__recomendar {
	position: absolute;
	left: 0;
	top: 128px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 86px;
	height: 53px;
	box-sizing: border-box;
	border: 1px solid var(--cor-primaria);
	border-radius: 16px;
	background: none;
	cursor: pointer;
	font: 500 20px/26px var(--fonte-corpo);
	color: var(--cor-titulos-tom);
}

.artigo-tags-partilha__recomendar img {
	width: 22px;
	height: 22px;
}

.artigo-tags-partilha__partilhar {
	position: absolute;
	left: 466px;
	top: 128px;
	width: 446px;
	height: 48px;
}

.artigo-tags-partilha__partilhar-rotulo {
	position: absolute;
	right: 220px;
	top: 11px;
	font: 600 18px/26px var(--fonte-corpo);
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--cor-titulos-tom);
}

.artigo-tags-partilha__social {
	position: absolute;
	top: 2px;
	width: 44px;
	height: 44px;
}

.artigo-tags-partilha__social--facebook { left: 239px; }
.artigo-tags-partilha__social--x { left: 294px; }
.artigo-tags-partilha__social--linkedin { left: 348px; }
.artigo-tags-partilha__social--pinterest { left: 402px; }

.artigo-tags-partilha__seguinte {
	position: absolute;
	left: 495px;
	top: 250px;
	width: 417px;
	text-align: right;
}

.artigo-tags-partilha__seguinte-rotulo {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font: 600 18px/26px var(--fonte-corpo);
	letter-spacing: 0;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--cor-titulos-tom);
}

.artigo-tags-partilha__seguinte-rotulo img {
	width: 7px;
	height: 14px;
}

.artigo-tags-partilha__seguinte-titulo {
	margin: 14px 0 0;
	font: 400 22px/26px var(--fonte-corpo);
	color: var(--cor-texto);
	white-space: nowrap;
}

.artigo-comentarios {
	height: 627px;
	margin-top: 53px;
}

.artigo-comentarios__titulo {
	position: absolute;
	left: 0;
	top: 0;
	font: 600 22px/32px var(--fonte-corpo);
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--cor-texto);
}

.artigo-comentario {
	position: absolute;
}

.artigo-comentario--1 { left: 0; top: 71px; width: 912px; height: 263px; }
.artigo-comentario--resposta { left: 141px; top: 364px; width: 771px; height: 263px; }

.artigo-comentario__avatar {
	position: absolute;
	left: 0;
	top: 0;
	width: 109px;
	height: 110px;
	border-radius: 16px;
	object-fit: cover;
}

.artigo-comentario__card {
	position: absolute;
	right: 0;
	top: 0;
	height: 263px;
	box-sizing: border-box;
	border: 1px solid var(--cor-cinza-medio);
	border-radius: 0 30px 30px 30px;
}

.artigo-comentario--1 .artigo-comentario__card { width: 773px; }
.artigo-comentario--resposta .artigo-comentario__card { width: 634px; }

.artigo-comentario__nome {
	position: absolute;
	left: 174px;
	top: 31px;
	font: 400 26px/36px var(--fonte-corpo);
	color: var(--cor-footer);
}

.artigo-comentario--resposta .artigo-comentario__nome { left: 172px; }

.artigo-comentario__data {
	position: absolute;
	left: 174px;
	top: 65px;
	font: 400 16px/36px var(--fonte-corpo);
	color: var(--cor-texto-suave);
}

.artigo-comentario--resposta .artigo-comentario__data { left: 172px; }

.artigo-comentario__texto {
	position: absolute;
	left: 174px;
	top: 111px;
	width: 703px;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.artigo-comentario--resposta .artigo-comentario__texto { left: 172px; width: 564px; }

.artigo-comentario__responder {
	position: absolute;
	right: 35px;
	top: 39px;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font: 600 18px/26px var(--fonte-corpo);
	letter-spacing: 0;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--cor-primaria);
}

.artigo-comentario__responder img {
	width: 20px;
	height: 20px;
}

.artigo-deixe-comentario {
	height: 447px;
	margin-top: 49px;
}

.artigo-deixe-comentario__titulo {
	position: absolute;
	left: 0;
	top: 0;
	font: 600 22px/32px var(--fonte-corpo);
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--cor-texto);
}

.artigo-deixe-comentario__campo {
	position: absolute;
	top: 84px;
	width: 277px;
}

.artigo-deixe-comentario__campo--nome { left: 0; }
.artigo-deixe-comentario__campo--email { left: 317px; }
.artigo-deixe-comentario__campo--website { left: 634px; width: 278px; }

.artigo-deixe-comentario__campo--comentario {
	left: 0;
	top: 148px;
	width: 912px;
}

.artigo-deixe-comentario__campo input,
.artigo-deixe-comentario__campo textarea {
	display: block;
	width: 100%;
	height: 35px;
	padding: 0;
	background: transparent;
	border: none;
	border-bottom: 1px solid var(--cor-texto-suave);
	border-radius: 0;
	box-sizing: content-box;
	font: 500 18px/26px var(--fonte-corpo);
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--cor-primaria);
}

.artigo-deixe-comentario__campo input:focus,
.artigo-deixe-comentario__campo textarea:focus {
	outline: none;
	border-bottom-color: var(--cor-primaria);
}

.artigo-deixe-comentario__campo input::placeholder,
.artigo-deixe-comentario__campo textarea::placeholder {
	color: var(--cor-titulos-tom);
	opacity: 1;
}

.artigo-deixe-comentario__campo textarea {
	height: 177px;
	resize: none;
}

.artigo-deixe-comentario__rodape {
	position: absolute;
	left: 0;
	top: 386px;
	display: flex;
	align-items: center;
	gap: 24px;
}

/* A sidebar do Artigo é a do Blog, 3px acima do topo da secção de conteúdo. */
.artigo-conteudo .seccao-sidebar {
	top: -3px;
}

/* O último bloco antes da newsletter respira 150px. */
.pagina-artigo .seccao-produtos-relacionados {
	margin-top: 130px;
	margin-bottom: 150px;
}

/* A banda "O Que Temos" sobrepõe-se 89px ao fim da História, como no Figma. */
.pagina-quem-somos .qs-o-que-temos { margin-top: -89px; }
.pagina-quem-somos .qs-proposito { margin-top: 141px; }
.pagina-quem-somos .qs-palestra { margin-top: 124px; }
.pagina-quem-somos .qs-sobre-leonardo { margin-top: 151px; margin-bottom: 132.5px; }

.pagina-artigo .artigo-conteudo { margin-top: 58px; }

/* =========================================================
   Home – Estado Final
   ========================================================= */

.home-hero,
.home-categorias,
.home-boas-vindas,
.home-terapias,
.home-loja,
.home-actividades,
.home-sobre-leonardo,
.home-blog {
	position: relative;
}

.home-hero p,
.home-boas-vindas p, .home-boas-vindas h2,
.home-terapias p, .home-terapias h2, .home-terapias h3,
.home-loja p, .home-loja h2, .home-loja h3,
.home-actividades p, .home-actividades h2, .home-actividades h3,
.home-sobre-leonardo p, .home-sobre-leonardo h2,
.home-blog p, .home-blog h2, .home-blog h3 {
	margin: 0;
}

/* Botão de lista com seta (VER LOJA / DESCOBRIR / VER TODOS). */
.botao-lista {
	position: relative;
	display: inline-block;
	color: #ffffff;
	width: 210px;
	height: 61px;
	background: var(--cor-primaria);
	border-radius: 12px;
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.botao-lista:hover {
	background: var(--cor-rosa);
}

.botao-lista span {
	position: absolute;
	left: 35px;
	top: 13px;
	font: 600 18px/36px var(--fonte-corpo);
	letter-spacing: 0;
	text-transform: uppercase;
	color: #ffffff;
}

.botao-lista img {
	position: absolute;
	right: 34px;
	top: 25px;
	width: 19px;
	height: 10px;
}

.home-hero {
	height: 944px;
}

.home-hero__foto {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 944px;
	object-fit: cover;
}

.home-hero__overlay {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 923px;
	background: rgba(0, 0, 0, 0.16);
	mix-blend-mode: multiply;
}

.home-hero__promessa {
	position: absolute;
	left: 50%;
	top: 281px;
	transform: translateX(-50%);
	width: 1047px;
	font: 400 78px/96px var(--fonte-titulos);
	letter-spacing: 0;
	text-align: center;
	color: #ffffff;
	text-shadow: 0 0 10px rgba(0, 0, 0, 0.64);
}

.home-hero__seta {
	position: absolute;
	top: 461px;
	width: 14px;
	height: 28px;
}

.home-hero__seta--esquerda { left: 50px; }
.home-hero__seta--direita { right: 50px; }

.home-hero__seta img {
	width: 100%;
	height: 100%;
	display: block;
}

/* As categorias flutuam sobre a base do hero; fundo creme opaco nesta página. */
.home-categorias {
	height: 359px;
	margin-top: -155px;
}

.home-categorias .categoria-card {
	background: var(--cor-creme);
}

.home-categorias .categoria-card--loja {
	left: 404px;
	top: 10px;
	width: 307px;
	height: 339px;
}

.home-categorias .categoria-card--loja .categoria-card__icone { left: 46px; top: 33px; }
.home-categorias .categoria-card--loja .categoria-card__rotulo { bottom: 46px; font-size: 26px; }
.home-categorias .categoria-card--terapias { left: 798px; top: 0; }
.home-categorias .categoria-card--actividades { left: 1197px; top: 0; }

.home-boas-vindas {
	height: 865px;
	margin-top: 121px;
}

.home-boas-vindas__titulo {
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	width: 602px;
	font: 400 78px/96px var(--fonte-titulos);
	letter-spacing: 0;
	text-align: center;
	color: var(--cor-primaria);
}

.home-boas-vindas__texto {
	position: absolute;
	left: 761px;
	top: 249px;
	width: 479px;
	font: 400 18px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.home-boas-vindas__imagem {
	position: absolute;
	border-radius: 25px;
	object-fit: cover;
}

.home-boas-vindas__imagem--flores { left: 260px; top: 234px; width: 251px; height: 370px; }
.home-boas-vindas__imagem--dente-leao { left: 1409px; top: 495px; width: 251px; height: 370px; }

.home-boas-vindas__botao {
	position: absolute;
	left: 761px;
	top: 742px;
}

.home-terapias {
	height: 996px;
	margin-top: 66px;
}

.home-terapias__titulo {
	position: absolute;
	left: 259px;
	top: 0;
	width: 602px;
	font: 400 72px/96px var(--fonte-titulos);
	letter-spacing: 0;
	color: var(--cor-primaria);
}

.home-terapias__intro {
	position: absolute;
	left: 1023px;
	top: 101px;
	width: 636px;
	font: 400 22px/36px var(--fonte-corpo);
	color: #2b2b2b;
}

.home-terapias__slider {
	position: absolute;
	left: 259px;
	top: 289px;
	width: 1401px;
	height: 707px;
}

.home-terapias__slide-titulo {
	position: absolute;
	left: 765px;
	top: 27px;
	font: 500 32px/96px var(--fonte-corpo);
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--cor-primaria);
	white-space: nowrap;
}

.home-terapias__slide-texto {
	position: absolute;
	left: 769px;
	top: 138px;
	width: 632px;
	font: 400 18px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.home-terapias__slide-imagem {
	position: absolute;
	left: 1px;
	top: 0;
	width: 501px;
	height: 497px;
	border-radius: 25px;
	object-fit: cover;
}

.home-terapias__slide-foto {
	position: absolute;
	left: 338px;
	top: 306px;
	width: 246px;
	height: 300px;
	border-radius: 25px;
	object-fit: cover;
}

.home-terapias__slide-botao {
	position: absolute;
	left: 769px;
	top: 523px;
}

.home-terapias__dots {
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	display: flex;
	gap: 12px;
}

.home-terapias__dot {
	width: 22px;
	height: 22px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: var(--cor-cinza-claro);
	cursor: pointer;
}

.home-terapias__dot.ativo {
	background: var(--cor-rosa);
}

.home-loja {
	height: 1122px;
	margin-top: 131px;
}

.home-loja__titulo,
.home-actividades__titulo {
	position: absolute;
	left: 259px;
	top: 0;
	width: 602px;
	font: 400 78px/96px var(--fonte-titulos);
	letter-spacing: 0;
	color: var(--cor-primaria);
}

.home-loja__titulo { width: 511px; }

.home-loja__intro,
.home-actividades__intro {
	position: absolute;
	left: 1023px;
	width: 636px;
	font: 400 26px/36px var(--fonte-corpo);
	color: #2b2b2b;
}

.home-loja__intro { top: 100px; }
.home-actividades__intro { top: 112px; }

.home-loja__botao { position: absolute; left: 1023px; top: 262px; }
.home-actividades__botao { position: absolute; left: 1023px; top: 275px; }

.home-loja__grelha {
	position: absolute;
	left: 260px;
	top: 443px;
	display: flex;
	gap: 43px;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Corações da lista de desejos (assets em falta no Blog, presentes na Loja). */
.produto-card__desejos img {
	position: absolute;
	left: 9px;
	top: 11px;
	width: 22px;
	height: 19px;
}

.produto-card__desejos--ativo {
	background: var(--cor-primaria);
	opacity: 1;
}

.home-loja__ticker {
	position: absolute;
	left: 0;
	top: 1027px;
	width: 100%;
	height: 95px;
	overflow: hidden;
}

.home-loja__ticker-item {
	position: absolute;
	top: 20px;
	font: 400 52px/52px var(--fonte-titulos);
	letter-spacing: 0;
	color: var(--cor-primaria);
	white-space: nowrap;
}

.home-loja__ticker-brilho {
	position: absolute;
	top: 31px;
	width: 30px;
	height: 30px;
}

.home-actividades {
	height: 1151px;
	margin-top: 109px;
}

.home-actividades__lateral {
	position: absolute;
	left: 260px;
	top: 462px;
	width: 555px;
	height: 647px;
	border-radius: 25px;
	object-fit: cover;
}

.home-actividades-card {
	position: absolute;
	top: 515px;
	width: 511px;
	height: 636px;
	background: #ffffff;
	border-radius: 20px;
}

.home-actividades-card--astrologia { left: 562px; }
.home-actividades-card--tarot { left: 1149px; }

.home-actividades-card__imagem {
	position: absolute;
	left: 0;
	top: 0;
	width: 511px;
	height: 250px;
	border-radius: 20px 20px 0 0;
	object-fit: cover;
}

.home-actividades-card__titulo {
	position: absolute;
	left: 34px;
	top: 201px;
	margin: 0;
	font: 500 26px/96px var(--fonte-corpo);
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--cor-primaria);
	white-space: nowrap;
}

.home-actividades-card__formador {
	position: absolute;
	left: 36px;
	top: 318px;
	margin: 0;
	font: italic 400 16px/36px var(--fonte-corpo);
	color: var(--cor-texto-suave);
}

.home-actividades-card__meta-icone {
	position: absolute;
	top: 369px;
	width: 22px;
	height: 22px;
}

.home-actividades-card__meta-icone--data { left: 36px; }
.home-actividades-card__meta-icone--formato { left: 205px; }

.home-actividades-card__meta {
	position: absolute;
	top: 361px;
	margin: 0;
	font: 600 16px/36px var(--fonte-corpo);
	color: var(--cor-texto-suave);
	white-space: nowrap;
}

.home-actividades-card__meta--data { left: 70px; }
.home-actividades-card__meta--formato { left: 239px; }

.home-actividades-card__excerto {
	position: absolute;
	left: 36px;
	top: 414px;
	width: 441px;
	margin: 0;
	font: 400 18px/28px var(--fonte-corpo);
	color: var(--cor-texto);
}

.home-actividades-card__saber-mais {
	position: absolute;
	left: 36px;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font: 600 18px/36px var(--fonte-corpo);
	letter-spacing: 0;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--cor-primaria);
}

.home-actividades-card--astrologia .home-actividades-card__saber-mais { top: 565px; }
.home-actividades-card--tarot .home-actividades-card__saber-mais { top: 577px; }

.home-actividades-card__saber-mais img {
	width: 19px;
	height: 10px;
}

.home-sobre-leonardo {
	height: 725px;
	margin-top: 190px;
}

.home-sobre-leonardo__titulo {
	position: absolute;
	left: 259px;
	top: 29px;
	width: 515px;
	font: 400 78px/96px var(--fonte-titulos);
	letter-spacing: 0;
	color: var(--cor-primaria);
}

.home-sobre-leonardo__bio {
	position: absolute;
	left: 259px;
	top: 273px;
	width: 515px;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto-suave);
}

.home-sobre-leonardo__media {
	position: absolute;
	left: 959px;
	top: 0;
	width: 700px;
	height: 762px;
}

.home-sobre-leonardo__foto {
	width: 700px;
	height: 762px;
	border-radius: 25px;
	object-fit: cover;
	display: block;
}

.home-sobre-leonardo__selo {
	position: absolute;
	left: 0;
	top: 364px;
	transform: translate(-50%, -50%);
	width: 263px;
	height: 261px;
}

.home-sobre-leonardo__botao {
	position: absolute;
	left: 259px;
	top: 664px;
}

.seccao-testemunhos--home {
	height: 802px;
	margin-top: 177px;
	background-image: url("../img/site/home-testemunhos-fundo.png");
}

.seccao-testemunhos--home .seccao-testemunhos__card { left: -1px; top: 121px; }
.seccao-testemunhos--home .seccao-testemunhos__paginacao { left: 157px; top: 659px; }
.seccao-testemunhos--home .seccao-testemunhos__avaliacoes { left: 959px; top: 441px; }

.home-blog {
	height: 1055px;
	margin-top: 131px;
	margin-bottom: 127px;
}

.home-blog__titulo {
	position: absolute;
	left: 259px;
	top: 0;
	font: 400 78px/96px var(--fonte-titulos);
	letter-spacing: 0;
	color: var(--cor-primaria);
	white-space: nowrap;
}

.home-blog__botao {
	position: absolute;
	left: 1449px;
	top: 23px;
}

.home-blog-card {
	position: absolute;
	top: 189px;
	width: 445px;
	height: 770px;
	background: #ffffff;
	border-radius: 20px;
}

.home-blog-card--1 { left: 259px; }
.home-blog-card--2 { left: 737px; }
.home-blog-card--3 { left: 1214px; }

.home-blog-card__imagem {
	position: absolute;
	left: 0;
	top: 0;
	width: 445px;
	height: 279px;
	border-radius: 20px 20px 0 0;
	object-fit: cover;
}

.home-blog-card__titulo {
	position: absolute;
	left: 30px;
	top: 306px;
	width: 385px;
	margin: 0;
	font: 500 30px/38px var(--fonte-corpo);
	letter-spacing: 0;
	color: var(--cor-primaria);
}

.home-blog-card__meta {
	position: absolute;
	left: 31px;
	width: 384px;
	margin: 0;
	font: 400 16px/22px var(--fonte-corpo);
	color: var(--cor-primaria);
}

.home-blog-card__meta .em {
	color: var(--cor-texto-suave);
}

.home-blog-card--1 .home-blog-card__meta { top: 394px; }
.home-blog-card--2 .home-blog-card__meta { top: 358px; }
.home-blog-card--3 .home-blog-card__meta { top: 358px; }

.home-blog-card__excerto {
	position: absolute;
	left: 31px;
	width: 384px;
	margin: 0;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.home-blog-card--1 .home-blog-card__excerto { top: 441px; }
.home-blog-card--2 .home-blog-card__excerto { top: 427px; }
.home-blog-card--3 .home-blog-card__excerto { top: 405px; }

.home-blog-card__ler-mais {
	position: absolute;
	left: 36px;
	bottom: 33px;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font: 600 18px/36px var(--fonte-corpo);
	letter-spacing: 0;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--cor-primaria);
}

.home-blog-card__ler-mais img {
	width: 19px;
	height: 10px;
}

.home-blog__dot {
	position: absolute;
	left: 50%;
	top: 1033px;
	transform: translateX(-50%);
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--cor-rosa);
}

/* =========================================================
   Loja
   ========================================================= */

.loja-portes {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 60px;
	background: var(--cor-rosa);
}

p.loja-portes__texto {
	position: relative;
	left: -3px;
	margin: 0;
	font: 500 16px/26px var(--fonte-corpo);
	color: var(--cor-footer);
}

.loja-banner {
	position: relative;
	height: 655px;
}

.loja-banner__imagem {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 655px;
	object-fit: cover;
}

p.loja-banner__categoria {
	position: absolute;
	left: 0;
	top: 141px;
	margin: 0;
	font: 600 22px/32px var(--fonte-corpo);
	text-transform: uppercase;
	color: var(--cor-primaria);
}

h1.loja-banner__titulo {
	position: absolute;
	left: 0;
	top: 188px;
	margin: 0;
	font: 400 76px/96px var(--fonte-titulos);
	color: var(--cor-texto);
	white-space: nowrap;
}

.loja-banner__botao {
	position: absolute;
	left: 0;
	top: 421px;
	width: 200px;
}

.loja-banner__dots {
	position: absolute;
	left: 638px;
	top: 570px;
	width: 124px;
	height: 22px;
}

.loja-banner__dot {
	position: absolute;
	top: 0;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #ffffff;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

.loja-banner__dot.ativo {
	background: var(--cor-rosa);
}

.loja-banner__dot:nth-child(1) {
	left: 0;
}

.loja-banner__dot:nth-child(2) {
	left: 34px;
}

.loja-banner__dot:nth-child(3) {
	left: 68px;
}

.loja-banner__dot:nth-child(4) {
	left: 102px;
}

.loja-produtos {
	position: relative;
	height: 1823px;
	margin-top: 55px;
	margin-bottom: 77px;
}

.loja-filtro {
	position: absolute;
	left: 0;
	top: 17px;
	width: 270px;
}

h2.loja-filtro__titulo {
	position: absolute;
	left: 0;
	top: 0;
	margin: 0;
	font: 600 22px/30px var(--fonte-corpo);
	color: var(--cor-texto);
}

.loja-filtro__icone {
	position: absolute;
	left: 252px;
	top: 13px;
	width: 18px;
	height: 2px;
	border-radius: 1px;
	background: var(--cor-primaria);
}

.loja-filtro__lista {
	margin: 0;
	padding: 0;
	list-style: none;
}

.loja-filtro__lista li {
	position: absolute;
	left: 0;
	font: 500 20px/25px var(--fonte-corpo);
}

.loja-filtro__lista li a {
	color: var(--cor-titulos-tom);
	text-decoration: none;
}

.loja-filtro__lista li.ativo a {
	color: var(--cor-primaria);
}

.loja-filtro__lista li:nth-child(1) {
	top: 59px;
}

.loja-filtro__lista li:nth-child(2) {
	top: 100px;
	width: 237px;
}

.loja-filtro__lista li:nth-child(3) {
	top: 170px;
}

.loja-filtro__lista li:nth-child(4) {
	top: 206px;
}

.loja-filtro__lista li:nth-child(5) {
	top: 239px;
}

p.loja-produtos__resultados {
	position: absolute;
	left: 339px;
	top: 16px;
	margin: 0;
	font: 500 18px/26px var(--fonte-corpo);
	color: var(--cor-texto);
}

.loja-produtos__ordenar {
	position: absolute;
	left: 1167px;
	top: 0;
	width: 233px;
	height: 53px;
	box-sizing: border-box;
	padding: 0;
	background: none;
	border: 1px solid rgba(167, 135, 163, 0.8);
	border-radius: 16px;
	cursor: pointer;
}

.loja-produtos__ordenar-rotulo {
	position: absolute;
	left: 20px;
	top: 11px;
	font: 500 18px/26px var(--fonte-corpo);
	color: var(--cor-texto);
}

.loja-produtos__ordenar img {
	position: absolute;
	right: 19px;
	top: 21px;
	width: 20px;
	height: 10px;
}

.loja-produtos__grelha {
	position: absolute;
	left: 339px;
	top: 88px;
	width: 1060px;
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 52px 53px;
}

.loja-paginacao__pagina {
	position: absolute;
	top: 1713px;
	width: 59px;
	height: 59px;
	font: 600 22px/59px var(--fonte-corpo);
	text-align: center;
	text-decoration: none;
	color: var(--cor-texto);
}

.loja-paginacao__pagina.ativo {
	left: 754px;
	box-sizing: border-box;
	border: 2px solid var(--cor-primaria);
	border-radius: 50%;
	color: var(--cor-primaria);
}

.loja-paginacao__pagina--2 {
	left: 820px;
}

.loja-paginacao__pagina--3 {
	left: 886px;
}

.loja-paginacao__seta {
	position: absolute;
	left: 975px;
	top: 1731px;
}

.loja-paginacao__seta img {
	display: block;
	width: 11px;
	height: 22px;
}

/* =========================================================
   Página do Produto
   ========================================================= */

.produto-ficha {
	position: relative;
	height: 756px;
	margin-top: 114px;
}

.produto-ficha__imagem {
	position: absolute;
	left: 0;
	top: 0;
	width: 640px;
	height: 621px;
	object-fit: cover;
}

.produto-ficha__miniatura {
	position: absolute;
	top: 640px;
	width: 120px;
	height: 116px;
	object-fit: cover;
}

.produto-ficha__miniatura--1 {
	left: 0;
}

.produto-ficha__miniatura--2 {
	left: 130px;
}

.produto-ficha__esgotado {
	position: absolute;
	left: 798px;
	top: 1px;
	width: 154px;
	height: 39px;
	box-sizing: border-box;
	border-radius: 8px;
	background: #ffa2a3;
	font: 500 18px/39px var(--fonte-corpo);
	text-align: center;
	text-transform: uppercase;
	color: #ffffff;
}

h1.produto-ficha__titulo {
	position: absolute;
	left: 798px;
	top: 53px;
	width: 602px;
	margin: 0;
	font: 400 52px/62px var(--fonte-titulos);
	color: var(--cor-primaria);
}

p.produto-ficha__preco {
	position: absolute;
	left: 798px;
	top: 163px;
	margin: 0;
	font: 500 32px/96px var(--fonte-corpo);
	color: var(--cor-texto);
}

.produto-ficha__divisor {
	position: absolute;
	width: 602px;
	height: 1px;
	background: var(--cor-cinza-claro);
}

.produto-ficha__divisor--preco {
	left: 798px;
	top: 259px;
}

.produto-ficha__divisor--referencia {
	left: 797px;
	top: 640px;
}

p.produto-ficha__descricao {
	position: absolute;
	left: 798px;
	top: 286px;
	width: 602px;
	margin: 0;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.produto-ficha__quantidade {
	position: absolute;
	left: 798px;
	top: 425px;
	width: 128px;
	height: 61px;
	box-sizing: border-box;
	border: 1px solid var(--cor-cinza-medio);
	border-radius: 12px;
	background: none;
}

.produto-ficha__qtd-menos,
.produto-ficha__qtd-mais {
	position: absolute;
	width: 12px;
	height: 12px;
	padding: 0;
	background: none;
	border: none;
	cursor: pointer;
}

.produto-ficha__qtd-menos {
	left: 15px;
	top: 24px;
}

.produto-ficha__qtd-mais {
	left: 99px;
	top: 24px;
}

.produto-ficha__qtd-menos::before,
.produto-ficha__qtd-mais::before {
	content: "";
	position: absolute;
	left: 0;
	top: 5px;
	width: 12px;
	height: 2px;
	border-radius: 1px;
	background: var(--cor-cinza-medio);
}

.produto-ficha__qtd-mais::after {
	content: "";
	position: absolute;
	left: 5px;
	top: 0;
	width: 2px;
	height: 12px;
	border-radius: 1px;
	background: var(--cor-cinza-medio);
}

.produto-ficha__qtd-valor {
	position: absolute;
	left: 55px;
	top: 16px;
	font: 400 22px/30px var(--fonte-corpo);
	color: var(--cor-texto);
}

.produto-ficha__comprar {
	position: absolute;
	left: 950px;
	top: 425px;
	width: 331px;
	padding: 0 0 11px;
}

.produto-ficha__favorito {
	position: absolute;
	left: 1307px;
	top: 426px;
	width: 57px;
	height: 57px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: #ffffff;
	cursor: pointer;
}

.produto-ficha__favorito img {
	position: absolute;
	left: 17px;
	top: 17px;
	width: 22px;
	height: 22px;
}

p.produto-ficha__entrega {
	position: absolute;
	left: 798px;
	top: 514px;
	margin: 0;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-primaria);
}

p.produto-ficha__referencia {
	position: absolute;
	left: 798px;
	top: 661px;
	margin: 0;
	font: 400 18px/28px var(--fonte-corpo);
	color: var(--cor-texto);
}

.produto-descricao {
	position: relative;
	height: 544px;
	margin-top: 65px;
}

.produto-descricao__tab {
	position: absolute;
	top: 0;
	margin: 0;
	font: 500 22px/96px var(--fonte-corpo);
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	color: var(--cor-primaria);
}

.produto-descricao__tab--1 {
	left: 35px;
}

.produto-descricao__tab--2 {
	left: 223px;
}

.produto-descricao__tab--3 {
	left: 420px;
}

.produto-descricao__linha {
	position: absolute;
	left: -70.5px;
	top: 88px;
	width: 1533px;
	height: 1px;
	background: var(--cor-cinza-claro);
}

.produto-descricao__sublinhado {
	position: absolute;
	left: 2px;
	top: 88px;
	width: 190px;
	height: 2px;
	background: var(--cor-rosa);
}

.produto-descricao__corpo {
	position: absolute;
	left: 35px;
	top: 131px;
	width: 1326px;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.produto-descricao__corpo p {
	margin: 0;
}

.produto-descricao__corpo p:nth-child(2) {
	margin-bottom: 36px;
}

.pagina-produto .seccao-produtos-relacionados {
	margin-top: 0;
	margin-bottom: 128px;
}

/* =========================================================
   Carrinho
   ========================================================= */

.seccao-hero--carrinho {
	height: 344px;
	padding-top: 126px;
}

.seccao-hero--carrinho .seccao-hero__titulo {
	font-size: 78px;
}

/* Botão de contorno (Aplicar, Calcular custos de envio, …). */
.botao-contorno:hover,
.botao-contorno:focus-visible {
	background: var(--cor-primaria);
	color: #ffffff;
}

.botao-contorno {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	height: 61px;
	transition: background-color 0.2s ease, color 0.2s ease;
	padding: 0;
	background: none;
	border: 1px solid var(--cor-primaria);
	border-radius: 12px;
	cursor: pointer;
	color: var(--cor-primaria);
	font: 600 18px/36px var(--fonte-corpo);
	text-transform: uppercase;
	text-decoration: none;
}

.carrinho-conteudo {
	position: relative;
	height: 441px;
}

.carrinho-tabela__cabecalho {
	position: absolute;
	top: 19px;
	margin: 0;
	font: 500 18px/26px var(--fonte-corpo);
	text-transform: uppercase;
	color: var(--cor-titulos-tom);
}

.carrinho-tabela__cabecalho--produtos {
	left: 0;
}

.carrinho-tabela__cabecalho--quantidade {
	left: 448px;
}

.carrinho-tabela__cabecalho--preco {
	left: 643px;
}

.carrinho-linha {
	position: absolute;
	left: 0;
	top: 74px;
	width: 810.5px;
	height: 122px;
}

.carrinho-linha--2 {
	top: 196px;
}

.carrinho-linha__miniatura {
	position: absolute;
	left: 0;
	top: 0;
	width: 80px;
	height: 77px;
	object-fit: cover;
}

p.carrinho-linha__nome {
	position: absolute;
	left: 112px;
	top: 12px;
	width: 272px;
	margin: 0;
	font: 500 20px/26px var(--fonte-corpo);
	color: var(--cor-primaria);
}

.carrinho-linha__quantidade {
	position: absolute;
	left: 452px;
	top: 12px;
	width: 111px;
	height: 53px;
	box-sizing: border-box;
	border: 1px solid var(--cor-cinza-medio);
	border-radius: 12px;
}

.carrinho-linha__qtd-menos,
.carrinho-linha__qtd-mais {
	position: absolute;
	width: 12px;
	height: 12px;
	padding: 0;
	background: none;
	border: none;
	cursor: pointer;
}

.carrinho-linha__qtd-menos {
	left: 15px;
	top: 20px;
}

.carrinho-linha__qtd-mais {
	left: 82px;
	top: 20px;
}

.carrinho-linha__qtd-menos::before,
.carrinho-linha__qtd-mais::before {
	content: "";
	position: absolute;
	left: 0;
	top: 5px;
	width: 12px;
	height: 2px;
	border-radius: 1px;
	background: var(--cor-cinza-medio);
}

.carrinho-linha__qtd-mais::after {
	content: "";
	position: absolute;
	left: 5px;
	top: 0;
	width: 2px;
	height: 12px;
	border-radius: 1px;
	background: var(--cor-cinza-medio);
}

.carrinho-linha__qtd-valor {
	position: absolute;
	left: 49px;
	top: 13px;
	font: 500 18px/26px var(--fonte-corpo);
	color: var(--cor-texto);
}

.carrinho-linha__preco {
	position: absolute;
	left: 648px;
	top: 25px;
	font: 500 18px/26px var(--fonte-corpo);
	color: var(--cor-texto);
}

.carrinho-linha__remover {
	position: absolute;
	left: 770px;
	top: 28px;
	padding: 0;
	background: none;
	border: none;
	cursor: pointer;
}

.carrinho-linha__remover img {
	display: block;
	width: 18px;
	height: 22px;
}

.carrinho-tabela__divisor {
	position: absolute;
	left: 0;
	width: 810.5px;
	height: 1px;
	background: var(--cor-cinza-medio);
}

.carrinho-tabela__divisor--1 {
	top: 173.5px;
}

.carrinho-tabela__divisor--2 {
	top: 295.5px;
}

.carrinho-cupao__campo {
	position: absolute;
	left: 0;
	top: 336px;
	width: 267px;
	height: 61px;
	box-sizing: border-box;
	padding: 0 0 0 25px;
	background: none;
	border: 1px solid var(--cor-cinza-medio);
	border-radius: 12px;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.carrinho-cupao__campo::placeholder {
	color: var(--cor-texto);
	opacity: 1;
}

.carrinho-cupao__aplicar {
	position: absolute;
	left: 277px;
	top: 336px;
	width: 150px;
}

.carrinho-cupao__actualizar {
	position: absolute;
	left: 515px;
	top: 336px;
	width: 295px;
	background: var(--cor-cinza-claro);
	color: var(--cor-cinza-medio);
}

.carrinho-resumo__fundo {
	position: absolute;
	left: 870px;
	top: 0;
	width: 530px;
	height: 360px;
	background: rgba(255, 255, 255, 0.4);
	border-radius: 30px;
}

.carrinho-resumo__rotulo {
	position: absolute;
	left: 915px;
	margin: 0;
	font: 600 22px/32px var(--fonte-corpo);
	text-transform: uppercase;
	color: var(--cor-texto);
}

.carrinho-resumo__valor {
	position: absolute;
	left: 1135px;
	width: 220px;
	margin: 0;
	font: 600 22px/32px var(--fonte-corpo);
	text-align: right;
	color: var(--cor-texto);
}

.carrinho-resumo__rotulo--subtotal,
.carrinho-resumo__valor--subtotal {
	top: 50px;
}

.carrinho-resumo__rotulo--envio {
	top: 151px;
}

.carrinho-resumo__rotulo--total,
.carrinho-resumo__valor--total {
	top: 255px;
	font-weight: 700;
	color: var(--cor-footer);
}

.carrinho-resumo__divisor {
	position: absolute;
	left: 915px;
	width: 440px;
	height: 1px;
	background: var(--cor-cinza-claro);
}

.carrinho-resumo__divisor--1 {
	top: 105px;
}

.carrinho-resumo__divisor--2 {
	top: 226px;
}

.carrinho-resumo__calcular {
	position: absolute;
	left: 1040px;
	top: 135px;
	width: 315px;
}

p.carrinho-resumo__iva {
	position: absolute;
	left: 915px;
	top: 286px;
	width: 440px;
	margin: 0;
	font: 400 14px/26px var(--fonte-corpo);
	text-align: right;
	color: var(--cor-texto);
}

.carrinho-resumo__finalizar {
	position: absolute;
	left: 870px;
	top: 380px;
	width: 530px;
	border-radius: 16px;
}

.pagina-carrinho .seccao-produtos-relacionados {
	margin-top: 130px;
	margin-bottom: 148px;
}

/* Carrinho – 2: resumo com cálculo de envio expandido. */
.pagina-carrinho-2 .carrinho-conteudo {
	height: 830px;
}

.pagina-carrinho-2 .carrinho-resumo__fundo {
	height: 749px;
}

.pagina-carrinho-2 .carrinho-resumo__rotulo--envio {
	top: 134px;
}

.pagina-carrinho-2 .carrinho-resumo__divisor--2 {
	top: 615px;
}

.pagina-carrinho-2 .carrinho-resumo__rotulo--total,
.pagina-carrinho-2 .carrinho-resumo__valor--total {
	top: 644px;
}

.pagina-carrinho-2 p.carrinho-resumo__iva {
	top: 675px;
}

.pagina-carrinho-2 .carrinho-resumo__finalizar {
	top: 769px;
}

.carrinho-envio__rotulo {
	position: absolute;
	left: 1101px;
	width: 254px;
	margin: 0;
	font: 600 22px/32px var(--fonte-corpo);
	text-align: right;
	text-transform: uppercase;
	color: var(--cor-texto);
}

.carrinho-envio__rotulo--pais {
	top: 137px;
}

.carrinho-envio__rotulo--localidade {
	top: 269px;
}

.carrinho-envio__rotulo--codigo-postal {
	top: 401px;
}

.carrinho-envio__campo {
	position: absolute;
	left: 1049px;
	width: 306px;
	height: 61px;
	box-sizing: border-box;
	padding: 12px 0 0 20px;
	border: 1px solid var(--cor-cinza-medio);
	border-radius: 12px;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.carrinho-envio__campo--pais {
	top: 179px;
}

.carrinho-envio__campo--localidade {
	top: 311px;
}

.carrinho-envio__campo--codigo-postal {
	top: 443px;
}

.carrinho-envio__campo img {
	position: absolute;
	left: 268px;
	top: 26px;
	width: 18px;
	height: 9px;
}

.carrinho-envio__actualizar {
	position: absolute;
	left: 1049px;
	top: 524px;
	width: 306px;
}

/* Carrinho – 3: resumo com opções de envio por rádio e alterar morada. */
.pagina-carrinho-3 .carrinho-conteudo {
	height: 658px;
}

.pagina-carrinho-3 .carrinho-resumo__fundo {
	height: 577px;
}

.pagina-carrinho-3 .carrinho-resumo__rotulo--envio {
	top: 134px;
}

.pagina-carrinho-3 .carrinho-resumo__divisor--2 {
	top: 443px;
}

.pagina-carrinho-3 .carrinho-resumo__rotulo--total,
.pagina-carrinho-3 .carrinho-resumo__valor--total {
	top: 472px;
}

.pagina-carrinho-3 p.carrinho-resumo__iva {
	top: 503px;
}

.pagina-carrinho-3 .carrinho-resumo__finalizar {
	top: 597px;
}

.carrinho-envio-opcao__radio {
	position: absolute;
	left: 1017px;
	width: 15px;
	height: 15px;
	box-sizing: border-box;
	border-radius: 5px;
	background: var(--cor-creme);
}

.carrinho-envio-opcao__radio::after {
	content: "";
	position: absolute;
	left: 5px;
	top: 5px;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--cor-primaria);
}

.carrinho-envio-opcao__radio--vazio {
	background: #ffffff;
}

.carrinho-envio-opcao__radio--vazio::after {
	content: none;
}

.carrinho-envio-opcao__radio--registado {
	top: 145px;
}

.carrinho-envio-opcao__radio--azul {
	top: 188px;
}

.carrinho-envio-opcao__nome {
	position: absolute;
	left: 1049px;
	margin: 0;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.carrinho-envio-opcao__nome--registado {
	top: 135px;
}

.carrinho-envio-opcao__nome--azul {
	top: 178px;
}

.carrinho-envio-opcao__preco {
	position: absolute;
	left: 1049px;
	width: 306px;
	margin: 0;
	font: 600 22px/36px var(--fonte-corpo);
	text-align: right;
	color: var(--cor-texto);
}

.carrinho-envio-opcao__preco--registado {
	top: 135px;
}

.carrinho-envio-opcao__preco--azul {
	top: 178px;
}

p.carrinho-envio-opcao__nota {
	position: absolute;
	left: 1049px;
	top: 219px;
	width: 306px;
	margin: 0;
	font: 500 18px/26px var(--fonte-corpo);
	color: var(--cor-titulos-tom);
}

.carrinho-envio-opcao__alterar {
	position: absolute;
	left: 1049px;
	top: 352px;
	width: 306px;
}

/* =========================================================
   Checkout
   ========================================================= */

.seccao-hero--checkout {
	height: 310px;
	padding-top: 126px;
}

.seccao-hero--checkout .seccao-hero__titulo {
	font-size: 78px;
}

.checkout-conteudo {
	position: relative;
	height: 955.5px;
	margin-bottom: 210.5px;
}

p.checkout-login {
	position: absolute;
	left: 0;
	top: 30px;
	margin: 0;
	font: 500 22px/36px var(--fonte-corpo);
	color: var(--cor-primaria);
}

p.checkout-login a {
	color: inherit;
}

h2.checkout-titulo {
	position: absolute;
	left: 0;
	top: 109px;
	margin: 0;
	font: 400 52px/62px var(--fonte-titulos);
	color: var(--cor-primaria);
}

.checkout-campo {
	position: absolute;
}

.checkout-campo label {
	display: block;
	font: 500 18px/26px var(--fonte-corpo);
	text-transform: uppercase;
	color: var(--cor-titulos-tom);
}

.checkout-campo input {
	display: block;
	width: 100%;
	height: 8px;
	padding: 0;
	background: none;
	border: 0;
	border-bottom: 1px solid var(--cor-cinza-medio);
	font: 400 18px/26px var(--fonte-corpo);
	color: var(--cor-texto);
}

.checkout-campo--nome { left: 0; top: 230px; width: 375px; }
.checkout-campo--nif { left: 430px; top: 229px; width: 379px; }
.checkout-campo--nif input { height: 9px; }
.checkout-campo--morada { left: 0; top: 293px; width: 808.5px; }
.checkout-campo--morada input { height: 9.5px; }
.checkout-campo--porta { left: 0; top: 358px; width: 246px; }
.checkout-campo--andar { left: 281.5px; top: 358px; width: 246px; }
.checkout-campo--fracao { left: 563px; top: 358px; width: 246px; }
.checkout-campo--porta input,
.checkout-campo--andar input,
.checkout-campo--fracao input { height: 9.5px; }
.checkout-campo--codigo-postal { left: 0; top: 422px; width: 375px; }
.checkout-campo--localidade { left: 430px; top: 422px; width: 379px; }
.checkout-campo--codigo-postal input,
.checkout-campo--localidade input { height: 10px; }
.checkout-campo--email { left: 0; top: 487px; width: 808.5px; }
.checkout-campo--email input { height: 8.5px; }
.checkout-campo--telefone { left: 0; top: 551px; width: 810px; }
.checkout-campo--telefone input { height: 9.5px; }

.checkout-check {
	position: absolute;
	left: 0;
}

.checkout-check--criar-conta { top: 642px; }
.checkout-check--morada-diferente { top: 702px; }
.checkout-check--dados { top: 762px; }

/* O render do Figma não pinta borda nas caixas; ficam brancas sobre o creme. */
.checkout-check__caixa {
	position: absolute;
	left: 0;
	top: 0;
	width: 20px;
	height: 20px;
	padding: 0;
	background: #ffffff;
	border: none;
	border-radius: 5px;
	cursor: pointer;
}

p.checkout-check__texto {
	position: absolute;
	left: 30px;
	top: -9px;
	width: 780px;
	margin: 0;
	font: 500 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.checkout-notas {
	position: absolute;
	left: 0;
	top: 872px;
	width: 810.5px;
}

.checkout-notas label {
	display: block;
	font: 500 18px/26px var(--fonte-corpo);
	color: var(--cor-titulos-tom);
}

.checkout-notas textarea {
	display: block;
	width: 100%;
	height: 57px;
	padding: 0;
	background: none;
	border: 0;
	border-bottom: 1px solid var(--cor-cinza-medio);
	resize: none;
	font: 400 18px/26px var(--fonte-corpo);
	color: var(--cor-texto);
}

.checkout-resumo__fundo {
	position: absolute;
	left: 870px;
	top: 34px;
	width: 530px;
	height: 715px;
	background: rgba(255, 255, 255, 0.4);
	border-radius: 30px;
}

.checkout-resumo__rotulo {
	position: absolute;
	left: 915px;
	margin: 0;
	font: 600 22px/32px var(--fonte-corpo);
	text-transform: uppercase;
	color: var(--cor-texto);
}

.checkout-resumo__valor {
	position: absolute;
	left: 1135px;
	width: 220px;
	margin: 0;
	font: 600 22px/32px var(--fonte-corpo);
	text-align: right;
	color: var(--cor-texto);
}

.checkout-resumo__rotulo--subtotal,
.checkout-resumo__valor--subtotal { top: 84px; }
.checkout-resumo__rotulo--envio { top: 168px; }
.checkout-resumo__rotulo--total,
.checkout-resumo__valor--total {
	top: 414px;
	font-weight: 700;
	color: var(--cor-footer);
}
.checkout-resumo__rotulo--pagamento { top: 496px; }

p.checkout-resumo__iva {
	position: absolute;
	left: 915px;
	top: 447px;
	width: 440px;
	margin: 0;
	font: 400 14px/26px var(--fonte-corpo);
	text-align: right;
	color: var(--cor-texto);
}

.checkout-resumo__divisor {
	position: absolute;
	left: 915px;
	width: 440px;
	height: 1px;
	background: var(--cor-cinza-medio);
}

.checkout-resumo__divisor--1 { top: 138.5px; }
.checkout-resumo__divisor--2 { top: 386.5px; }

.checkout-radio {
	position: absolute;
	width: 15px;
	height: 15px;
	border-radius: 5px;
	background: #ffffff;
}

.checkout-radio--ativo {
	background: var(--cor-creme);
}

.checkout-radio--ativo::after {
	content: "";
	position: absolute;
	left: 5px;
	top: 5px;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--cor-primaria);
}

.checkout-radio--registado { left: 1017px; top: 179px; }
.checkout-radio--azul { left: 1017px; top: 222px; }
.checkout-radio--multibanco { left: 915px; top: 560px; }
.checkout-radio--mbway { left: 915px; top: 620px; }
.checkout-radio--paypal { left: 915px; top: 679px; }

.checkout-envio__nome {
	position: absolute;
	left: 1044px;
	margin: 0;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.checkout-envio__nome--registado { top: 169px; }
.checkout-envio__nome--azul { top: 212px; }

.checkout-envio__preco {
	position: absolute;
	left: 1049px;
	width: 306px;
	margin: 0;
	font: 600 22px/36px var(--fonte-corpo);
	text-align: right;
	color: var(--cor-texto);
}

.checkout-envio__preco--registado { top: 169px; }
.checkout-envio__preco--azul { top: 212px; }

p.checkout-envio__nota {
	position: absolute;
	left: 1044px;
	top: 253px;
	width: 306px;
	margin: 0;
	font: 500 18px/26px var(--fonte-corpo);
	color: var(--cor-titulos-tom);
}

.checkout-pagamento__nome {
	position: absolute;
	left: 942px;
	margin: 0;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.checkout-pagamento__nome--multibanco { top: 550px; }
.checkout-pagamento__nome--mbway { top: 609px; }

.checkout-pagamento__icone {
	position: absolute;
}

.checkout-pagamento__icone--multibanco { left: 1062px; top: 551px; width: 32px; height: 31px; }
.checkout-pagamento__icone--mbway { left: 1042px; top: 612px; width: 32px; height: 30px; }
.checkout-pagamento__icone--paypal { left: 950px; top: 669px; width: 118px; height: 30px; }

.checkout-finalizar {
	position: absolute;
	left: 870px;
	top: 769px;
	width: 530px;
	border-radius: 16px;
}

.checkout-termos {
	position: absolute;
	left: 870px;
	top: 852px;
}

p.checkout-termos__texto {
	position: absolute;
	left: 30px;
	top: -8px;
	width: 455px;
	margin: 0;
	font: 400 18px/36px var(--fonte-corpo);
	white-space: nowrap;
	color: var(--cor-texto);
}

p.checkout-termos__texto a {
	color: inherit;
}

/* Checkout – 1: Apelido/NIF em filas próprias e pagamento MB WAY expandido. */
.pagina-checkout-1 .checkout-conteudo {
	height: 1131px;
	margin-bottom: 124.5px;
}

.pagina-checkout-1 .checkout-campo--nome { top: 229px; }
.pagina-checkout-1 .checkout-campo--nome input { height: 9.5px; }
.checkout-campo--apelido { left: 430px; top: 229px; width: 379px; }
.checkout-campo--apelido input { height: 9.5px; }
.pagina-checkout-1 .checkout-campo--nif { left: 0; top: 293px; width: 808.5px; }
.pagina-checkout-1 .checkout-campo--nif input { height: 9.5px; }
.pagina-checkout-1 .checkout-campo--morada { top: 358px; }
.pagina-checkout-1 .checkout-campo--morada input { height: 9px; }
.pagina-checkout-1 .checkout-campo--porta { top: 422px; }
.pagina-checkout-1 .checkout-campo--andar { top: 422px; }
.pagina-checkout-1 .checkout-campo--fracao { top: 422px; }
.pagina-checkout-1 .checkout-campo--porta input,
.pagina-checkout-1 .checkout-campo--andar input,
.pagina-checkout-1 .checkout-campo--fracao input { height: 10px; }
.pagina-checkout-1 .checkout-campo--codigo-postal { top: 487px; }
.pagina-checkout-1 .checkout-campo--localidade { top: 487px; }
.pagina-checkout-1 .checkout-campo--codigo-postal input,
.pagina-checkout-1 .checkout-campo--localidade input { height: 9.5px; }
.pagina-checkout-1 .checkout-campo--email { top: 551px; }
.pagina-checkout-1 .checkout-campo--email input { height: 9px; }
.pagina-checkout-1 .checkout-campo--telefone { top: 616px; }
.pagina-checkout-1 .checkout-campo--telefone input { height: 9px; }

.pagina-checkout-1 .checkout-check--criar-conta { top: 706.5px; }
.pagina-checkout-1 .checkout-check--morada-diferente { top: 766.5px; }
.pagina-checkout-1 .checkout-check--dados { top: 826.5px; }

.pagina-checkout-1 .checkout-notas { top: 936.5px; }
.pagina-checkout-1 .checkout-notas textarea { height: 57.5px; }

.pagina-checkout-1 .checkout-resumo__fundo { height: 966px; }

.checkout-mbway__caixa {
	position: absolute;
	left: 915px;
	top: 660px;
	width: 440px;
	height: 216px;
	background: #f4f4f4;
}

p.checkout-mbway__texto {
	position: absolute;
	left: 935px;
	top: 679px;
	width: 400px;
	height: 79.5px;
	margin: 0;
	overflow: hidden;
	font: 500 18px/26px var(--fonte-corpo);
	color: var(--cor-texto);
}

p.checkout-mbway__rotulo {
	position: absolute;
	left: 935px;
	top: 764px;
	width: 400px;
	margin: 0;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	font: 500 18px/26px var(--fonte-corpo);
	color: var(--cor-titulos-tom);
}

.checkout-mbway__campo {
	position: absolute;
	top: 795px;
	height: 61px;
	box-sizing: border-box;
	background: #ffffff;
	border: 1px solid var(--cor-cinza-medio);
	border-radius: 12px;
}

.checkout-mbway__campo--indicativo {
	left: 935px;
	width: 210px;
}

.checkout-mbway__campo--telemovel {
	left: 1155px;
	width: 180px;
}

.checkout-mbway__campo span {
	position: absolute;
	left: 21px;
	top: 13px;
	font: 600 18px/36px var(--fonte-corpo);
	white-space: nowrap;
	color: var(--cor-primaria);
}

.checkout-mbway__campo--telemovel span {
	color: var(--cor-texto);
}

.checkout-mbway__campo img {
	position: absolute;
	left: 172px;
	top: 27px;
	width: 18px;
	height: 9px;
}

.pagina-checkout-1 .checkout-radio--paypal { top: 930px; }
.pagina-checkout-1 .checkout-pagamento__icone--paypal { top: 920px; }
.pagina-checkout-1 .checkout-finalizar { top: 1020px; }
.pagina-checkout-1 .checkout-termos { top: 1103px; }

/* =========================================================
   Checkout – Confirmação
   ========================================================= */

.confirmacao-cabecalho {
	position: relative;
	height: 633px;
}

h1.confirmacao-cabecalho__titulo {
	position: absolute;
	left: 50%;
	top: 126px;
	transform: translateX(-50%);
	margin: 0;
	font: 400 78px/96px var(--fonte-titulos);
	white-space: nowrap;
	color: var(--cor-primaria);
}

p.confirmacao-cabecalho__numero {
	position: absolute;
	left: 0;
	top: 336px;
	width: 100%;
	margin: 0;
	font: 500 32px/96px var(--fonte-corpo);
	text-align: center;
	text-transform: uppercase;
	color: var(--cor-texto);
}

.confirmacao-cabecalho__mensagem {
	position: absolute;
	left: 0;
	top: 439px;
	width: 100%;
	font: 400 26px/36px var(--fonte-corpo);
	text-align: center;
	color: #2b2b2b;
}

.confirmacao-cabecalho__mensagem p {
	margin: 0;
}

.confirmacao-conteudo {
	position: relative;
	height: 1410px;
	margin-bottom: 130px;
}

h2.confirmacao-titulo {
	position: absolute;
	left: 0;
	margin: 0;
	font: 400 52px/62px var(--fonte-titulos);
	color: var(--cor-primaria);
}

h2.confirmacao-titulo--produtos {
	top: 0;
}

h2.confirmacao-titulo--faturacao {
	top: 473px;
}

.confirmacao-tabela__cabecalho {
	position: absolute;
	top: 107px;
	margin: 0;
	font: 500 18px/26px var(--fonte-corpo);
	text-transform: uppercase;
	color: var(--cor-titulos-tom);
}

.confirmacao-tabela__cabecalho--produtos { left: 0; }
.confirmacao-tabela__cabecalho--quantidade { left: 524px; }
.confirmacao-tabela__cabecalho--preco { left: 738px; }

.confirmacao-linha {
	position: absolute;
	left: 0;
	top: 164px;
	width: 810px;
	height: 77px;
}

.confirmacao-linha--2 {
	top: 271px;
}

.confirmacao-linha__miniatura {
	position: absolute;
	left: 0;
	top: 0;
	width: 80px;
	height: 77px;
	object-fit: cover;
}

p.confirmacao-linha__nome {
	position: absolute;
	left: 104px;
	top: 12px;
	width: 350px;
	margin: 0;
	font: 500 20px/26px var(--fonte-corpo);
	color: var(--cor-primaria);
}

.confirmacao-linha__quantidade {
	position: absolute;
	left: 583px;
	top: 26px;
	font: 500 18px/26px var(--fonte-corpo);
	color: var(--cor-texto);
}

.confirmacao-linha__preco {
	position: absolute;
	left: 700px;
	top: 25px;
	width: 100px;
	font: 500 18px/26px var(--fonte-corpo);
	text-align: right;
	color: var(--cor-texto);
}

.confirmacao-tabela__divisor {
	position: absolute;
	left: 0;
	top: 398px;
	width: 810px;
	height: 1px;
	background: var(--cor-cinza-claro);
}

.confirmacao-resumo__fundo {
	position: absolute;
	left: 870px;
	top: 16px;
	width: 530px;
	height: 619px;
	background: rgba(255, 255, 255, 0.4);
	border-radius: 30px;
}

.confirmacao-resumo__rotulo {
	position: absolute;
	left: 915px;
	margin: 0;
	font: 600 22px/32px var(--fonte-corpo);
	text-transform: uppercase;
	color: var(--cor-texto);
}

.confirmacao-resumo__valor {
	position: absolute;
	left: 1135px;
	width: 220px;
	margin: 0;
	font: 600 22px/32px var(--fonte-corpo);
	text-align: right;
	color: var(--cor-texto);
}

.confirmacao-resumo__rotulo--subtotal,
.confirmacao-resumo__valor--subtotal { top: 66px; }
.confirmacao-resumo__rotulo--envio { top: 149px; }
.confirmacao-resumo__rotulo--total,
.confirmacao-resumo__valor--total {
	top: 241px;
	font-weight: 700;
	color: var(--cor-footer);
}
.confirmacao-resumo__rotulo--pagamento { top: 333px; }

.confirmacao-resumo__divisor {
	position: absolute;
	left: 915px;
	width: 440px;
	height: 1px;
	background: var(--cor-cinza-claro);
}

.confirmacao-resumo__divisor--1 { top: 120px; }
.confirmacao-resumo__divisor--2 { top: 213px; }

p.confirmacao-resumo__envio-metodo {
	position: absolute;
	left: 1044px;
	top: 150px;
	margin: 0;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

p.confirmacao-resumo__envio-valor {
	position: absolute;
	left: 1049px;
	top: 150px;
	width: 306px;
	margin: 0;
	font: 600 22px/36px var(--fonte-corpo);
	text-align: right;
	color: var(--cor-texto);
}

p.confirmacao-resumo__iva {
	position: absolute;
	left: 915px;
	top: 274px;
	width: 440px;
	margin: 0;
	font: 400 14px/26px var(--fonte-corpo);
	text-align: right;
	color: var(--cor-texto);
}

p.confirmacao-resumo__pagamento-metodo {
	position: absolute;
	left: 915px;
	top: 388px;
	margin: 0;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.confirmacao-resumo__pagamento-icone {
	position: absolute;
	left: 1035px;
	top: 389px;
	width: 32px;
	height: 31px;
}

.confirmacao-multibanco {
	position: absolute;
	left: 915px;
	top: 446px;
	width: 440px;
	height: 139px;
	background: #f4f4f4;
}

.confirmacao-multibanco p {
	position: absolute;
	margin: 0;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.confirmacao-multibanco__entidade { left: 20px; top: 17px; }
.confirmacao-multibanco__entidade-valor { left: 122px; top: 17px; }
.confirmacao-multibanco__referencia { left: 20px; top: 54px; }
.confirmacao-multibanco__referencia-valor { left: 139px; top: 54px; }
.confirmacao-multibanco__montante { left: 20px; top: 91px; }
.confirmacao-multibanco__montante-valor { left: 130px; top: 91px; }

.confirmacao-campo {
	position: absolute;
}

.confirmacao-campo label {
	display: block;
	font: 500 18px/26px var(--fonte-corpo);
	text-transform: uppercase;
	color: var(--cor-titulos-tom);
}

.confirmacao-campo p {
	position: absolute;
	left: 0;
	top: 32px;
	margin: 0;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.confirmacao-campo span {
	position: absolute;
	left: 0;
	top: 70px;
	width: 100%;
	height: 1px;
	background: var(--cor-cinza-medio);
}

.confirmacao-campo--nome { left: 0; top: 590px; width: 375px; }
.confirmacao-campo--apelido { left: 430px; top: 590px; width: 379px; }
.confirmacao-campo--nif { left: 0; top: 689px; width: 808px; }
.confirmacao-campo--morada { left: 0; top: 788px; width: 808px; }
.confirmacao-campo--porta { left: 0; top: 887px; width: 245.6px; }
.confirmacao-campo--andar { left: 281.7px; top: 887px; width: 245.6px; }
.confirmacao-campo--fracao { left: 562.9px; top: 887px; width: 245.9px; }
.confirmacao-campo--porta span,
.confirmacao-campo--andar span,
.confirmacao-campo--fracao span { top: 71px; }
.confirmacao-campo--codigo-postal { left: 0; top: 987px; width: 374.7px; }
.confirmacao-campo--localidade { left: 430px; top: 987px; width: 378.9px; }
.confirmacao-campo--codigo-postal span,
.confirmacao-campo--localidade span { top: 70.5px; }
.confirmacao-campo--email { left: 0; top: 1086px; width: 808px; }
.confirmacao-campo--email span { top: 71px; }
.confirmacao-campo--telefone { left: 0; top: 1187px; width: 808px; }
.confirmacao-campo--telefone span { top: 70.5px; }

.confirmacao-voltar {
	position: absolute;
	left: 552px;
	top: 1349px;
	width: 295px;
}

/* =========================================================
   Log-in (modal sobre a Loja)
   ========================================================= */

.login-cenario {
	position: relative;
	height: 1080px;
	background: #ffffff;
	overflow: hidden;
}

.login-cenario__overlay {
	position: absolute;
	inset: 0;
	background: rgba(105, 105, 105, 0.207);
}

/* No Figma a grelha fica por cima do overlay (sem escurecimento). */
.login-cenario__loja {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 216px;
	overflow: hidden;
}

.login-cenario__grelha {
	position: absolute;
	left: 0;
	top: -292px;
	display: flex;
	gap: 43px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.login-card {
	position: absolute;
	left: 50%;
	top: 241px;
	transform: translateX(-50%);
	width: 583px;
	height: 560px;
	background: #ffffff;
	border-radius: 30px;
}

h1.login-card__titulo {
	position: absolute;
	left: 0;
	top: 68px;
	width: 100%;
	margin: 0;
	font: 400 52px/62px var(--fonte-titulos);
	text-align: center;
	color: var(--cor-primaria);
}

.login-card__campo {
	position: absolute;
	left: 66px;
	width: 441px;
	height: 59px;
	box-sizing: border-box;
	padding: 0 0 0 20px;
	background: #f2f2f2;
	border: none;
	border-radius: 20px;
	font: 400 18px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.login-card__campo::placeholder {
	color: var(--cor-texto);
	opacity: 1;
}

.login-card__campo--1 {
	top: 175px;
}

.login-card__campo--2 {
	top: 246px;
}

.login-card__submeter {
	position: absolute;
	left: 50%;
	top: 322px;
	transform: translateX(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 230px;
	height: 59px;
	background: var(--cor-primaria);
	border: none;
	border-radius: 20px;
	cursor: pointer;
	color: #ffffff;
	font: 500 18px/36px var(--fonte-corpo);
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.login-card__submeter:hover {
	background: var(--cor-rosa);
}

p.login-card__link {
	position: absolute;
	left: 0;
	width: 100%;
	margin: 0;
	font: 500 18px/36px var(--fonte-corpo);
	text-align: center;
	color: var(--cor-texto);
}

p.login-card__link a {
	color: inherit;
}

p.login-card__link--recuperar {
	top: 419px;
}

p.login-card__link--criar {
	top: 457px;
}

.login-card__fechar {
	position: absolute;
	right: 40px;
	top: 40px;
	width: 22px;
	height: 22px;
	padding: 0;
	background: none;
	border: none;
	cursor: pointer;
}

.login-card__fechar::before,
.login-card__fechar::after {
	content: "";
	position: absolute;
	left: -4px;
	top: 10px;
	width: 29px;
	height: 1.2px;
	border-radius: 1px;
	background: var(--cor-primaria);
}

.login-card__fechar::before {
	transform: rotate(45deg);
}

.login-card__fechar::after {
	transform: rotate(-45deg);
}

/* =========================================================
   A minha conta
   ========================================================= */

.seccao-hero--conta {
	height: 331px;
	padding-top: 126px;
}

.seccao-hero--conta .seccao-hero__titulo {
	font-size: 78px;
}

.conta-conteudo {
	position: relative;
	height: 2069.5px;
	margin-bottom: 130px;
}

.conta-menu {
	position: absolute;
	left: 2px;
	top: 29px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.conta-menu li {
	position: absolute;
	left: 0;
	width: 338px;
	font: 600 22px/32px var(--fonte-corpo);
	text-transform: uppercase;
}

.conta-menu li a {
	color: var(--cor-texto);
	text-decoration: none;
}

.conta-menu li.ativo a {
	color: var(--cor-primaria);
}

.conta-menu li:nth-child(1) { top: 0; }
.conta-menu li:nth-child(2) { top: 52px; }
.conta-menu li:nth-child(3) { top: 104px; line-height: 30px; text-transform: none; }
.conta-menu li:nth-child(4) { top: 156px; }

h2.conta-titulo {
	position: absolute;
	left: 385px;
	margin: 0;
	font: 400 52px/62px var(--fonte-titulos);
	color: var(--cor-primaria);
}

h2.conta-titulo--faturacao { top: 28px; }
h2.conta-titulo--envio { top: 866px; }
h2.conta-titulo--palavra-passe { top: 1604px; }

.conta-editar {
	position: absolute;
	left: 1366px;
	padding: 0;
	background: none;
	border: none;
	cursor: pointer;
}

.conta-editar img {
	display: block;
	width: 22px;
	height: 22px;
}

.conta-editar--faturacao { top: 54px; }
.conta-editar--envio { top: 892px; }

.conta-campo {
	position: absolute;
}

.conta-campo label {
	display: block;
	font: 500 18px/26px var(--fonte-corpo);
	text-transform: uppercase;
	color: var(--cor-titulos-tom);
}

.conta-campo p {
	position: absolute;
	left: 0;
	top: 32px;
	margin: 0;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.conta-campo span {
	position: absolute;
	left: 0;
	top: 70px;
	width: 100%;
	height: 1px;
	background: var(--cor-cinza-medio);
}

/* Dados de Faturação */
.conta-campo--fat-nome { left: 387px; top: 145px; width: 469px; }
.conta-campo--fat-nif { left: 924px; top: 145px; width: 474px; }
.conta-campo--fat-morada { left: 387px; top: 244px; width: 1011px; }
.conta-campo--fat-porta { left: 387px; top: 343px; width: 307px; }
.conta-campo--fat-andar { left: 739px; top: 343px; width: 307px; }
.conta-campo--fat-fracao { left: 1091px; top: 343px; width: 307.5px; }
.conta-campo--fat-porta span,
.conta-campo--fat-andar span,
.conta-campo--fat-fracao span { top: 71px; }
.conta-campo--fat-codigo-postal { left: 387px; top: 443px; width: 468.5px; }
.conta-campo--fat-localidade { left: 925px; top: 443px; width: 473.7px; }
.conta-campo--fat-codigo-postal span,
.conta-campo--fat-localidade span { top: 70.5px; }
.conta-campo--fat-email { left: 387px; top: 542px; width: 1010.4px; }
.conta-campo--fat-email span { top: 71px; }
.conta-campo--fat-telefone { left: 387px; top: 643px; width: 1010.4px; }
.conta-campo--fat-telefone span { top: 70.5px; }

/* Dados de Envio (grelha normalizada à da Faturação) */
.conta-campo--env-nome { left: 387px; top: 983px; width: 1010.7px; }
.conta-campo--env-morada { left: 387px; top: 1082px; width: 1010.7px; }
.conta-campo--env-porta { left: 387px; top: 1181px; width: 307.2px; }
.conta-campo--env-andar { left: 739px; top: 1181px; width: 307.2px; }
.conta-campo--env-fracao { left: 1091px; top: 1181px; width: 307.5px; }
.conta-campo--env-porta span,
.conta-campo--env-andar span,
.conta-campo--env-fracao span { top: 71px; }
.conta-campo--env-codigo-postal { left: 387px; top: 1281px; width: 468.5px; }
.conta-campo--env-localidade { left: 925px; top: 1281px; width: 473.7px; }
.conta-campo--env-codigo-postal span,
.conta-campo--env-localidade span { top: 70.5px; }
.conta-campo--env-telefone { left: 387px; top: 1380px; width: 1010.4px; }
.conta-campo--env-telefone span { top: 71px; }

/* Alterar Palavra-passe */
.conta-campo--pp-actual { left: 387px; top: 1720px; width: 1012.6px; }
.conta-campo--pp-actual span { top: 70.5px; }
.conta-campo--pp-nova { left: 387px; top: 1819px; width: 1012.6px; }
.conta-campo--pp-confirmar { left: 387px; top: 1883px; width: 1012.6px; }
.conta-campo--pp-nova span,
.conta-campo--pp-confirmar span { top: 35.5px; }

.conta-olho {
	position: absolute;
	left: 963px;
	top: 40px;
	padding: 0;
	background: none;
	border: none;
	cursor: pointer;
}

.conta-olho img {
	display: block;
	width: 32px;
	height: 20px;
}

.conta-optin {
	position: absolute;
	left: 385px;
}

.conta-optin--faturacao { top: 762px; }
.conta-optin--envio { top: 1499px; }

.conta-optin__caixa {
	position: absolute;
	left: 0;
	top: 8px;
	width: 20px;
	height: 20px;
	padding: 0;
	background: #ffffff;
	border: none;
	border-radius: 5px;
	cursor: pointer;
}

.conta-optin__caixa--marcada {
	background: #ffffff url("../img/loja/conta-checkbox-visto.svg") center / 20px 20px no-repeat;
}

p.conta-optin__texto {
	position: absolute;
	left: 30px;
	top: 0;
	width: 537px;
	margin: 0;
	white-space: nowrap;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.conta-guardar {
	position: absolute;
	left: 385px;
	top: 2008.5px;
	width: 280px;
}

/* A minha conta – Encomendas: cards de encomenda. */
.pagina-conta-encomendas .conta-conteudo {
	height: 1172px;
}

.conta-encomenda {
	position: absolute;
	left: 385px;
	width: 1015px;
	height: 378px;
}

.conta-encomenda--1 { top: -3px; }
.conta-encomenda--2 { top: 396px; }
.conta-encomenda--3 { top: 795px; }

p.conta-encomenda__titulo {
	position: absolute;
	left: 1px;
	top: 0;
	margin: 0;
	font: 500 32px/96px var(--fonte-corpo);
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--cor-texto);
}

.conta-encomenda__rotulo {
	position: absolute;
	left: 0;
	margin: 0;
	font: 600 22px/32px var(--fonte-corpo);
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--cor-titulos-tom);
}

.conta-encomenda__valor {
	position: absolute;
	margin: 0;
	font: 500 22px/36px var(--fonte-corpo);
	white-space: nowrap;
	color: var(--cor-texto);
}

.conta-encomenda__rotulo--data { top: 105px; }
.conta-encomenda__valor--data { left: 212px; top: 102px; }
.conta-encomenda__rotulo--preco { top: 147px; }
.conta-encomenda__valor--preco { left: 165px; top: 144px; }
.conta-encomenda__rotulo--destinatario { top: 189px; }
.conta-encomenda__valor--destinatario { left: 176px; top: 186px; }

.conta-encomenda__reencomendar {
	position: absolute;
	left: 0;
	top: 266px;
	width: 240px;
}

.conta-encomenda__ver-mais {
	position: absolute;
	left: 260px;
	top: 266px;
	width: 179px;
}

.conta-badge {
	position: absolute;
	right: 0;
	top: 31px;
	height: 39px;
	box-sizing: border-box;
	padding: 0 24px;
	border-radius: 8px;
	font: 600 18px/39px var(--fonte-corpo);
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--cor-footer);
}

.conta-badge--expedido {
	background: #c4f0cf;
}

.conta-badge--preparacao {
	background: #ffe6b7;
}

.conta-badge--cancelada {
	background: #ffa2a3;
	color: #ffffff;
}

.conta-encomenda__divisor {
	position: absolute;
	left: 0;
	top: 377px;
	width: 1015px;
	height: 1px;
	background: var(--cor-cinza-claro);
}

/* A minha conta – Ver Encomenda. */
.pagina-conta-ver-encomenda .conta-conteudo {
	height: 1921px;
	margin-bottom: 130.5px;
}

p.conta-ver__titulo {
	position: absolute;
	left: 386px;
	top: -3px;
	margin: 0;
	font: 500 32px/96px var(--fonte-corpo);
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--cor-texto);
}

.conta-ver__badge {
	top: 28px;
}

.conta-ver__rotulo {
	position: absolute;
	left: 385px;
	margin: 0;
	font: 600 22px/32px var(--fonte-corpo);
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--cor-titulos-tom);
}

.conta-ver__valor {
	position: absolute;
	margin: 0;
	font: 500 22px/36px var(--fonte-corpo);
	white-space: nowrap;
	color: var(--cor-texto);
}

.conta-ver__rotulo--data { top: 102px; }
.conta-ver__valor--data { left: 597px; top: 99px; }
.conta-ver__rotulo--preco { top: 144px; }
.conta-ver__valor--preco { left: 550px; top: 141px; }
.conta-ver__rotulo--destinatario { top: 186px; }
.conta-ver__valor--destinatario { left: 561px; top: 183px; }

.conta-ver__reencomendar {
	position: absolute;
	left: 385px;
	top: 263px;
	width: 240px;
}

.conta-ver__divisor {
	position: absolute;
	left: 385px;
	width: 1015px;
	height: 1px;
	background: var(--cor-cinza-claro);
}

.conta-ver__divisor--detalhes { top: 374px; }
.conta-ver__divisor--produtos { top: 815px; }

h2.conta-ver__seccao {
	position: absolute;
	margin: 0;
	font: 400 52px/62px var(--fonte-titulos);
	color: var(--cor-primaria);
}

h2.conta-ver__seccao--produtos { left: 385px; top: 419px; }
h2.conta-ver__seccao--faturacao { left: 385px; top: 890px; }
h2.conta-ver__seccao--portes { left: 385px; top: 1616px; }

.conta-ver__cabecalho {
	position: absolute;
	top: 526px;
	margin: 0;
	font: 500 18px/26px var(--fonte-corpo);
	text-transform: uppercase;
	color: var(--cor-titulos-tom);
}

.conta-ver__cabecalho--produtos { left: 385px; }
.conta-ver__cabecalho--quantidade { left: 1095px; }
.conta-ver__cabecalho--preco { left: 1277px; width: 100px; text-align: right; }

.conta-ver-linha {
	position: absolute;
	left: 385px;
	top: 581px;
	width: 1015px;
	height: 77px;
}

.conta-ver-linha--2 { top: 688px; }

.conta-ver-linha__miniatura {
	position: absolute;
	left: 0;
	top: 0;
	width: 80px;
	height: 77px;
	object-fit: cover;
}

p.conta-ver-linha__nome {
	position: absolute;
	left: 104px;
	top: 26px;
	width: 555px;
	margin: 0;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	font: 500 20px/26px var(--fonte-corpo);
	color: var(--cor-primaria);
}

.conta-ver-linha__quantidade {
	position: absolute;
	left: 764px;
	top: 26px;
	font: 500 18px/26px var(--fonte-corpo);
	color: var(--cor-texto);
}

.conta-ver-linha__preco {
	position: absolute;
	left: 891px;
	top: 25px;
	width: 100px;
	text-align: right;
	font: 500 18px/26px var(--fonte-corpo);
	color: var(--cor-texto);
}

/* Campos de faturação da encomenda (grelha própria desta página). */
.conta-campo--ver-nome { left: 385px; top: 1007px; width: 471px; }
.conta-campo--ver-nif { left: 923px; top: 1007px; width: 477px; }
.conta-campo--ver-morada { left: 385px; top: 1106px; width: 1014px; }
.conta-campo--ver-porta { left: 385px; top: 1205px; width: 309px; }
.conta-campo--ver-andar { left: 738px; top: 1205px; width: 308px; }
.conta-campo--ver-fracao { left: 1090px; top: 1205px; width: 308px; }
.conta-campo--ver-porta span,
.conta-campo--ver-andar span,
.conta-campo--ver-fracao span { top: 71px; }
.conta-campo--ver-codigo-postal { left: 385px; top: 1305px; width: 471px; }
.conta-campo--ver-localidade { left: 923px; top: 1305px; width: 476px; }
.conta-campo--ver-localidade span { top: 70.5px; }
.conta-campo--ver-email { left: 385px; top: 1404px; width: 1014px; }
.conta-campo--ver-email span { top: 71px; }
.conta-campo--ver-telefone { left: 385px; top: 1505px; width: 1015px; }
.conta-campo--ver-telefone span { top: 35px; }

p.conta-ver__envio-metodo {
	position: absolute;
	left: 385px;
	top: 1722px;
	margin: 0;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

p.conta-ver__pagamento-metodo {
	position: absolute;
	left: 908px;
	top: 1724px;
	margin: 0;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

.conta-ver__pagamento-icone {
	position: absolute;
	left: 1028px;
	top: 1725px;
	width: 32px;
	height: 31px;
}

.conta-ver__multibanco {
	left: 908px;
	top: 1782px;
	background: rgba(255, 255, 255, 0.8);
}

/* A minha conta – Lista de Desejos. */
.pagina-conta-lista-desejos .conta-conteudo {
	height: 1824px;
	margin-bottom: 130.5px;
}

.conta-desejo {
	position: absolute;
	left: 385px;
	width: 1015px;
	height: 271px;
}

.conta-desejo--1 { top: 25px; }
.conta-desejo--2 { top: 345px; }
.conta-desejo--3 { top: 694px; }
.conta-desejo--4 { top: 1014px; }
.conta-desejo--5 { top: 1363px; }

.conta-desejo__imagem {
	position: absolute;
	left: 0;
	top: 0;
	width: 220px;
	height: 220px;
	border-radius: 30px;
	object-fit: cover;
}

p.conta-desejo__nome {
	position: absolute;
	left: 252px;
	top: 18px;
	width: 719px;
	margin: 0;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	font: 400 26px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

p.conta-desejo__preco {
	position: absolute;
	left: 252px;
	top: 86px;
	margin: 0;
	font: 500 30px/38px var(--fonte-corpo);
	text-transform: uppercase;
	color: var(--cor-primaria);
}

.conta-desejo__quantidade {
	position: absolute;
	left: 252px;
	top: 158px;
	width: 128px;
	height: 61px;
	box-sizing: border-box;
	border: 1px solid var(--cor-cinza-medio);
	border-radius: 12px;
}

.conta-desejo__adicionar {
	position: absolute;
	left: 404px;
	top: 158px;
	width: 331px;
}

.conta-desejo__favorito {
	position: absolute;
	left: 761px;
	top: 159px;
	width: 57px;
	height: 57px;
	padding: 0;
	background: var(--cor-primaria);
	border: none;
	border-radius: 50%;
	cursor: pointer;
}

.conta-desejo__favorito img {
	position: absolute;
	left: 17px;
	top: 17px;
	width: 22px;
	height: 22px;
}

.conta-desejo__divisor {
	position: absolute;
	left: 0;
	top: 270px;
	width: 1015px;
	height: 1px;
	background: var(--cor-cinza-claro);
}

p.conta-desejo-contador {
	position: absolute;
	left: 385px;
	top: 1682px;
	margin: 0;
	font: 500 18px/26px var(--fonte-corpo);
	color: var(--cor-titulos-tom);
}

.conta-desejo-paginacao__pagina {
	position: absolute;
	top: 1663px;
	width: 59px;
	height: 59px;
	font: 600 22px/59px var(--fonte-corpo);
	text-align: center;
	text-decoration: none;
	color: var(--cor-texto);
}

.conta-desejo-paginacao__pagina.ativo {
	left: 1247px;
	box-sizing: border-box;
	border: 2px solid var(--cor-primaria);
	border-radius: 50%;
	color: var(--cor-primaria);
}

.conta-desejo-paginacao__pagina--2 {
	left: 1313px;
}

.conta-desejo-paginacao__seta {
	position: absolute;
	left: 1389px;
	top: 1681px;
}

.conta-desejo-paginacao__seta img {
	display: block;
	width: 11px;
	height: 22px;
}

.conta-desejo-visitar {
	position: absolute;
	left: 738px;
	top: 1763px;
	width: 295px;
}

/* No estado ativo o item "Lista de Desejos" do menu renderiza em maiúsculas. */
.pagina-conta-lista-desejos .conta-menu li:nth-child(3) {
	text-transform: uppercase;
	line-height: 32px;
}

/* =========================================================
   Lista de Terapias
   ========================================================= */

.terapias-hero {
	position: relative;
	height: 463px;
}

h1.terapias-hero__titulo {
	position: absolute;
	left: 0;
	top: 153px;
	margin: 0;
	font: 400 92px/96px var(--fonte-titulos-alt);
	letter-spacing: 0;
	color: var(--cor-primaria);
}

p.terapias-hero__paragrafo {
	position: absolute;
	left: 741px;
	top: 175px;
	width: 659px;
	margin: 0;
	font: 400 26px/36px var(--fonte-corpo);
	color: #2b2b2b;
}

.terapias-lista {
	position: relative;
	height: 622px;
	margin-bottom: 130px;
}

.terapias-lista__foto {
	position: absolute;
	width: 262px;
	height: 319px;
	object-fit: cover;
}

.terapias-lista__foto--astrologia {
	left: 0;
	top: 5px;
}

.terapias-lista__foto--tarot {
	left: 741px;
	top: 105px;
}

h2.terapias-lista__titulo {
	position: absolute;
	width: 361px;
	margin: 0;
	font: 400 52px/62px var(--fonte-titulos);
	color: var(--cor-primaria);
}

h2.terapias-lista__titulo--astrologia {
	left: 298px;
	top: 0;
}

h2.terapias-lista__titulo--tarot {
	left: 1039px;
	top: 100px;
}

p.terapias-lista__paragrafo {
	position: absolute;
	width: 301px;
	margin: 0;
	font: 400 22px/36px var(--fonte-corpo);
	color: var(--cor-texto);
}

p.terapias-lista__paragrafo--astrologia {
	left: 358px;
	top: 169px;
}

p.terapias-lista__paragrafo--tarot {
	left: 1099px;
	top: 260px;
}

.terapias-lista__botao--astrologia {
	position: absolute;
	left: 358px;
	top: 470px;
}

.terapias-lista__botao--tarot {
	position: absolute;
	left: 1094px;
	top: 561px;
}

/* =========================================================
   Página da Terapia – Tarot (deltas sobre a anatomia da Astrologia)
   ========================================================= */

.pagina-terapia-tarot .terapia-hero__subtitulo {
	top: 172px;
}

.pagina-terapia-tarot .terapia-hero__meta {
	top: 280px;
}

.pagina-terapia-tarot .terapia-hero__paragrafo {
	top: 377px;
}

.pagina-terapia-tarot .terapia-hero__botao {
	top: 539px;
}

.pagina-terapia-tarot .terapia-sobre-consulta__texto {
	top: 453px;
}

.pagina-terapia-tarot .terapia-como-funciona {
	height: 1068px;
	margin-top: 8px;
}

.pagina-terapia-tarot .terapia-como-funciona__item--2 {
	top: 763px;
}

.pagina-terapia-tarot .terapia-como-funciona__item--2 .terapia-como-funciona__item-titulo {
	top: 17px;
}

.pagina-terapia-tarot .terapia-como-funciona__item--2 .terapia-como-funciona__item-texto {
	top: 48px;
}

.pagina-terapia-tarot .terapia-como-funciona__botao {
	top: 1007px;
}

.pagina-terapia-tarot .terapia-sobre-leonardo {
	margin-top: 131px;
}

.pagina-terapia-tarot .terapia-sobre-astrologia {
	height: 917px;
}

/* =========================================================
   Header global
   ========================================================= */

.site-header {
	position: relative;
	max-width: none;
	height: 100px;
	padding: 0;
	background: #f7f3ee;
}

.header-logo {
	position: absolute;
	left: 260px;
	top: 32px;
	display: block;
}

.header-logo img {
	display: block;
	width: 263.5px;
	height: 40px;
}

.header-menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.header-menu li {
	position: absolute;
	top: 38px;
	font: 500 18px/23px var(--fonte-corpo);
	white-space: nowrap;
}

.header-menu li a {
	color: var(--cor-texto);
	text-decoration: none;
}

.header-menu li a:hover {
	color: var(--cor-primaria);
}

.header-menu li:nth-child(1) { left: 733px; }
.header-menu li:nth-child(2) { left: 878px; }
.header-menu li:nth-child(3) { left: 982px; }
.header-menu li:nth-child(4) { left: 1113px; }
.header-menu li:nth-child(5) { left: 1187px; }

.header-icone {
	position: absolute;
	padding: 0;
	background: none;
	border: none;
	cursor: pointer;
}

.header-icone img {
	display: block;
}

.header-icone--pesquisar { left: 1552px; top: 39px; }
.header-icone--conta { left: 1592px; top: 39px; }
.header-icone--carrinho { left: 1632px; top: 44px; }

.header-loja {
	position: absolute;
	left: 1428px;
	top: 27px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 106px;
	height: 50px;
	background: var(--cor-primaria);
	border-radius: 12px;
	color: #ffffff;
	font: 600 18px/36px var(--fonte-corpo);
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.header-loja:hover {
	background: var(--cor-rosa);
}

/* =========================================================
   Newsletter global
   ========================================================= */

.seccao-newsletter {
	position: relative;
	height: 736px;
}

.seccao-newsletter__fundo {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 736px;
	mix-blend-mode: multiply;
}

.seccao-newsletter__foto {
	position: absolute;
	border-radius: 30px;
	object-fit: cover;
}

.seccao-newsletter__foto--flor {
	left: 0;
	top: 204px;
	width: 339px;
	height: 245px;
}

.seccao-newsletter__foto--sol {
	left: 1060px;
	top: 295px;
	width: 339px;
	height: 335px;
	border-radius: 30px 30px 0 0;
}

h2.seccao-newsletter__titulo {
	position: absolute;
	left: 475.5px;
	top: 109px;
	width: 455px;
	margin: 0;
	font: 400 52px/62px var(--fonte-titulos);
	text-align: center;
	color: #ffffff;
}

p.seccao-newsletter__subtitulo {
	position: absolute;
	left: 479.5px;
	top: 247px;
	width: 441px;
	margin: 0;
	font: 400 22px/36px var(--fonte-corpo);
	text-align: center;
	color: #ffffff;
}

.seccao-newsletter__campo {
	position: absolute;
	left: 479.5px;
	width: 441px;
	height: 59px;
	box-sizing: border-box;
	padding: 0 0 0 20px;
	background: #ffffff;
	border: none;
	border-radius: 20px;
	font: 400 18px/24px var(--fonte-corpo);
	color: var(--cor-titulos-tom);
}

.seccao-newsletter__campo::placeholder {
	color: var(--cor-titulos-tom);
	opacity: 1;
}

.seccao-newsletter__campo--nome { top: 325px; }
.seccao-newsletter__campo--apelido { top: 396px; }
.seccao-newsletter__campo--email { top: 467px; }

.seccao-newsletter__botao {
	position: absolute;
	left: 479.5px;
	top: 538px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 441px;
	height: 59px;
	background: var(--cor-primaria);
	border: none;
	border-radius: 20px;
	cursor: pointer;
	color: #ffffff;
	font: 400 18px/36px var(--fonte-corpo);
	text-transform: uppercase;
	transition: background-color 0.2s ease;
}

.seccao-newsletter__botao:hover {
	background: var(--cor-rosa);
}

.seccao-newsletter__optin-caixa {
	position: absolute;
	left: 480.5px;
	top: 609px;
	width: 20px;
	height: 20px;
	padding: 0;
	background: #ffffff;
	border: none;
	border-radius: 5px;
	cursor: pointer;
}

p.seccao-newsletter__optin-texto {
	position: absolute;
	left: 510.5px;
	top: 601px;
	margin: 0;
	font: 400 18px/36px var(--fonte-corpo);
	white-space: nowrap;
	color: #ffffff;
}

p.seccao-newsletter__optin-texto a {
	color: inherit;
}

/* =========================================================
   Footer global
   ========================================================= */

.site-footer {
	position: relative;
	max-width: none;
	height: 445px;
	padding: 0;
	background: var(--cor-footer);
}

.footer-logo {
	position: absolute;
	left: 0;
	top: 90px;
	display: block;
}

.footer-logo img {
	display: block;
	width: 235px;
	height: 35.7px;
}

p.footer-descricao {
	position: absolute;
	left: 0;
	top: 142px;
	width: 270px;
	margin: 0;
	font: 400 18px/24px var(--fonte-corpo);
	color: #ffffff;
}

.footer-social {
	position: absolute;
	top: 265px;
	display: block;
}

.footer-social--facebook { left: 0; }
.footer-social--instagram { left: 48px; }
.footer-social--pinterest { left: 96px; }

.footer-social img {
	display: block;
	width: 32px;
	height: 32px;
}

.footer-coluna {
	position: absolute;
	top: 84px;
	margin: 0;
	padding: 0;
	list-style: none;
	width: 327px;
}

.footer-coluna--explorar { left: 456px; width: 244px; }
.footer-coluna--apoio { left: 774px; }
.footer-coluna--legal { left: 1147px; }

.footer-coluna__titulo {
	position: absolute;
	left: 0;
	top: 0;
	font: 400 22px/36px var(--fonte-corpo);
	letter-spacing: 1.5px;
	color: var(--cor-creme);
}

.footer-coluna li {
	position: absolute;
	left: 0;
	font: 400 20px/36px var(--fonte-corpo);
	white-space: nowrap;
}

.footer-coluna li a {
	color: #ffffff;
	text-decoration: none;
}

.footer-coluna li a:hover {
	color: var(--cor-creme);
}

.footer-coluna--explorar li:nth-of-type(2) { top: 53px; }
.footer-coluna--explorar li:nth-of-type(3) { top: 94px; }
.footer-coluna--explorar li:nth-of-type(4) { top: 130px; }
.footer-coluna--explorar li:nth-of-type(5) { top: 166px; }

.footer-coluna--apoio li:nth-of-type(2),
.footer-coluna--legal li:nth-of-type(2) { top: 53px; }
.footer-coluna--apoio li:nth-of-type(3),
.footer-coluna--legal li:nth-of-type(3) { top: 89px; }
.footer-coluna--apoio li:nth-of-type(4),
.footer-coluna--legal li:nth-of-type(4) { top: 125px; }
.footer-coluna--apoio li:nth-of-type(5),
.footer-coluna--legal li:nth-of-type(5) { top: 161px; }

.footer-divisor {
	position: absolute;
	left: 0;
	top: 365.5px;
	width: 100%;
	height: 1px;
	background: var(--cor-creme);
}

p.footer-pagamentos {
	position: absolute;
	left: 0;
	top: 390px;
	margin: 0;
	font: 400 18px/24px var(--fonte-corpo);
	color: #ffffff;
}

.footer-pagamento-icone {
	position: absolute;
	top: 392px;
	width: 33px;
	height: 22px;
}

.footer-pagamento-icone--paypal { left: 295px; }
.footer-pagamento-icone--visa { left: 340px; }
.footer-pagamento-icone--mbway { left: 385px; }

.footer-mbway {
	position: absolute;
	left: 385px;
	top: 392px;
	width: 33px;
	height: 22px;
}

.footer-mbway img {
	position: absolute;
	left: 0;
	top: 0;
	width: 33px;
	height: 22px;
}

.footer-mbway img + img {
	left: 5.7px;
	top: 5.7px;
	width: 21.5px;
	height: 10.5px;
}

p.footer-copyright {
	position: absolute;
	right: 0;
	top: 390px;
	width: 812px;
	margin: 0;
	font: 400 18px/24px var(--fonte-corpo);
	text-align: right;
	color: #ffffff;
}

/* =========================================================
   Home – Mobile (390px) e chrome global mobile
   ========================================================= */

.so-mobile {
	display: none;
}

@media (max-width: 430px) {

	body {
		min-width: 0;
		overflow-x: hidden;
	}

	.so-mobile {
		display: block;
	}

	.seccao-inner {
		width: 100%;
	}

	/* ---- Header mobile ---- */
	.site-header {
		height: 64px;
	}

	.header-logo {
		left: 16.5px;
		top: 20.5px;
	}

	.header-logo img {
		width: 150px;
		height: 23px;
	}

	.header-menu,
	.header-loja,
	.header-icone--conta {
		display: none;
	}

	.header-icone--pesquisar {
		left: 280px;
		top: 23.5px;
	}

	.header-icone--pesquisar img {
		width: 17px;
		height: 17px;
	}

	.header-icone--carrinho {
		left: 312px;
		top: 24px;
	}

	.header-hamburger {
		left: 350px;
		top: 25px;
		width: 22px;
		height: 14px;
	}

	.header-hamburger span {
		position: absolute;
		left: 0;
		width: 22px;
		height: 2px;
		border-radius: 1px;
		background: var(--cor-primaria);
	}

	.header-hamburger span:nth-child(1) { top: 0; }
	.header-hamburger span:nth-child(2) { top: 6px; }
	.header-hamburger span:nth-child(3) { top: 12px; }

	/* ---- Botões pill mobile ---- */
	.pagina-home-final .botao-principal,
	.pagina-home-final .botao-lista {
		height: 50px;
		font-size: 16px;
	}

	/* ---- Hero ---- */
	.pagina-home-final .home-hero {
		height: 783px;
		margin-top: -2px;
	}

	.pagina-home-final .home-hero__foto,
	.pagina-home-final .home-hero__overlay {
		display: none;
	}

	.pagina-home-final .home-hero__foto--mobile {
		display: block;
		position: absolute;
		left: 0;
		top: 0;
		width: 390px;
		height: 783px;
	}

	.pagina-home-final .home-hero__promessa {
		left: 56px;
		top: 178px;
		transform: none;
		text-shadow: none;
		width: 278px;
		height: 296px;
		box-sizing: border-box;
		padding: 37px 14px 0;
		margin: 0;
		background: rgba(255, 255, 255, 0.7767);
		border-radius: 20px;
		font: 400 40px/46px var(--fonte-titulos);
		text-align: center;
		color: var(--cor-texto);
	}

	.pagina-home-final .home-hero__seta {
		top: 313px;
	}

	.pagina-home-final .home-hero__seta--esquerda { left: 16px; }
	.pagina-home-final .home-hero__seta--direita { left: 363px; }

	.pagina-home-final .home-hero__seta img {
		width: 11px;
		height: 22px;
	}

	/* ---- Categorias: pills empilhadas sobre o arco ---- */
	.pagina-home-final .home-categorias {
		position: relative;
		height: 256px;
		margin-top: -128px;
		z-index: 1;
	}

	.pagina-home-final .categoria-card {
		position: absolute;
		left: 50px;
		width: 290px;
		height: 80px;
		background: var(--cor-creme);
		border-radius: 16px;
	}

	.pagina-home-final .categoria-card--loja { top: 0; }
	.pagina-home-final .categoria-card--terapias { top: 88px; }
	.pagina-home-final .categoria-card--actividades { top: 176px; }

	.pagina-home-final .home-categorias .categoria-card--loja .categoria-card__icone,
	.pagina-home-final .home-categorias .categoria-card--terapias .categoria-card__icone,
	.pagina-home-final .home-categorias .categoria-card--actividades .categoria-card__icone {
		position: absolute;
		left: 18px;
		top: 4px;
		width: 65px;
		height: 73px;
		object-fit: contain;
		mix-blend-mode: multiply;
	}

	.pagina-home-final .home-categorias .categoria-card--loja .categoria-card__rotulo,
	.pagina-home-final .home-categorias .categoria-card--terapias .categoria-card__rotulo,
	.pagina-home-final .home-categorias .categoria-card--actividades .categoria-card__rotulo {
		position: absolute;
		left: 98px;
		top: 22px;
		bottom: auto;
		width: auto;
		margin: 0;
		font: 500 20px/36px var(--fonte-corpo);
		text-transform: uppercase;
		color: var(--cor-primaria);
	}

	/* ---- Título de secção mobile ---- */
	.pagina-home-final .home-boas-vindas__titulo,
	.pagina-home-final .home-terapias__titulo,
	.pagina-home-final .home-loja__titulo,
	.pagina-home-final .home-actividades__titulo,
	.pagina-home-final .home-sobre-leonardo__titulo,
	.pagina-home-final .home-blog__titulo {
		position: absolute;
		left: 24px;
		top: 0;
		width: 344px;
		margin: 0;
		/* O translateX(-50%) do desktop tirava o título 148px do ecrã. */
		transform: none;
		font: 400 38px/48px var(--fonte-titulos);
		text-align: center;
		color: var(--cor-primaria);
	}

	.pagina-home-final .home-loja__titulo {
		white-space: nowrap;
	}

	.pagina-home-final .home-loja__titulo br,
	.pagina-home-final .home-sobre-leonardo__titulo br {
		display: none;
	}

	/* ---- Boas-vindas ---- */
	.pagina-home-final .home-boas-vindas {
		height: 856px;
		margin-top: 67px;
	}

	.pagina-home-final .home-boas-vindas__texto {
		position: absolute;
		left: 24px;
		top: 121px;
		width: 344px;
		font: 400 16px/26px var(--fonte-corpo);
		text-align: center;
		color: var(--cor-texto);
	}

	.pagina-home-final .home-boas-vindas__imagem--flores {
		display: none;
	}

	.pagina-home-final .home-boas-vindas__botao {
		left: 92px;
		top: 462px;
		width: 206px;
	}

	.pagina-home-final .home-boas-vindas__imagem--dente-leao {
		left: 93px;
		top: 552px;
		width: 205px;
		height: 304px;
		border-radius: 20px;
		object-fit: cover;
	}

	/* ---- Terapias ---- */
	.pagina-home-final .home-terapias {
		height: 1169px;
		margin-top: 67px;
	}

	.pagina-home-final .home-terapias__intro {
		position: absolute;
		left: 24px;
		top: 122px;
		width: 344px;
		margin: 0;
		font: 400 18px/26px var(--fonte-corpo);
		text-align: center;
		color: var(--cor-footer);
	}

	.pagina-home-final .home-terapias__slider {
		position: static;
		width: auto;
	}

	.pagina-home-final .home-terapias__slide-imagem,
	.pagina-home-final .home-terapias__slide-foto {
		display: none;
	}

	.pagina-home-final .home-terapias__slide-imagem--mobile {
		display: block;
		position: absolute;
		left: 26px;
		top: 269px;
		width: 291px;
		height: 289px;
		border-radius: 20px;
		object-fit: cover;
	}

	.pagina-home-final .home-terapias__slide-foto--mobile {
		display: block;
		position: absolute;
		left: 222px;
		top: 447px;
		width: 143px;
		height: 174px;
		border-radius: 16px;
		object-fit: cover;
	}

	.pagina-home-final .home-terapias__slide-titulo {
		position: absolute;
		left: 24px;
		top: 641px;
		width: 344px;
		margin: 0;
		font: 500 20px/36px var(--fonte-corpo);
		text-align: center;
		text-transform: uppercase;
		color: var(--cor-primaria);
	}

	.pagina-home-final .home-terapias__slide-texto {
		position: absolute;
		left: 24px;
		top: 697px;
		width: 344px;
		margin: 0;
		font: 400 16px/26px var(--fonte-corpo);
		text-align: center;
		color: var(--cor-texto);
	}

	.pagina-home-final .home-terapias__slide-botao {
		left: 92px;
		top: 1066px;
		width: 206px;
	}

	.pagina-home-final .home-terapias__dots {
		position: absolute;
		left: 158px;
		top: 1156px;
		display: flex;
		gap: 7.5px;
	}

	.pagina-home-final .home-terapias__dot {
		width: 13px;
		height: 13px;
		background: var(--cor-cinza-claro);
	}

	.pagina-home-final .home-terapias__dot.ativo {
		background: var(--cor-rosa);
	}

	/* ---- Loja ---- */
	.pagina-home-final .home-loja {
		height: 708px;
		margin-top: 71px;
		margin-bottom: 68px;
	}

	.pagina-home-final .home-loja__intro {
		position: absolute;
		left: 24px;
		top: 68px;
		width: 344px;
		margin: 0;
		font: 400 18px/26px var(--fonte-corpo);
		text-align: center;
		color: var(--cor-footer);
	}

	.pagina-home-final .home-loja__botao {
		left: 90px;
		top: 205px;
		width: 210px;
	}

	.pagina-home-final .home-loja__grelha {
		position: absolute;
		left: 24px;
		top: 305px;
		width: 344px;
		gap: 12px;
	}

	.pagina-home-final .home-loja__grelha .produto-card:nth-child(n+3) {
		display: none;
	}

	.pagina-home-final .produto-card {
		width: 166px;
		height: 280px;
	}

	.pagina-home-final .produto-card__imagem {
		width: 166px;
		height: 191px;
		border-radius: 16px 16px 0 0;
	}

	.pagina-home-final .produto-card__desejos {
		top: 12px;
		right: 12px;
		width: 21px;
		height: 21px;
	}

	.pagina-home-final .produto-card__desejos img {
		left: 5px;
		top: 6px;
		width: 11px;
		height: 9px;
	}

	.pagina-home-final .produto-card__faixa {
		top: 177px;
		width: 166px;
		height: 103px;
		border-radius: 0 0 16px 16px;
	}

	.pagina-home-final .produto-card__nome {
		left: 12px;
		top: 11px;
		width: 143px;
		font: 600 16px/22px var(--fonte-corpo);
	}

	.pagina-home-final .produto-card__preco {
		left: 12px;
		top: 67px;
		font: 600 16px/24px var(--fonte-corpo);
	}

	.pagina-home-final .produto-card__quantidade {
		display: none !important;
	}

	.pagina-home-final .produto-card__carrinho {
		right: 12px;
		top: 73px;
	}

	.pagina-home-final .produto-card__carrinho img {
		width: 17px;
	}

	.pagina-home-final .home-loja__dots {
		position: absolute;
		left: 179px;
		top: 615px;
		display: flex;
		gap: 7px;
	}

	.home-loja__dot-mobile {
		width: 13px;
		height: 13px;
		border-radius: 50%;
		background: var(--cor-cinza-claro);
	}

	.home-loja__dot-mobile.ativo {
		background: var(--cor-rosa);
	}

	/* Ticker mobile: 32px, brilhos 16px. */
	.pagina-home-final .home-loja__ticker {
		top: 668px;
		height: 40px;
	}

	.pagina-home-final .home-loja__ticker-item {
		font-size: 32px;
		line-height: 40px;
	}

	.pagina-home-final .home-loja__ticker-brilho {
		width: 16px;
		height: 16px;
		top: 10px;
	}

	/* No mobile as posições do friso são próprias (sobrepõem os estilos inline). */
	.pagina-home-final .home-loja__ticker-item:nth-of-type(1) { left: 0 !important; }
	.pagina-home-final .home-loja__ticker-brilho:nth-of-type(1) { left: 345px !important; }
	.pagina-home-final .home-loja__ticker-item:nth-of-type(2) { left: 400px !important; }
	.pagina-home-final .home-loja__ticker-brilho:nth-of-type(2) { left: 655px !important; }
	.pagina-home-final .home-loja__ticker-item:nth-of-type(3) { left: 683px !important; }
	.pagina-home-final .home-loja__ticker-brilho:nth-of-type(3) { left: 940px !important; }
	.pagina-home-final .home-loja__ticker-item:nth-of-type(4) { left: 968px !important; }

	/* ---- Actividades ---- */
	.pagina-home-final .home-actividades {
		height: 897px;
		margin-top: 0;
	}

	.pagina-home-final .home-actividades__intro {
		position: absolute;
		left: 24px;
		top: 126px;
		width: 344px;
		margin: 0;
		font: 400 18px/26px var(--fonte-corpo);
		text-align: center;
		color: var(--cor-footer);
	}

	.pagina-home-final .home-actividades__botao {
		left: 90px;
		top: 263px;
		width: 210px;
	}

	.pagina-home-final .home-actividades__lateral,
	.pagina-home-final .home-actividades-card--tarot {
		display: none;
	}

	.pagina-home-final .home-actividades-card--astrologia {
		left: 24px;
		top: 373px;
		width: 340px;
		height: 484px;
		background: #ffffff;
		border-radius: 20px;
	}

	.pagina-home-final .home-actividades-card__imagem {
		display: none;
	}

	.pagina-home-final .home-actividades-card__imagem--mobile {
		display: block;
		position: absolute;
		left: 0;
		top: 0;
		width: 340px;
		height: 185px;
		border-radius: 20px 20px 0 0;
		object-fit: cover;
	}

	.pagina-home-final .home-actividades-card__titulo {
		left: 24px;
		top: 205px;
		font: 500 20px/36px var(--fonte-corpo);
		text-transform: uppercase;
	}

	.pagina-home-final .home-actividades-card__formador {
		left: 24px;
		top: 245px;
		font: italic 400 14px/36px var(--fonte-corpo);
	}

	.pagina-home-final .home-actividades-card__meta-icone--data {
		left: 24px;
		top: 271px;
		width: 15px;
		height: 15px;
	}

	.pagina-home-final .home-actividades-card__meta--data {
		left: 46px;
		top: 263px;
		font: 600 14px/36px var(--fonte-corpo);
	}

	.pagina-home-final .home-actividades-card__meta-icone--formato {
		left: 146px;
		top: 271px;
		width: 20px;
		height: 20px;
	}

	.pagina-home-final .home-actividades-card__meta--formato {
		left: 176px;
		top: 263px;
		font: 600 14px/36px var(--fonte-corpo);
	}

	.pagina-home-final .home-actividades-card__excerto {
		display: none;
	}

	.pagina-home-final .home-actividades-card__excerto--mobile {
		display: block;
		position: absolute;
		left: 24px;
		top: 308px;
		width: 293px;
		margin: 0;
		font: 400 16px/26px var(--fonte-corpo);
		color: var(--cor-texto);
	}

	.pagina-home-final .home-actividades-card__saber-mais {
		left: 24px;
		top: 429px;
		font: 600 16px/36px var(--fonte-corpo);
	}

	.pagina-home-final .home-actividades-card__saber-mais img {
		width: 15px;
		height: 8px;
	}

	.pagina-home-final .home-actividades__dots {
		position: absolute;
		left: 179px;
		top: 884px;
		display: flex;
		gap: 7px;
	}

	/* ---- Sobre Leonardo ---- */
	.pagina-home-final .home-sobre-leonardo {
		height: 859px;
		margin-top: 67px;
	}

	.pagina-home-final .home-sobre-leonardo__bio {
		position: absolute;
		left: 23px;
		top: 125px;
		width: 344px;
		margin: 0;
		font: 400 16px/26px var(--fonte-corpo);
		text-align: center;
		color: var(--cor-texto);
	}

	.pagina-home-final .home-sobre-leonardo__botao {
		display: none;
	}

	.pagina-home-final .home-sobre-leonardo__media {
		display: contents;
	}

	.pagina-home-final .home-sobre-leonardo__foto {
		display: none;
	}

	.pagina-home-final .home-sobre-leonardo__foto--mobile {
		display: block;
		position: absolute;
		left: 24px;
		top: 420px;
		width: 343px;
		height: 373px;
		border-radius: 20px;
		object-fit: cover;
	}

	.pagina-home-final .home-sobre-leonardo__selo {
		position: absolute;
		left: 130px;
		top: 729px;
		width: 131px;
		height: 130px;
	}

	/* ---- Testemunhos (partial em modo mobile) ---- */
	.pagina-home-final .seccao-testemunhos--home {
		height: 816px;
		margin-top: 70px;
		background-image: url("../img/site/hm-testemunhos-fundo.png");
		background-size: cover;
		background-position: center;
	}

	.pagina-home-final .seccao-testemunhos__card {
		left: 24px;
		top: 70.5px;
		width: 344px;
		height: 399.5px;
		border-radius: 20px;
	}

	.pagina-home-final .seccao-testemunhos__foto {
		left: 33px;
		top: 39px;
	}

	.pagina-home-final .seccao-testemunhos__nome {
		left: 103px;
		top: 37px;
		font: 600 18px/36px var(--fonte-corpo);
	}

	.pagina-home-final .seccao-testemunhos__data {
		left: 104px;
		top: 68px;
		font: 500 14px/16px var(--fonte-corpo);
	}

	.pagina-home-final .seccao-testemunhos__google {
		left: 252px;
		top: 68.5px;
		width: 59px;
		height: 18.5px;
	}

	.pagina-home-final .seccao-testemunhos__estrelas {
		left: 33px;
		top: 120px;
		width: 93.7px;
		height: 17.5px;
	}

	.pagina-home-final .seccao-testemunhos__texto {
		left: 33px;
		top: 151px;
		width: 277px;
		font: 400 16px/26px var(--fonte-corpo);
	}

	.pagina-home-final .seccao-testemunhos__paginacao {
		left: 158px;
		top: 499px;
		gap: 7.5px;
	}

	.pagina-home-final .seccao-testemunhos__dot {
		width: 13px;
		height: 13px;
		background: var(--cor-cinza-claro);
	}

	.pagina-home-final .seccao-testemunhos__dot.ativo {
		background: var(--cor-rosa);
	}

	.pagina-home-final .seccao-testemunhos__avaliacoes {
		left: 24px;
		top: 560px;
		width: 344px;
		height: 184px;
		border-radius: 14px;
	}

	.pagina-home-final .seccao-testemunhos__rating {
		left: 96.8px;
		top: 28.5px;
		font: 600 26px/36px var(--fonte-corpo);
	}

	.pagina-home-final .seccao-testemunhos__avaliacoes-estrelas {
		left: 144px;
		top: 35px;
		width: 106.7px;
		height: 22px;
	}

	.pagina-home-final .seccao-testemunhos__avaliacoes-texto {
		left: 91.4px;
		top: 63.5px;
		font: 500 16px/26px var(--fonte-corpo);
	}

	.pagina-home-final .seccao-testemunhos__avaliacoes-google {
		left: 203.6px;
		top: 69px;
		width: 51.6px;
		height: 16.2px;
	}

	.pagina-home-final .seccao-testemunhos__avaliacoes-botao {
		left: 34px;
		top: 102px;
		width: 277.5px;
	}

	/* ---- Blog ---- */
	.pagina-home-final .home-blog {
		height: 774px;
		margin-top: 55px;
		margin-bottom: 115px;
	}

	.pagina-home-final .home-blog__titulo {
		left: 23px;
	}

	.pagina-home-final .home-blog-card--2,
	.pagina-home-final .home-blog-card--3,
	.pagina-home-final .home-blog__dot {
		display: none;
	}

	.pagina-home-final .home-blog-card--1 {
		left: 25px;
		top: 89px;
		width: 341px;
		height: 552px;
		background: #ffffff;
		border-radius: 20px;
	}

	.pagina-home-final .home-blog-card__imagem {
		width: 341px;
		height: 214px;
		border-radius: 20px 20px 0 0;
		object-fit: cover;
	}

	.pagina-home-final .home-blog-card__titulo {
		left: 20.8px;
		top: 234px;
		width: 296px;
		font: 500 20px/28px var(--fonte-corpo);
	}

	.pagina-home-final .home-blog-card__meta {
		left: 21.8px;
		top: 298px;
		width: 297px;
		font: 400 12px/24px var(--fonte-corpo);
	}

	.pagina-home-final .home-blog-card__excerto {
		left: 21.8px;
		top: 336px;
		width: 295px;
		font: 400 16px/26px var(--fonte-corpo);
	}

	.pagina-home-final .home-blog-card__ler-mais {
		left: 21px;
		top: 503px;
		font: 600 16px/36px var(--fonte-corpo);
	}

	.pagina-home-final .home-blog-card__ler-mais img {
		width: 15px;
		height: 8px;
	}

	.pagina-home-final .home-blog__dots {
		position: absolute;
		left: 179px;
		top: 671px;
		display: flex;
		gap: 7px;
	}

	.pagina-home-final .home-blog__botao {
		left: 90px;
		top: 724px;
		width: 210px;
	}

	/* ---- Newsletter mobile ---- */
	.seccao-newsletter {
		height: 537px;
	}

	.seccao-newsletter__fundo {
		height: 537px;
		object-fit: cover;
	}

	.seccao-newsletter__foto {
		display: none;
	}

	h2.seccao-newsletter__titulo {
		left: 23px;
		top: 55px;
		width: 344px;
		font: 400 38px/48px var(--fonte-titulos);
	}

	p.seccao-newsletter__subtitulo {
		left: 23px;
		top: 154px;
		width: 344px;
		font: 400 18px/26px var(--fonte-corpo);
	}

	.seccao-newsletter__campo {
		left: 24px;
		width: 344px;
		height: 46px;
		border-radius: 16px;
		font-size: 16px;
	}

	.seccao-newsletter__campo--nome { top: 214px; }
	.seccao-newsletter__campo--apelido { top: 272px; }
	.seccao-newsletter__campo--email { top: 330px; }

	.seccao-newsletter__botao {
		left: 23px;
		top: 388px;
		width: 345px;
		height: 46px;
		border-radius: 16px;
		font-size: 16px;
	}

	.seccao-newsletter__optin-caixa {
		left: 40px;
		top: 456px;
	}

	p.seccao-newsletter__optin-texto {
		left: 70px;
		top: 448px;
		font-size: 16px;
	}

	/* ---- Footer mobile ---- */
	.site-footer {
		height: 673px;
	}

	.footer-logo {
		left: 89.5px;
		top: 54px;
	}

	.footer-logo img {
		width: 211px;
		height: 32px;
	}

	p.footer-descricao {
		left: 24px;
		top: 105px;
		width: 342px;
		font: 400 16px/24px var(--fonte-corpo);
		text-align: center;
	}

	.footer-social { top: 206px; }
	.footer-social--facebook { left: 131px; }
	.footer-social--instagram { left: 179px; }
	.footer-social--pinterest { left: 227px; }

	.footer-coluna {
		width: 342px;
	}

	.footer-coluna .footer-coluna__titulo {
		font: 400 18px/36px var(--fonte-corpo);
		letter-spacing: 0;
	}

	.footer-coluna .footer-coluna__titulo::after {
		content: "";
		position: absolute;
		right: 0;
		top: 17px;
		width: 16px;
		height: 2px;
		border-radius: 1px;
		background: var(--cor-creme);
	}

	.footer-coluna--apoio .footer-coluna__titulo::before,
	.footer-coluna--legal .footer-coluna__titulo::before {
		content: "";
		position: absolute;
		right: 7px;
		top: 10px;
		width: 2px;
		height: 16px;
		border-radius: 1px;
		background: var(--cor-creme);
	}

	.footer-coluna--explorar {
		left: 24px;
		top: 266px;
	}

	.footer-coluna--explorar li {
		font: 400 16px/36px var(--fonte-corpo);
	}

	.footer-coluna--explorar li:nth-of-type(2) { top: 31px; }
	.footer-coluna--explorar li:nth-of-type(3) { top: 67px; }
	.footer-coluna--explorar li:nth-of-type(4) { top: 103px; }
	.footer-coluna--explorar li:nth-of-type(5) { top: 139px; }

	.footer-coluna--apoio {
		left: 24px;
		top: 464px;
	}

	.footer-coluna--legal {
		left: 24px;
		top: 506px;
	}

	.footer-coluna--apoio li,
	.footer-coluna--legal li {
		display: none;
	}

	.footer-coluna--apoio li.footer-coluna__titulo,
	.footer-coluna--legal li.footer-coluna__titulo {
		display: block;
	}

	.footer-divisor {
		top: 584.5px;
	}

	p.footer-pagamentos {
		left: 36px;
		top: 602px;
		font: 400 14px/24px var(--fonte-corpo);
	}

	.footer-pagamento-icone {
		top: 606px;
		width: 22px;
		height: 15px;
	}

	.footer-pagamento-icone--paypal { left: 260px; }
	.footer-pagamento-icone--visa { left: 294px; }

	.footer-mbway {
		left: 328px;
		top: 604px;
		width: 27px;
		height: 18px;
	}

	.footer-mbway img {
		width: 27px;
		height: 18px;
	}

	.footer-mbway img + img {
		left: 4.7px;
		top: 4.7px;
		width: 17.6px;
		height: 8.6px;
	}

	p.footer-copyright {
		display: none;
	}

	p.footer-copyright--mobile {
		display: block;
		position: absolute;
		left: 16px;
		right: auto;
		top: 642px;
		width: 358px;
		font: 500 14px/24px var(--fonte-corpo);
		text-align: center;
	}
}

/* =========================================================
   Estados do header (hover, dropdown, pesquisa, carrinho)
   ========================================================= */

.site-header {
	z-index: 10;
}

/* Hover dos itens do menu: cor primária + sublinhado de 2px na base da barra. */
.header-menu li::after {
	content: "";
	position: absolute;
	left: -18px;
	right: -18px;
	top: 61.5px;
	height: 2px;
	background: var(--cor-primaria);
	opacity: 0;
}

.header-menu li:hover::after {
	opacity: 1;
}

.header-menu li:hover > a {
	color: var(--cor-primaria);
}

/* Dropdown de Terapias. */
/* Ponte invisível sobre o vão entre o item do menu e a caixa. */
.header-submenu::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -39px;
	height: 39px;
}

.header-submenu {
	display: none;
	position: absolute;
	left: -18px;
	top: 62px;
	width: 217px;
	height: 207px;
	background: #ffffff;
}

.header-menu__terapias {
	position: absolute;
}

.header-menu__terapias:hover .header-submenu {
	display: block;
}

.header-submenu a {
	position: absolute;
	left: 18px;
	font: 500 18px/23px var(--fonte-corpo);
	white-space: nowrap;
	color: var(--cor-texto);
	text-decoration: none;
}

.header-submenu a:nth-of-type(1) { top: 22px; }
.header-submenu a:nth-of-type(2) { top: 69px; }
.header-submenu a:nth-of-type(3) { top: 114px; }
.header-submenu a:nth-of-type(4) { top: 159px; }

.header-submenu a:hover {
	font-weight: 600;
	color: var(--cor-primaria);
}

/* Barra de pesquisa aberta. */
.header-pesquisa {
	position: absolute;
	left: 0;
	top: 100px;
	width: 100%;
	height: 100px;
	background: #ffffff;
}

.header-pesquisa__campo {
	position: absolute;
	left: 733px;
	top: 29px;
	width: 503px;
	height: 39px;
	box-sizing: border-box;
	padding: 0;
	background: none;
	border: 0;
	border-bottom: 1px solid var(--cor-cinza-medio);
	font: 500 18px/23px var(--fonte-corpo);
	color: var(--cor-texto);
}

.header-pesquisa__campo::placeholder {
	color: var(--cor-cinza-medio);
	opacity: 1;
}

.header-pesquisa__campo::-webkit-search-decoration,
.header-pesquisa__campo::-webkit-search-cancel-button {
	appearance: none;
}

.header-pesquisa__fechar {
	position: absolute;
	left: 1252px;
	top: 39px;
	padding: 0;
	background: none;
	border: none;
	cursor: pointer;
}

.header-pesquisa__fechar img {
	display: block;
	width: 18px;
	height: 18px;
}

/* Mini-carrinho. */
/* Só o link do ícone: com `a` solto, esta regra esmagava o inline-flex
   dos botões do painel e o texto deixava de centrar. */
.header-carrinho-wrap > a {
	display: block;
}

.header-carrinho-badge {
	position: absolute;
	left: 12px;
	top: -7px;
	width: 14px;
	height: 14px;
	background: var(--cor-rosa);
	border-radius: 50%;
	font: 500 10px/14px var(--fonte-corpo);
	text-align: center;
	color: var(--cor-footer);
}

/* Ponte invisível sobre o vão entre o ícone e o painel: sem ela o cursor
   sai do wrap a meio caminho e o painel fecha antes de lá chegar. */
.header-carrinho-painel::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -40px;
	height: 40px;
}

.header-carrinho-painel {
	display: none;
	position: absolute;
	left: -335px;
	top: 56px;
	width: 363px;
	height: 252px;
	background: #ffffff;
	box-shadow: 0 0 10px rgba(137, 137, 137, 0.16);
}

.header-carrinho-wrap:hover .header-carrinho-painel,
.header-carrinho-wrap.aberto .header-carrinho-painel {
	display: block;
}

.header-carrinho-painel__foto {
	position: absolute;
	left: 32px;
	top: 30.5px;
	width: 81px;
	height: 93.5px;
	object-fit: cover;
}

.header-carrinho-painel p {
	margin: 0;
	font: 600 16px/18px var(--fonte-corpo);
	color: var(--cor-footer);
}

.header-carrinho-painel__nome {
	position: absolute;
	left: 129px;
	top: 37px;
	width: 162px;
}

.header-carrinho-painel__quantidade {
	position: absolute;
	left: 129px;
	top: 100px;
}

.header-carrinho-painel__total {
	position: absolute;
	left: 32px;
	top: 139px;
}

.header-carrinho-painel__total-valor {
	position: absolute;
	right: 32px;
	top: 139px;
	text-align: right;
}

.header-carrinho-painel__botao {
	position: absolute;
	top: 176px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 135px;
	height: 46px;
	border-radius: 12px;
	font: 500 16px/18px var(--fonte-corpo);
	text-transform: uppercase;
	text-decoration: none;
}

.header-carrinho-painel__botao--carrinho {
	left: 32px;
	background: var(--cor-primaria);
	color: #ffffff;
}

.header-carrinho-painel__botao--checkout {
	left: 196px;
	border: 1px solid var(--cor-primaria);
	color: var(--cor-primaria);
}

.header-carrinho-painel__remover {
	position: absolute;
	left: 319px;
	top: 30px;
	padding: 0;
	background: none;
	border: none;
	cursor: pointer;
}

.header-carrinho-painel__remover img {
	display: block;
	width: 12px;
	height: 12px;
}

.header-pesquisa__campo:focus {
	outline: none;
}
