/*
 * Azul Marinho - sistema visual "Mar".
 * A página desce da espuma ao azul-marinho: cada secção é uma faixa de profundidade,
 * como as tintas de batimetria de uma carta náutica.
 *
 * Cores, letras e tamanhos vêm do theme.json (--wp--preset--*). Aqui fica o que o theme.json não cobre.
 */

/* ---------- base ---------- */

:root {
	--am-espuma: var(--wp--preset--color--espuma);
	--am-baixio: var(--wp--preset--color--baixio);
	--am-marinho: var(--wp--preset--color--marinho);
	--am-abismo: var(--wp--preset--color--abismo);
	--am-tinta: var(--wp--preset--color--tinta);
	--am-tinta-suave: var(--wp--preset--color--tinta-suave);
	--am-boia: var(--wp--preset--color--boia);
	--am-boia-clara: var(--wp--preset--color--boia-clara);
	--am-claro: var(--wp--preset--color--claro);
	--am-claro-suave: var(--wp--preset--color--claro-suave);
	--am-gutter: var(--wp--custom--gutter);
	--am-ease: var(--wp--custom--ease-out-soft);
	--am-header-h: 72px;
	/* no telemóvel o menu passa para uma segunda linha do cabeçalho */
	--am-header-total: calc(var(--am-header-h) + 45px);
	--am-wrap: 1360px;
	color-scheme: light;
}

@media (min-width: 48rem) {
	:root {
		--am-header-total: var(--am-header-h);
	}
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-padding-top: calc(var(--am-header-total) + 1rem);
	-webkit-text-size-adjust: 100%;
}

body {
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

::selection {
	background: var(--am-boia);
	color: var(--am-tinta);
}

:focus-visible {
	outline: 3px solid var(--am-foco, var(--am-marinho));
	outline-offset: 3px;
	border-radius: 2px;
}

/* títulos: Archivo larga (112%), como as camisolas de clube estampadas */
h1,
h2,
.am-display {
	font-stretch: 112%;
	text-wrap: balance;
}

/* cabeçalho, conteúdo e rodapé encostados (sem o espaço automático entre blocos de topo) */
.wp-site-blocks > * {
	margin-block: 0;
}

.am-nota {
	font-family: var(--wp--preset--font-family--newsreader);
	font-style: italic;
	font-weight: 400;
	letter-spacing: 0;
}

.am-suave {
	color: var(--am-texto-suave, var(--am-tinta-suave));
}

.am-tabular {
	font-variant-numeric: tabular-nums;
}

.am-wrap {
	width: 100%;
	max-width: var(--am-wrap);
	margin-inline: auto;
	padding-inline: var(--am-gutter);
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-delay: 0s !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* ---------- botões ---------- */

.wp-element-button,
.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.6em;
	min-height: 48px;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.18s, color 0.18s, border-color 0.18s, transform 0.18s;
}

.wp-element-button:active,
.wp-block-button__link:active {
	transform: translateY(1px);
}

.wp-element-button svg {
	width: 1.1em;
	height: 1.1em;
	flex: none;
}

/* botão com contorno (estilo «Contorno» no editor) */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: currentColor;
	border-color: currentColor;
}

.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--am-tinta);
	border-color: var(--am-tinta);
	color: var(--am-espuma);
}

/* ---------- cabeçalho ---------- */

.am-zona-cabecalho {
	position: sticky;
	top: 0;
	z-index: 40;
	border-bottom: 1px solid rgb(11 34 48 / 0.1);
	background: var(--am-espuma);
}

.admin-bar .am-zona-cabecalho {
	top: var(--wp-admin--admin-bar--height, 0px);
}

/* no telemóvel a barra do wp-admin não fica presa ao topo */
@media (max-width: 600px) {
	.admin-bar .am-zona-cabecalho {
		top: 0;
	}
}

.am-cabecalho {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 1.5rem;
	max-width: var(--am-wrap);
	margin-inline: auto;
	padding-inline: var(--am-gutter);
}

.am-cabecalho > * {
	margin-block: 0 !important;
}

.am-logo {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	width: 144px;
	height: var(--am-header-h);
}

.am-logo img {
	display: block;
	width: 100%;
	height: auto;
}

/* pedido (o saco) */
.am-pedido {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	flex-shrink: 0;
	min-width: 48px;
	height: 48px;
	margin-left: auto;
	padding-inline: 0.5rem;
	border-radius: 999px;
	color: var(--am-tinta);
	text-decoration: none;
}

.am-pedido:hover {
	background: rgb(11 34 48 / 0.05);
}

.am-pedido svg {
	width: 24px;
	height: 24px;
	stroke-width: 1.8;
}

.am-pedido__rotulo {
	display: none;
	font-size: 0.97rem;
	font-weight: 500;
}

.am-pedido__conta {
	position: absolute;
	top: 4px;
	right: 0;
	display: grid;
	place-items: center;
	min-width: 20px;
	height: 20px;
	padding-inline: 4px;
	border-radius: 999px;
	background: var(--am-boia);
	color: var(--am-tinta);
	font-size: 0.75rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.am-pedido__conta[hidden] {
	display: none;
}

.am-pedido[aria-current="page"] {
	background: rgb(11 34 48 / 0.05);
}

.am-cabecalho__personalizar {
	display: none !important;
	flex-shrink: 0;
}

.am-cabecalho__personalizar .wp-block-button__link {
	min-height: 44px;
	padding-inline: 1.25rem;
}

/* menu: uma linha que desliza para o lado se não couber, com as pontas esbatidas */
/* ---------- menu do telemóvel ---------- */

.am-menu-botao {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	order: 1;
	min-height: 44px;
	margin-left: auto;
	padding: 0.35rem 0.6rem;
	border: 1px solid rgb(11 34 48 / 0.18);
	border-radius: 999px;
	background: none;
	color: inherit;
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}

.am-menu-botao svg {
	width: 20px;
	height: 20px;
}

.am-menu-botao__fechar,
.am-menu-botao[aria-expanded="true"] .am-menu-botao__abrir {
	display: none;
}

.am-menu-botao[aria-expanded="true"] .am-menu-botao__fechar {
	display: block;
}

.am-painel {
	order: 4;
	flex: 1 0 100%;
	max-height: calc(100svh - var(--am-header-h) - 2rem);
	margin-inline: calc(-1 * var(--am-gutter));
	border-top: 1px solid rgb(11 34 48 / 0.1);
	overflow-y: auto;
	overscroll-behavior: contain;
}

.am-painel__dentro {
	display: flex;
	flex-direction: column;
	padding: 0.5rem var(--am-gutter) 1.5rem;
}

.am-painel__seccao {
	padding: 0.7rem 0;
	border-bottom: 1px solid rgb(11 34 48 / 0.08);
	font-size: 1.15rem;
	font-weight: 700;
	text-decoration: none;
	color: inherit;
}

.am-painel__filhos {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	padding: 0.6rem 0 0.9rem;
}

.am-painel__filhos a {
	padding: 0.35rem 0.7rem;
	border: 1px solid rgb(11 34 48 / 0.15);
	border-radius: 999px;
	font-size: 0.95rem;
	text-decoration: none;
	color: var(--am-texto-suave, var(--am-tinta-suave));
}

/*
 * Abaixo das 56rem quem manda é o painel: a barra sai de cena e o cabeçalho fica com uma linha.
 *
 * Eram 48rem. Mas as oito opções do menu precisam de 768 px para caberem, e um ecrã de 768 (o
 * tablet ao alto) dá-lhes 680: a barra deslizava e cortava as últimas a meio da palavra. Às 56rem
 * já sobram 40 px, e abaixo disso o painel mostra tudo sem cortar nada.
 */
@media (max-width: 55.99rem) {
	.am-cabecalho .am-menu {
		display: none;
	}
}

@media (min-width: 56rem) {
	.am-menu-botao,
	.am-painel {
		display: none !important;
	}
}

.am-cabecalho .am-menu {
	position: relative;
	order: 3;
	flex: 1 0 100%;
	min-width: 0;
	margin-inline: calc(-1 * var(--am-gutter));
	border-top: 1px solid rgb(11 34 48 / 0.1);
}

.am-cabecalho .am-menu .wp-block-navigation__container {
	flex-wrap: nowrap;
	gap: 1.5rem;
	height: 44px;
	margin: 0;
	padding-inline: var(--am-gutter);
	overflow-x: auto;
	scrollbar-width: none;
}

.am-cabecalho .am-menu .wp-block-navigation__container::-webkit-scrollbar {
	display: none;
}

.am-cabecalho .am-menu::before,
.am-cabecalho .am-menu::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 1;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.2s;
}

.am-cabecalho .am-menu::before {
	left: 0;
	width: 28px;
	background: linear-gradient(to right, var(--am-espuma), transparent);
}

.am-cabecalho .am-menu::after {
	right: 0;
	width: 36px;
	background: linear-gradient(to left, var(--am-espuma), transparent);
}

.am-cabecalho .am-menu[data-mais-esq]::before,
.am-cabecalho .am-menu[data-mais-dir]::after {
	opacity: 1;
}

.am-cabecalho .am-menu .wp-block-navigation-item {
	flex-shrink: 0;
}

.am-menu .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	position: relative;
	padding: 0.5rem 0;
	color: rgb(11 34 48 / 0.8);
	font-size: 0.97rem;
	font-weight: 500;
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.2s;
}

.am-menu .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -2px;
	left: 0;
	height: 2px;
	background: var(--am-boia);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.2s;
}

.am-menu .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover,
.am-menu .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content[aria-current="page"] {
	color: var(--am-tinta);
}

.am-menu .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover::after,
.am-menu .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content[aria-current="page"]::after {
	transform: scaleX(1);
}

/* seta do submenu (Técnicas) */
.am-menu .wp-block-navigation__submenu-icon {
	display: grid;
	place-items: center;
	width: 24px;
	height: 32px;
	margin-left: 2px;
	padding: 0;
	color: rgb(11 34 48 / 0.6);
}

.am-menu .wp-block-navigation__submenu-icon svg {
	width: 12px;
	height: 12px;
	margin: 0;
	stroke-width: 2;
	transition: transform 0.2s;
}

.am-menu .has-child:hover > .wp-block-navigation__submenu-icon svg,
.am-menu .has-child:focus-within > .wp-block-navigation__submenu-icon svg,
.am-menu .wp-block-navigation__submenu-icon[aria-expanded="true"] svg {
	transform: rotate(180deg);
}

/* painel das técnicas: fica fixo no ecrã (a linha desliza e cortaria um painel normal) */
.am-menu .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container {
	position: fixed;
	top: var(--am-painel-topo, var(--am-header-h));
	left: var(--am-painel-esq, 1rem);
	z-index: 50;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.25rem 1rem;
	width: min(36.5rem, calc(100vw - 2rem)) !important;
	margin-top: 1rem;
	padding: 1.25rem;
	border: 1px solid rgb(11 34 48 / 0.12);
	border-radius: 4px;
	background: var(--am-espuma);
	color: var(--am-tinta);
	box-shadow: 0 18px 40px -12px rgb(6 37 54 / 0.35);
	transform: translateY(-4px);
	transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
}

/* ponte invisível entre o menu e o painel, para o rato não o fechar pelo caminho */
.am-menu .wp-block-navigation__submenu-container::before {
	content: "";
	position: absolute;
	top: -1.05rem;
	right: 0;
	left: 0;
	height: 1.05rem;
}

.am-menu .has-child:hover > .wp-block-navigation__submenu-container,
.am-menu .has-child:focus-within > .wp-block-navigation__submenu-container,
.am-menu .wp-block-navigation__submenu-icon[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
	transform: none;
}

.am-menu .wp-block-navigation__submenu-container .wp-block-navigation-item {
	display: block;
	margin: 0;
}

.am-menu.am-menu .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	display: block;
	padding: 0.625rem 0.75rem;
	border-radius: 3px;
	color: var(--am-tinta);
	text-decoration: none;
}

.am-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: var(--am-baixio);
}

.am-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__label {
	display: block;
	font-weight: 600;
}

.am-menu .wp-block-navigation-item__description {
	display: block;
	margin-top: 0.1rem;
	color: var(--am-tinta-suave);
	font-size: 0.875rem;
	line-height: 1.35;
}

.am-menu .wp-block-navigation__submenu-container .am-menu__mais {
	grid-column: 1 / -1;
	margin-top: 0.5rem;
}

.am-menu.am-menu .has-child .wp-block-navigation__submenu-container > .am-menu__mais > .wp-block-navigation-item__content {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	padding-inline: 0;
	background: none;
	font-weight: 600;
}

.am-menu .wp-block-navigation__submenu-container .am-menu__mais .wp-block-navigation-item__content::after {
	content: "→";
	margin-left: 0.5em;
	transition: transform 0.25s var(--am-ease);
}

.am-menu .wp-block-navigation__submenu-container .am-menu__mais .wp-block-navigation-item__content:hover::after {
	transform: translateX(3px);
}

@media (min-width: 48rem) {
	.am-logo {
		width: 166px;
	}
}

/*
 * O menu só sobe para a linha do logótipo quando lá cabe inteiro.
 *
 * Esteve a subir aos 48rem, e das 48 às 86 não cabia: a linha deslizava e as últimas opções - «A
 * loja», «Contactos» - ficavam cortadas ao meio da palavra, encostadas ao botão do pedido. Quem
 * olha não vê uma barra que desliza, vê um menu partido. Numa linha só para ele, à largura toda da
 * página, as oito opções cabem sem deslizar nada.
 */
@media (min-width: 86rem) {
	.am-cabecalho {
		flex-wrap: nowrap;
		height: var(--am-header-h);
	}

	.am-cabecalho .am-menu {
		order: 0;
		flex: 0 1 auto;
		margin-inline: auto 0;
		border-top: 0;
	}

	.am-cabecalho .am-menu .wp-block-navigation__container {
		gap: 1.25rem;
		height: var(--am-header-h);
		padding-inline: 0;
	}

	/* numa linha só, é o menu que empurra; nas duas linhas é o pedido que vai para a direita */
	.am-pedido {
		margin-left: 0;
	}
}

@media (min-width: 64rem) {
	.am-cabecalho__personalizar {
		display: flex !important;
	}
}

@media (min-width: 80rem) {
	.am-pedido__rotulo {
		display: inline;
	}

	.am-pedido__conta {
		position: static;
	}
}

/* ---------- rodapé ---------- */

.am-rodape {
	--am-texto-suave: var(--wp--preset--color--claro-suave);
	--am-foco: var(--am-boia);
	background: var(--am-abismo);
	color: var(--am-claro);
	box-shadow: 0 -1px 0 rgb(238 244 245 / 0.06);
}

.am-rodape a {
	color: inherit;
	text-decoration: underline transparent;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
	transition: text-decoration-color 0.2s;
}

.am-rodape a:hover {
	text-decoration-color: currentColor;
}

.am-rodape p,
.am-rodape ul {
	margin: 0;
}

.am-rodape__topo,
.am-rodape__base {
	max-width: var(--am-wrap);
	margin-inline: auto;
	padding-inline: var(--am-gutter);
}

.am-rodape__topo {
	display: grid;
	gap: 3rem;
	padding-block: 4rem 2.5rem;
}

.am-rodape__topo > *,
.am-rodape__colunas > *,
.am-rodape__base > *,
.am-rodape__coluna > *,
.am-rodape__marca > *,
.am-rodape__legal > * {
	margin-block: 0 !important;
}

.am-logo--claro {
	width: 176px;
	height: auto;
}

.am-rodape__lema {
	max-width: 26ch;
	margin-top: 1.5rem !important;
	color: var(--am-texto-suave);
	font-size: 1.15rem;
	line-height: 1.4;
}

.am-rodape__colunas {
	display: grid;
	gap: 2.5rem;
}

.am-rodape__titulo.am-rodape__titulo {
	margin-bottom: 0.75rem !important;
	color: var(--am-texto-suave);
	font-family: inherit;
	font-size: 0.875rem;
	font-stretch: 100%;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.4;
}

.am-rodape__coluna p {
	line-height: 1.6;
}

.am-rodape__coluna p + p {
	margin-top: 0.75rem !important;
}

.am-rodape__lista {
	padding: 0;
	list-style: none;
}

.am-rodape__lista li + li {
	margin-top: 0.375rem;
}

.am-rodape__base {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	padding-block: 2rem;
	border-top: 1px solid rgb(255 255 255 / 0.12);
	color: var(--am-texto-suave);
	font-size: 0.875rem;
}

.am-rodape__base::before {
	content: none;
}

.am-rodape__legal {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.am-rodape__coordenadas {
	color: var(--am-claro);
	font-size: 1rem;
	font-variant-numeric: tabular-nums;
}

.am-rodape__linha {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1.25rem;
	padding: 0;
	list-style: none;
}

.am-rodape__cofinanciado-titulo {
	margin-bottom: 0.25rem !important;
	color: var(--am-claro);
}

@media (min-width: 40rem) {
	.am-rodape__colunas {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 48rem) {
	.am-rodape__topo {
		grid-template-columns: 4fr 8fr;
		padding-top: 5rem;
	}

	.am-rodape__base {
		flex-direction: row;
		align-items: flex-end;
		justify-content: space-between;
	}

	.am-rodape__cofinanciado {
		text-align: right;
	}
}

/* ---------- barra fixa do telemóvel ---------- */

.am-barra-movel {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 30;
	display: grid;
	/* minmax(0, ...) e não 1fr: senão a coluna do botão nunca encolhe abaixo do texto dele e,
	   num telemóvel de 320 px, o «Personalizar» saía 17 px para fora do ecrã. */
	grid-template-columns: auto auto minmax(0, 1fr);
	align-items: center;
	gap: 0.5rem;
	padding: 0.625rem 0.75rem calc(0.625rem + env(safe-area-inset-bottom, 0px));
	border-top: 1px solid rgb(255 255 255 / 0.1);
	background: rgb(3 22 31 / 0.95);
	color: var(--am-claro);
	--am-foco: var(--am-boia);
}

.am-barra-movel__redondo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border: 1px solid rgb(255 255 255 / 0.25);
	border-radius: 999px;
	color: inherit;
}

.am-barra-movel__redondo svg {
	width: 20px;
	height: 20px;
}

.am-barra-movel__principal.wp-element-button {
	width: 100%;
	padding: 0.7em 1.4em;
	border: 1.5px solid var(--am-boia);
	border-radius: 999px;
	background: var(--am-boia);
	color: var(--am-tinta);
	font-weight: 600;
	line-height: 1.1;
}

@media (max-width: 47.99rem) {
	body {
		padding-bottom: calc(68px + env(safe-area-inset-bottom, 0px));
	}
}

@media (min-width: 48rem) {
	.am-barra-movel {
		display: none;
	}
}

/* ---------- faixas de profundidade ---------- */

.am-principal > *,
.am-faixa > .am-wrap {
	margin-block: 0;
}

.am-faixa {
	position: relative;
	background: var(--am-fundo);
	color: var(--am-texto);
	--am-linha: color-mix(in srgb, var(--am-texto) 16%, transparent);
}

/* a "linha de sonda" entre profundidades */
.am-faixa + .am-faixa {
	box-shadow: inset 0 1px 0 color-mix(in srgb, var(--am-texto) 12%, transparent);
}

.am-faixa-0 { --am-fundo: var(--wp--preset--color--espuma); --am-texto: var(--am-tinta); --am-texto-suave: var(--am-tinta-suave); --am-foco: var(--am-marinho); }
.am-faixa-1 { --am-fundo: var(--wp--preset--color--baixio); --am-texto: var(--am-tinta); --am-texto-suave: var(--am-tinta-suave); --am-foco: var(--am-marinho); }
.am-faixa-2 { --am-fundo: var(--wp--preset--color--mar); --am-texto: var(--am-tinta); --am-texto-suave: #33505d; --am-foco: var(--am-marinho); }
.am-faixa-3 { --am-fundo: var(--wp--preset--color--largo); --am-texto: var(--am-claro); --am-texto-suave: #cfe0e5; --am-foco: var(--am-boia); }
.am-faixa-4 { --am-fundo: var(--wp--preset--color--marinho); --am-texto: var(--am-claro); --am-texto-suave: var(--am-claro-suave); --am-foco: var(--am-boia); }
.am-faixa-5 { --am-fundo: var(--wp--preset--color--fundo); --am-texto: var(--am-claro); --am-texto-suave: var(--am-claro-suave); --am-foco: var(--am-boia); }
.am-faixa-6 { --am-fundo: var(--wp--preset--color--abismo); --am-texto: var(--am-claro); --am-texto-suave: #93aab3; --am-foco: var(--am-boia); }

.am-seccao-pad {
	padding-block: clamp(4rem, 9vw, 8rem);
}

/* títulos e texto de destaque */
.am-titulo-seccao.am-titulo-seccao {
	margin: 0;
	font-size: var(--wp--preset--font-size--secao);
	line-height: 0.92;
}

.am-titulo-bloco.am-titulo-bloco {
	margin: 0 0 1.5rem;
	font-size: var(--wp--preset--font-size--bloco);
	line-height: 1;
}

.am-lede {
	max-width: 44ch;
	font-size: var(--wp--preset--font-size--destaque);
	line-height: 1.5;
}

/* ---------- abertura das páginas (caminho, título e introdução) ---------- */

.am-intro {
	display: grid;
	gap: 2.5rem;
	padding-block: 2rem 3.5rem;
}

.am-intro > *,
.am-intro__texto > *,
.am-abertura__texto > * {
	margin-block: 0;
	/* Sem isto, um filho destas grelhas recusa-se a encolher abaixo do seu conteúdo mínimo e
	   empurra a página para fora do ecrã (acontecia na página «Recebemos o teu pedido»: o
	   resumo pedia 800 px e o telemóvel tem 393). */
	min-width: 0;
}

.am-caminho ol {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	color: var(--am-texto-suave, var(--am-tinta-suave));
	font-size: 0.875rem;
	list-style: none;
}

.am-caminho li {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.am-caminho a {
	color: inherit;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

.am-caminho a:hover {
	text-decoration-thickness: 2px;
}

.am-abertura__titulo.am-abertura__titulo {
	margin-top: 2rem;
	font-size: var(--wp--preset--font-size--secao);
	line-height: 0.92;
}

.am-abertura__lede,
.am-intro__texto .am-lede {
	margin-top: 1.5rem;
	color: var(--am-texto-suave, var(--am-tinta-suave));
}

.am-abertura__lede {
	max-width: 44ch;
	font-size: var(--wp--preset--font-size--destaque);
	line-height: 1.5;
}

.am-abertura__lede p {
	margin: 0;
}

.am-abertura__nota {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	max-width: 42rem;
	margin: 2.5rem 0 0;
	padding: 0.75rem 1rem;
	border: 1px solid rgb(9 56 80 / 0.25);
	border-radius: 3px;
	background: var(--am-espuma);
}

.am-abertura__nota svg {
	width: 20px;
	height: 20px;
	margin-top: 0.15rem;
	flex-shrink: 0;
	color: var(--am-marinho);
}

.am-intro__lado {
	color: var(--am-texto-suave, var(--am-tinta-suave));
	font-size: 1.2rem;
	line-height: 1.375;
}

@media (min-width: 48rem) {
	.am-intro {
		grid-template-columns: repeat(12, minmax(0, 1fr));
		padding-block: 2.5rem 5rem;
	}

	.am-intro > :first-child {
		grid-column: span 8;
	}

	.am-intro--com-lado > .am-intro__lado {
		grid-column: span 4;
		align-self: end;
	}
}

/* ---------- catálogo ---------- */

.am-seccoes-topo {
	padding-block: 3rem 4rem;
}

@media (min-width: 48rem) {
	.am-seccoes-topo {
		padding-block: 3.5rem 6rem;
	}
}

.am-outras-seccoes {
	margin-top: 4rem !important;
	padding-top: 1.5rem;
	border-top: 1px solid rgb(11 34 48 / 0.15);
}

.am-outras-seccoes > * {
	margin-block: 0;
}

.am-outras-seccoes__titulo.am-outras-seccoes__titulo {
	margin-bottom: 1rem;
	color: var(--am-texto-suave, var(--am-tinta-suave));
	font-family: inherit;
	font-size: 1rem;
	font-stretch: 100%;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.4;
}

/* ---------- fecho ---------- */

.am-fecho {
	padding-block: clamp(4rem, 9vw, 8rem);
}

.am-fecho__grelha {
	display: grid;
	gap: 2.5rem;
}

.am-fecho__grelha > *,
.am-fecho__texto > * {
	margin-block: 0;
}

.am-fecho__texto .am-lede {
	margin-top: 1.25rem;
}

.am-fecho__botoes {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.am-faixa-3 .wp-block-button.is-style-outline > .wp-block-button__link:hover,
.am-faixa-4 .wp-block-button.is-style-outline > .wp-block-button__link:hover,
.am-faixa-5 .wp-block-button.is-style-outline > .wp-block-button__link:hover,
.am-faixa-6 .wp-block-button.is-style-outline > .wp-block-button__link:hover {
	border-color: var(--am-texto);
	background: var(--am-texto);
	color: var(--am-fundo);
}

@media (min-width: 64rem) {
	.am-fecho__grelha {
		grid-template-columns: 7fr 5fr;
		align-items: end;
	}

	.am-fecho__botoes {
		justify-content: flex-end;
	}
}

/* ---------- página da peça ---------- */

.am-peca-zona {
	padding-block: 2rem 4rem;
}

.am-peca-zona > * {
	margin-block: 0;
}

.am-peca-pagina {
	margin-top: 1.5rem !important;
}

.am-peca-pagina__topo {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 0.5rem 2rem;
	margin-bottom: 2rem;
}

.am-peca-pagina__titulo.am-peca-pagina__titulo {
	margin: 0;
	font-size: var(--wp--preset--font-size--secao);
	line-height: 0.92;
}

.am-peca-pagina__ref {
	margin: 0;
	color: var(--am-texto-suave, var(--am-tinta-suave));
	font-size: 1.15rem;
}

/* o preço cai para a sua própria linha, por baixo do nome e da referência, em vez de disputar
   a linha de cima com eles */
.am-peca-pagina__preco {
	flex: 1 0 100%;
	margin: 0;
	font-size: 1.15rem;
}

/* sem peças relacionadas, a faixa não aparece */
.am-relacionadas:not(:has(.am-pecas)) {
	display: none;
}

@media (min-width: 48rem) {
	.am-peca-zona {
		padding-block: 2.5rem 6rem;
	}
}

/* ---------- páginas ---------- */

.am-conteudo > * {
	margin-block: 0;
}

/* texto corrido (política de privacidade e afins) */
.am-texto {
	max-width: 62ch;
}

.am-texto > * + * {
	margin-top: 1rem;
}

.am-texto h2 {
	margin-top: 2.5rem;
	font-size: var(--wp--preset--font-size--bloco);
}

/* ---------- pedido recebido ---------- */

.am-confirmacao > * {
	margin-block: 0;
}

.am-confirmacao .am-abertura__titulo {
	margin-top: 1rem;
}

.am-confirmacao .am-lede {
	margin-top: 1.5rem;
	max-width: 52ch;
}

.am-confirmacao__resumo {
	display: grid;
	/* o min(...) é o travão: a coluna nunca pede mais do que a largura que existe */
	grid-template-columns: repeat(auto-fit, minmax(min(9rem, 100%), 1fr));
	gap: 1rem 2rem;
	max-width: 56rem;
	margin: 2.5rem 0 0;
	padding: 1.25rem 0 0;
	border-top: 1px solid rgb(11 34 48 / 0.15);
}

.am-confirmacao__resumo dt {
	color: var(--am-tinta-suave);
	font-size: 0.875rem;
}

.am-confirmacao__resumo dd {
	margin: 0.15rem 0 0;
	font-weight: 600;
}

.am-confirmacao-detalhes .am-wrap > * {
	margin-block: 0 2.5rem;
}

.am-confirmacao__subtitulo.am-confirmacao__subtitulo {
	margin: 0 0 0.5rem;
	font-size: 1.1rem;
}

/* tabela do WooCommerce com as peças */
.am-confirmacao-detalhes table {
	width: 100%;
	max-width: 56rem;
	border-collapse: collapse;
	background: var(--am-espuma);
	border: 1px solid rgb(11 34 48 / 0.15);
	border-radius: 4px;
}

.am-confirmacao-detalhes th,
.am-confirmacao-detalhes td {
	padding: 0.75rem 1rem;
	border-bottom: 1px solid rgb(11 34 48 / 0.1);
	text-align: left;
	vertical-align: top;
}

.am-confirmacao-detalhes td:last-child,
.am-confirmacao-detalhes th:last-child {
	text-align: right;
	white-space: nowrap;
}

.am-confirmacao-detalhes .wc-item-meta {
	margin: 0.5rem 0 0;
	padding: 0;
	list-style: none;
	color: var(--am-tinta-suave);
	font-size: 0.95rem;
}

.am-confirmacao-detalhes .wc-item-meta p {
	display: inline;
	margin: 0;
}

/* ---------- elementos comuns das páginas ---------- */

:root {
	--font-archivo: Archivo;
}

.am-titulo-sub.am-titulo-sub {
	margin: 0;
	font-size: var(--wp--preset--font-size--sub);
	line-height: 0.95;
}

.am-medida {
	max-width: 62ch;
}

.am-seccao-pad--curto {
	padding-top: 3rem;
}

/* ligação com seta («Conhecer as técnicas →») */
.am-ligacao-seta a {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	min-height: 44px;
	color: inherit;
	font-weight: 600;
	text-decoration: none;
	background: linear-gradient(currentColor, currentColor) left calc(100% - 8px) / 0 1.5px no-repeat;
	transition: background-size 0.25s var(--am-ease);
}

.am-ligacao-seta a::after {
	content: "→";
	transition: transform 0.25s var(--am-ease);
}

.am-ligacao-seta--fora a::after {
	content: none;
}

.am-ligacao-seta a:hover {
	background-size: 100% 1.5px;
}

.am-ligacao-seta a:hover::after {
	transform: translateX(3px);
}

/* duas colunas (5 + 7 em ecrã largo) */
.am-duas-colunas {
	display: grid;
	gap: 3rem;
}

.am-duas-colunas > *,
.am-coluna-estreita > *,
.am-coluna-larga > * {
	margin-block: 0;
}

.am-coluna-estreita > * + *,
.am-coluna-larga > * + * {
	margin-top: 1.5rem;
}

@media (min-width: 64rem) {
	.am-duas-colunas {
		grid-template-columns: repeat(12, minmax(0, 1fr));
	}

	.am-duas-colunas > .am-coluna-estreita {
		grid-column: span 5;
	}

	.am-duas-colunas > .am-coluna-larga {
		grid-column: span 7;
	}

	.am-duas-colunas--loja {
		column-gap: 4rem;
	}

	.am-duas-colunas--contactos {
		column-gap: 3.5rem;
	}
}

/* cabeça de secção: título e ligação na mesma linha */
.am-cabeca-seccao {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1rem 2.5rem;
	margin-bottom: 2.5rem;
}

.am-cabeca-seccao > *,
.am-cabeca-seccao__texto > *,
.am-cabeca-seccao__lado > * {
	margin-block: 0;
}

.am-cabeca-seccao__nota {
	margin-top: 0.75rem !important;
	font-size: 1.25rem;
}

.am-cabeca-seccao__lado > * + * {
	margin-top: 0.75rem;
}

.am-cabeca-seccao--grelha {
	margin-bottom: 3.5rem;
}

@media (min-width: 64rem) {
	.am-cabeca-seccao--grelha {
		display: grid;
		grid-template-columns: 7fr 5fr;
		align-items: end;
	}
}

/* itens com título (o que precisamos de ti, para quem trabalhamos) */
.am-itens {
	display: grid;
	column-gap: 2.5rem;
}

@media (min-width: 40rem) {
	.am-itens {
		grid-template-columns: 1fr 1fr;
	}
}

.am-item {
	padding-block: 1.25rem;
	border-top: 1px solid rgb(11 34 48 / 0.2);
}

.am-item > * {
	margin-block: 0;
}

.am-item > * + * {
	margin-top: 0.5rem;
}

.am-item__titulo {
	font-size: var(--wp--preset--font-size--bloco);
	font-stretch: 112%;
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1;
}

.am-dado__rotulo {
	color: var(--am-texto-suave);
	font-size: 0.875rem;
	font-weight: 600;
}

/* ---------- abertura da página inicial ---------- */

.am-capa__grelha {
	display: grid;
	gap: 3rem;
	padding-block: 2.5rem 4rem;
}

.am-capa__grelha > *,
.am-capa__texto > *,
.am-capa__simulador > *,
.am-capa__ao-lado > * {
	margin-block: 0;
}

.am-capa__simulador {
	display: grid;
	gap: 2.5rem;
	margin-top: 3.5rem !important;
}

.am-capa__convite {
	color: var(--am-marinho);
	font-size: 1.75rem;
	font-stretch: 112%;
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.1;
}

.am-capa__ao-lado > p {
	margin-top: 1rem !important;
}

.am-capa__titulo.am-capa__titulo {
	color: var(--am-marinho);
	font-size: var(--wp--preset--font-size--capa);
	line-height: 0.92;
}

.am-capa__titulo .am-linha {
	display: block;
	overflow: hidden;
	padding-bottom: 0.06em;
	margin-bottom: -0.06em;
}

.am-capa__titulo .am-linha > span {
	display: block;
	animation: am-subir-linha 0.9s var(--am-ease) both;
	animation-delay: var(--am-atraso, 0s);
}

.am-capa__texto > .am-lede {
	margin-top: 2rem;
}

.am-capa__texto > .am-lede strong {
	color: var(--am-tinta);
	font-weight: 600;
}

.am-capa__botoes {
	margin-top: 2rem !important;
}

.am-factos {
	display: grid;
	margin-top: 3rem !important;
	border-top: 1px solid rgb(11 34 48 / 0.15);
}

.am-facto {
	padding-block: 1rem;
	border-bottom: 1px solid rgb(11 34 48 / 0.15);
}

.am-facto > * {
	margin: 0;
}

.am-facto__grande {
	color: var(--am-marinho);
	font-size: 1.55rem;
	font-stretch: 112%;
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 0.92;
}

.am-facto__texto {
	margin-top: 0.25rem !important;
	color: var(--am-tinta-suave);
	font-size: 0.95rem;
	line-height: 1.375;
}

@media (min-width: 40rem) {
	.am-factos {
		grid-template-columns: repeat(3, 1fr);
	}

	.am-facto {
		padding-right: 1rem;
		border-bottom: 0;
	}
}

@media (min-width: 48rem) {
	.am-capa__grelha {
		padding-block: 3.5rem 6rem;
	}
}

@media (min-width: 64rem) {
	.am-capa__texto {
		max-width: 64%;
	}

	.am-capa__simulador {
		grid-template-columns: repeat(12, minmax(0, 1fr));
		column-gap: 3.5rem;
	}

	.am-capa__estudio {
		grid-column: span 7;
	}

	.am-capa__ao-lado {
		grid-column: span 5;
	}

	/* ao lado do simulador, os factos voltam a empilhar-se */
	.am-capa__ao-lado .am-factos {
		grid-template-columns: none;
	}

	.am-capa__ao-lado .am-facto {
		padding-right: 0;
		border-bottom: 1px solid rgb(11 34 48 / 0.15);
	}
}

/* entrada da página: as linhas do título sobem, depois o resto aparece */
@keyframes am-subir-linha {
	from {
		transform: translateY(105%);
	}

	to {
		transform: none;
	}
}

@keyframes am-subir {
	from {
		transform: translateY(0.6em);
		opacity: 0;
	}

	to {
		transform: none;
		opacity: 1;
	}
}

.am-subir {
	animation: am-subir 0.8s var(--am-ease) both;
}

.am-capa__texto > .am-lede.am-subir { animation-delay: 0.35s; }
.am-capa__botoes.am-subir { animation-delay: 0.45s; }
.am-factos.am-subir { animation-delay: 0.55s; }
.am-capa__estudio.am-subir { animation-delay: 0.25s; }

/* ---------- técnicas por material (página inicial) ---------- */

.am-material {
	padding-block: 1rem 0.5rem;
	border-top: 1px solid rgb(11 34 48 / 0.2);
}

.am-material:first-child {
	border-top: 2px solid var(--am-tinta);
}

.am-material > * {
	margin-block: 0;
}

.am-material__titulo.am-material__titulo {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0 1rem;
	font-family: inherit;
	font-size: 1rem;
	font-stretch: 100%;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.4;
}

.am-material__nota {
	color: var(--am-texto-suave);
	font-family: var(--wp--preset--font-family--newsreader);
	font-size: 1rem;
	font-style: italic;
	font-weight: 400;
}

.am-tecnica-linha {
	display: grid;
	column-gap: 1.5rem;
	padding-block: 0.75rem;
	border-top: 1px solid rgb(11 34 48 / 0.1);
}

.am-material__titulo + .am-tecnica-linha {
	margin-top: 0.5rem !important;
	border-top: 0;
}

.am-tecnica-linha > * {
	margin: 0;
}

.am-tecnica-linha__nome a {
	color: inherit;
	font-size: var(--wp--preset--font-size--bloco);
	font-stretch: 112%;
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1;
	text-decoration: none;
}

.am-tecnica-linha__nome a:hover {
	color: var(--am-marinho);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

@media (min-width: 40rem) {
	.am-tecnica-linha {
		grid-template-columns: minmax(0, 15rem) 1fr;
		align-items: baseline;
	}
}

/* ---------- página das técnicas ---------- */

.am-material-topo {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.5rem 2rem;
	padding-bottom: 1rem;
	border-bottom: 2px solid currentColor;
}

.am-material-topo > * {
	margin: 0 !important;
}

.am-material-topo .am-nota {
	font-size: 1.15rem;
}

.am-tecnicas > * {
	margin: 0;
}

.am-tecnica {
	display: grid;
	gap: 2rem;
	padding-block: 3rem;
	scroll-margin-top: 6rem;
}

.am-tecnica + .am-tecnica {
	border-top: 1px solid color-mix(in srgb, currentColor 15%, transparent);
}

.am-tecnica > *,
.am-tecnica__texto > * {
	margin-block: 0;
}

.am-tecnica__amostra .am-amostra {
	overflow: hidden;
	border-radius: 3px;
	background: color-mix(in srgb, var(--am-espuma) 85%, transparent);
}

.am-amostra svg {
	display: block;
	width: 100%;
	height: auto;
}

.am-tecnica__nome.am-tecnica__nome {
	font-size: var(--wp--preset--font-size--sub);
	line-height: 0.95;
}

.am-tecnica__nome-longo {
	margin-top: 0.5rem !important;
	font-size: 1.25rem;
}

.am-tecnica__descricao {
	margin-top: 1.5rem !important;
}

.am-tecnica__onde {
	margin-top: 1.5rem !important;
	font-size: 0.875rem;
}

.am-tecnica__onde strong {
	color: var(--am-texto);
	font-weight: 600;
}

@media (min-width: 48rem) {
	.am-tecnica {
		grid-template-columns: repeat(12, minmax(0, 1fr));
		align-items: center;
		gap: 3rem;
		padding-block: 4rem;
	}

	.am-tecnica__amostra {
		grid-column: 1 / span 5;
	}

	.am-tecnica__texto {
		grid-column: 7 / span 6;
	}

	/* uma sim, uma não: a amostra passa para a direita */
	.am-tecnica:nth-child(even) .am-tecnica__amostra {
		grid-column: 8 / span 5;
		grid-row: 1;
	}

	.am-tecnica:nth-child(even) .am-tecnica__texto {
		grid-column: 1 / span 6;
		grid-row: 1;
	}
}

/* ---------- os cinco passos, presos à corda ---------- */

.am-passos {
	position: relative;
	display: grid;
	gap: 2rem;
	counter-reset: am-passo;
}

.am-passos > * {
	margin: 0;
}

.am-passo {
	position: relative;
	display: grid;
	grid-template-columns: 50px 1fr;
	column-gap: 1rem;
	counter-increment: am-passo;
}

.am-passo::before {
	content: counter(am-passo);
	position: relative;
	z-index: 1;
	display: grid;
	grid-row: span 2;
	place-items: center;
	width: 50px;
	height: 50px;
	border: 3px solid var(--wp--preset--color--corda);
	border-radius: 999px;
	background: var(--am-fundo);
	font-family: var(--wp--preset--font-family--newsreader);
	font-size: 1.6rem;
	font-style: italic;
	line-height: 1;
}

.am-passo > * {
	margin: 0;
}

.am-passo__titulo.am-passo__titulo {
	font-family: inherit;
	font-size: 1.25rem;
	font-stretch: 100%;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.25;
}

.am-passo__texto {
	margin-top: 0.375rem !important;
	color: var(--am-texto-suave);
	font-size: 0.98rem;
	line-height: 1.375;
}

/* a corda (desenhada pelo tema.js) */
.am-corda {
	position: absolute;
	pointer-events: none;
	overflow: visible;
}

.am-corda--vertical {
	top: 0.75rem;
	bottom: 1.5rem;
	left: 15px;
	width: 20px;
}

.am-corda--horizontal {
	top: 0;
	right: 0;
	left: 0;
	display: none;
	height: 4rem;
}

.am-corda svg {
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
}

/* desenha-se uma vez, ao entrar no ecrã */
.am-passos .am-corda--horizontal {
	clip-path: inset(0 100% 0 0);
	transition: clip-path 1.8s var(--am-ease);
}

.am-passos .am-corda--vertical {
	clip-path: inset(0 0 100% 0);
	transition: clip-path 1.8s var(--am-ease);
}

.am-passos.am-visto .am-corda--horizontal,
.am-passos.am-visto .am-corda--vertical {
	clip-path: inset(0 0 0 0);
}

@media (min-width: 48rem) {
	.am-passos {
		grid-template-columns: repeat(5, minmax(0, 1fr));
		gap: 0;
	}

	.am-passo {
		display: block;
		padding-inline: 1rem;
		text-align: center;
	}

	.am-passo::before {
		margin: -3px auto 0;
	}

	.am-passo__titulo.am-passo__titulo {
		margin-top: 1.25rem;
	}

	.am-passo__texto {
		max-width: 22ch;
		margin-inline: auto !important;
	}

	.am-corda--vertical {
		display: none;
	}

	.am-corda--horizontal {
		display: block;
	}
}

/* ---------- citação, assinatura e fotografias ---------- */

.am-citacao.am-citacao {
	margin: 2.5rem 0 0;
	padding: 0 0 0 1.5rem;
	border: 0;
	border-left: 2px solid var(--am-boia);
}

.am-citacao p {
	margin: 0;
	font-family: var(--wp--preset--font-family--newsreader);
	font-size: clamp(1.45rem, 2.4vw, 2rem);
	font-style: italic;
	line-height: 1.3;
}

.am-citacao cite {
	display: block;
	margin-top: 1rem;
	color: var(--am-texto-suave);
	font-style: normal;
}

.am-historia {
	max-width: 62ch;
	margin-top: 2rem !important;
	font-size: 1.1rem;
	line-height: 1.65;
}

.am-historia > * {
	margin-block: 0;
}

.am-historia > * + * {
	margin-top: 1.25rem;
}

.am-historia__primeiro {
	font-size: 1.25rem;
	line-height: 1.5;
}

.am-assinatura {
	display: inline-block;
	margin-top: 2.5rem !important;
}

.am-assinatura > * {
	margin: 0;
}

.am-assinatura__nome {
	color: var(--am-marinho);
	font-size: 2.2rem;
	line-height: 1;
}

.am-onda {
	display: block;
	aspect-ratio: 601 / 93;
	background: currentColor;
	-webkit-mask: url("../brand/wave.svg") center / contain no-repeat;
	mask: url("../brand/wave.svg") center / contain no-repeat;
}

.am-assinatura__onda {
	width: 10rem;
	margin-top: 0.5rem;
	color: var(--am-marinho);
}

.am-assinatura__papel {
	margin-top: 0.5rem !important;
	font-size: 0.875rem;
}

.am-frase-grande {
	font-size: clamp(1.5rem, 2.6vw, 2.2rem);
	line-height: 1.375;
}

.am-fotos {
	display: grid;
	gap: 1rem;
}

.am-fotos > * + * {
	margin-top: 0 !important;
}

/* espaço para fotografia: linhas de profundidade e a legenda */
.am-foto-espera {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	padding: 1.25rem;
	border-radius: 3px;
	background: var(--wp--preset--color--fundo);
	color: var(--am-claro);
}

.am-foto-espera--16-10 {
	aspect-ratio: 16 / 10;
}

.am-foto-espera > * {
	position: relative;
	margin: 0;
}

.am-foto-espera > .am-contornos {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	color: rgb(255 255 255 / 0.15);
}

.am-foto-espera__legenda {
	color: var(--am-claro);
	font-size: 1.1rem;
	line-height: 1.375;
}

.am-foto-espera__nota {
	margin-top: 0.25rem !important;
	color: var(--am-claro-suave);
	font-size: 0.75rem;
}

/* ---------- passa na loja ---------- */

.am-visita {
	overflow: hidden;
}

.am-visita > .am-contornos {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	color: rgb(255 255 255 / 0.07);
}

.am-visita__grelha {
	position: relative;
	display: grid;
	gap: 3rem;
}

.am-visita__grelha > *,
.am-visita__texto > *,
.am-visita__dados > * {
	margin-block: 0;
}

.am-visita__morada {
	margin-top: 2rem !important;
	font-size: clamp(1.3rem, 2.2vw, 1.8rem);
	font-weight: 600;
	line-height: 1.375;
}

.am-visita__coordenadas {
	margin-top: 0.75rem !important;
	font-size: 1.1rem;
}

.am-visita__envio {
	max-width: 46ch;
	margin-top: 1.5rem !important;
}

.am-visita__botoes {
	margin-top: 2rem !important;
}

.am-visita__dados {
	display: grid;
	align-content: start;
	gap: 1.5rem;
}

.am-dado {
	padding-top: 1rem;
	border-top: 1px solid rgb(255 255 255 / 0.2);
}

.am-dado > * {
	margin: 0;
}

.am-dado__valor {
	margin-top: 0.25rem !important;
	font-size: 1.15rem;
}

.am-dado__valor a {
	color: inherit;
}

@media (min-width: 64rem) {
	.am-visita__grelha {
		grid-template-columns: 7fr 5fr;
	}

	.am-visita__dados {
		padding-top: 1rem;
	}
}

/* ---------- perguntas frequentes ---------- */

.am-perguntas > * {
	margin: 0;
}

.am-pergunta {
	border-top: 1px solid color-mix(in srgb, currentColor 20%, transparent);
}

.am-pergunta:last-child {
	border-bottom: 1px solid color-mix(in srgb, currentColor 20%, transparent);
}

.am-pergunta summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	min-height: 3.5rem;
	padding-block: 1rem;
	font-size: 1.15rem;
	font-weight: 600;
	list-style: none;
	cursor: pointer;
}

.am-pergunta summary::-webkit-details-marker {
	display: none;
}

.am-pergunta summary::after {
	content: "+";
	flex-shrink: 0;
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1;
	transition: transform 0.2s;
}

.am-pergunta[open] summary::after {
	transform: rotate(45deg);
}

.am-pergunta > p {
	max-width: 62ch;
	margin: 0;
	padding-bottom: 1.5rem;
	color: var(--am-texto-suave);
}

/* ---------- contactos ---------- */

.am-canais {
	border-block: 1px solid rgb(11 34 48 / 0.15);
}

.am-canal + .am-canal {
	border-top: 1px solid rgb(11 34 48 / 0.15);
}

.am-canal > p {
	margin: 0;
}

.am-canal a {
	position: relative;
	display: block;
	min-height: 4rem;
	padding: 1rem 0 1rem 2.25rem;
	color: inherit;
	text-decoration: none;
	line-height: 1.4;
}

.am-canal a:hover strong {
	color: var(--am-marinho);
}

.am-canal a::before {
	content: "";
	position: absolute;
	top: 1.15rem;
	left: 0;
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask: var(--am-icone) center / contain no-repeat;
	mask: var(--am-icone) center / contain no-repeat;
}

.am-canal--whatsapp { --am-icone: url("../icones/whatsapp.svg"); }
.am-canal--telefone { --am-icone: url("../icones/telefone.svg"); }
.am-canal--email { --am-icone: url("../icones/email.svg"); }

.am-contactos__loja {
	margin-top: 2.5rem !important;
}

.am-contactos__loja > * {
	margin: 0;
}

.am-contactos__loja > * + * {
	margin-top: 0.75rem;
}

.am-contactos__subtitulo.am-contactos__subtitulo {
	font-family: inherit;
	font-size: 1rem;
	font-stretch: 100%;
	font-weight: 600;
	letter-spacing: 0;
}

/* ---------- página não encontrada ---------- */

.am-erro {
	overflow: hidden;
}

.am-erro > .am-contornos {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	color: rgb(255 255 255 / 0.08);
}

.am-erro__conteudo {
	position: relative;
	display: grid;
	align-content: center;
	gap: 2rem;
	min-height: 70vh;
	padding-block: 5rem;
}

.am-erro__conteudo > * {
	margin: 0;
}

.am-erro__nota {
	font-size: 1.2rem;
}

.am-erro__titulo.am-erro__titulo {
	max-width: 13ch;
	font-size: var(--wp--preset--font-size--capa);
	line-height: 0.92;
}

.am-erro__botoes {
	gap: 0.75rem;
}

@media (prefers-reduced-motion: reduce) {
	.am-subir,
	.am-capa__titulo .am-linha > span {
		animation: none;
	}

	.am-passos .am-corda--horizontal,
	.am-passos .am-corda--vertical {
		clip-path: none;
		transition: none;
	}
}

/* o WordPress põe margem entre blocos seguidos; nestas grelhas o espaço é o da grelha */
.am-factos > *,
.am-materiais > *,
.am-itens > *,
.am-canais > *,
.am-visita__dados > *,
.am-fotos > * {
	margin-block: 0 !important;
}

.am-tecnica__nome.am-tecnica__nome {
	font-stretch: 112%;
	font-weight: 800;
	letter-spacing: -0.025em;
}
