/*
 * Achados Portistas (#202) — Ronda 24 (v2, «montra limpa») + correcções 24b.
 *
 * Folha de página (sem build), enfileirada só onde há peças dos Achados
 * (inc/achados-tema.php, sp_ach_na_pagina()): o hub /loja/, os momentos, o
 * detalhe, as notícias e guias com achados e o Início na janela sazonal.
 * Lê os tokens do :root (var(--sp-…, #recurso)). Reaproveita do sistema
 * .sp-container, .sp-page-head, .sp-migalhas, .sp-pilulas, .sp-btn,
 * .sp-kicker, .sp-grupo, .sp-pg-mais e .sp-vazio.
 *
 * Onde a maqueta e o código divergem (24n2): vale o código no contentor,
 * no cabeçalho, nas migalhas e nos chips (activo porto, não ink); vale a
 * maqueta na grelha (2 col. compactas até md, 3 a partir de md, 4 só no
 * Início sem lateral), no cartão G (480 + texto ≥ lg) e no ar entre secções
 * (64 / 32, --sp-space-16). O H1 do hub fica no topo da escala (44), não 56.
 */

/* --- O wordmark (24a) ---------------------------------------------------- */

.sp-ach-marca {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	white-space: nowrap;
	color: var(--sp-ink, #0f172a);
	text-decoration: none;
}

.sp-ach-marca__ico {
	display: grid;
	place-items: center;
	flex: none;
	width: 28px;
	height: 28px;
	border-radius: 7px;
	background: var(--sp-porto, #004b9b);
	color: #fff;
}

.sp-ach-marca__ico .sp-ach-ico {
	width: 16px;
	height: 16px;
}

.sp-ach-marca__nome {
	margin: 0;
	font: 400 17px/1 'Source Serif 4', Georgia, serif;
	letter-spacing: -0.01em;
	color: inherit;
}

.sp-ach-marca__forte {
	font-weight: 700;
}

.sp-ach-marca--xs {
	gap: 5px;
}

.sp-ach-marca--xs .sp-ach-marca__ico {
	width: 20px;
	height: 20px;
	border-radius: 5px;
}

.sp-ach-marca--xs .sp-ach-marca__ico .sp-ach-ico {
	width: 12px;
	height: 12px;
}

.sp-ach-marca--xs .sp-ach-marca__nome {
	font-size: 13px;
}

.sp-ach-marca--l {
	gap: 11px;
}

.sp-ach-marca--l .sp-ach-marca__ico {
	width: 44px;
	height: 44px;
	border-radius: 11px;
}

.sp-ach-marca--l .sp-ach-marca__ico .sp-ach-ico {
	width: 24px;
	height: 24px;
}

.sp-ach-marca--l .sp-ach-marca__nome {
	font-size: 26px;
}

/* No H1 do hub: o quadrado 44 → 56 e o nome 32 → 44. */
.sp-ach-marca--h1 {
	gap: 12px;
	white-space: normal;
}

.sp-ach-marca--h1 .sp-ach-marca__ico {
	width: 44px;
	height: 44px;
	border-radius: 11px;
}

.sp-ach-marca--h1 .sp-ach-marca__ico .sp-ach-ico {
	width: 26px;
	height: 26px;
}

.sp-ach-marca--h1 .sp-ach-marca__nome {
	font-size: 32px;
	line-height: 1.05;
	letter-spacing: -0.015em;
}

@media (min-width: 1024px) {
	.sp-ach-marca--h1 {
		gap: 16px;
	}

	.sp-ach-marca--h1 .sp-ach-marca__ico {
		width: 56px;
		height: 56px;
		border-radius: 14px;
	}

	.sp-ach-marca--h1 .sp-ach-marca__ico .sp-ach-ico {
		width: 32px;
		height: 32px;
	}

	.sp-ach-marca--h1 .sp-ach-marca__nome {
		font-size: 44px;
	}
}

/* --- Selos (só três; «Baixou de preço» é da Fase 2) ----------------------- */

.sp-ach-selo {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	width: max-content;
	height: 24px;
	padding: 0 9px 0 7px;
	border-radius: 9999px;
	font: 700 11px/1 'Libre Franklin', sans-serif;
	white-space: nowrap;
}

.sp-ach-selo .sp-ach-ico {
	width: 14px;
	height: 14px;
}

.sp-ach-selo--oficial {
	background: var(--sp-navy, #06152b);
	color: #fff;
}

.sp-ach-selo--indisponivel {
	background: var(--sp-surface-subtle, #eef2f7);
	color: var(--sp-ink-muted, #475569);
}

/* --- Cabeçalho da loja (molde hub 23b1, claro) --------------------------- */

.sp-ach-previa {
	margin: 0;
	padding: 8px 16px;
	background: var(--sp-warn-bg, #fff7ed);
	border-bottom: 1px solid var(--sp-warn-border, #fed7aa);
	font: 600 13px/18px 'Libre Franklin', sans-serif;
	color: var(--sp-warn-ink, #9a3412);
	text-align: center;
}

.sp-ach-cab__corpo {
	display: grid;
	gap: 12px;
	margin-top: 12px;
}

.sp-ach-cab__h1 {
	margin: 0;
	font: 700 32px/38px 'Source Serif 4', Georgia, serif;
	letter-spacing: -0.01em;
	color: var(--sp-ink, #0f172a);
}

.sp-ach-cab__sub {
	max-width: 56ch;
	margin: 0;
	font: 400 18px/28px 'Source Serif 4', Georgia, serif;
	color: var(--sp-ink-body, #1e293b);
}

@media (min-width: 1024px) {
	.sp-ach-cab__corpo {
		gap: 16px;
		margin-top: 20px;
	}

	.sp-ach-cab__h1 {
		font-size: 40px;
		line-height: 46px;
	}

	.sp-ach-cab__sub {
		font-size: 20px;
		line-height: 30px;
	}
}

/* A linha de confiança: nota PT + regra + «Como funciona»; a frase oficial
   da Amazon em espanhol por baixo (24b, ponto 4). */
.sp-ach-confianca {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	max-width: 72ch;
	color: var(--sp-ink-muted, #475569);
}

.sp-ach-confianca__ico {
	flex: none;
	margin-top: 2px;
	color: var(--sp-porto, #004b9b);
}

.sp-ach-confianca__texto p {
	margin: 0;
	font: 400 14px/21px 'Libre Franklin', sans-serif;
}

.sp-ach-confianca__texto strong {
	font-weight: 600;
	color: var(--sp-ink-body, #1e293b);
}

.sp-ach-confianca__texto a {
	color: var(--sp-porto, #004b9b);
	text-decoration: underline;
	white-space: nowrap;
}

.sp-ach-confianca__texto .sp-ach-confianca__es {
	margin-top: 4px;
	font-size: 12px;
	line-height: 17px;
}

@media (min-width: 1024px) {
	.sp-ach-confianca__texto p {
		font-size: 15px;
		line-height: 22px;
	}
}

/* --- Secções (64 entre secções no desktop, 32 no telemóvel) ------------- */

.sp-ach-sec {
	padding-top: 32px;
}

.sp-ach {
	padding-bottom: 32px;
}

@media (min-width: 1024px) {
	.sp-ach-sec {
		padding-top: var(--sp-space-16, 4rem);
	}

	.sp-ach {
		padding-bottom: var(--sp-space-16, 4rem);
	}
}

.sp-ach-sec__cab {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 20px;
}

.sp-ach-sec__h {
	margin: 0;
	font: 700 26px/32px 'Source Serif 4', Georgia, serif;
	letter-spacing: -0.01em;
	color: var(--sp-ink, #0f172a);
}

.sp-ach-sec__h--m {
	font-size: 20px;
	line-height: 26px;
}

.sp-ach-sec__meta {
	margin: 4px 0 0;
	font: 400 14px/20px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-muted, #475569);
}

@media (min-width: 1024px) {
	.sp-ach-sec__cab {
		margin-bottom: 24px;
	}

	.sp-ach-sec__h {
		font-size: 32px;
		line-height: 38px;
	}

	.sp-ach-sec__h--m {
		font-size: 22px;
		line-height: 28px;
	}
}

/* --- A banda porto-light (montra, «O essencial») ------------------------- */

.sp-ach-banda {
	padding: 32px 0;
	background: var(--sp-porto-light, #e8f0fa);
}

.sp-ach-banda > .sp-container {
	display: grid;
	gap: 24px;
}

.sp-ach-banda__topo {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px 16px;
}

.sp-ach-banda__aviso {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font: 500 14px/20px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-body, #1e293b);
}

.sp-ach-banda__aviso .sp-ach-ico {
	flex: none;
	color: var(--sp-porto, #004b9b);
}

.sp-ach-banda__mais {
	padding-top: 8px;
}

@media (min-width: 1024px) {
	.sp-ach-banda {
		padding: 56px 0;
	}

	.sp-ach-banda > .sp-container {
		gap: 32px;
	}
}

/* --- A foto do cartão: a nossa, ou o cartão sem foto (24b, ponto 1) ------ */

.sp-ach-foto {
	position: relative;
	display: grid;
	place-items: center;
	align-content: center;
	gap: 10px;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 16px;
	background: var(--sp-surface, #fff);
	box-shadow: inset 0 0 0 1px var(--sp-border, #dfe5ee);
	text-decoration: none;
}

.sp-ach-foto img {
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	/* As da Amazon (Fase 2) não se recortam; as nossas também não. */
	object-fit: contain;
}

.sp-ach-foto--sem {
	background: var(--sp-porto-light, #e8f0fa);
}

.sp-ach-banda .sp-ach-foto--sem {
	background: var(--sp-surface, #fff);
}

.sp-ach-foto__circ {
	display: grid;
	place-items: center;
	width: 64px;
	height: 64px;
	border-radius: 9999px;
	background: var(--sp-surface, #fff);
	color: var(--sp-porto, #004b9b);
	box-shadow: 0 0 0 1px var(--sp-border, #dfe5ee);
}

.sp-ach-banda .sp-ach-foto__circ {
	background: var(--sp-porto-light, #e8f0fa);
	box-shadow: none;
}

.sp-ach-foto__marca {
	max-width: 80%;
	overflow: hidden;
	font: 600 13px/18px 'Libre Franklin', sans-serif;
	letter-spacing: 0.02em;
	color: var(--sp-ink-strong, #33415c);
	text-overflow: ellipsis;
	white-space: nowrap;
}

.sp-ach-foto__selo {
	position: absolute;
	top: 10px;
	left: 10px;
}

.sp-ach-foto.is-indisponivel img,
.sp-ach-foto.is-indisponivel .sp-ach-foto__circ,
.sp-ach-foto.is-indisponivel .sp-ach-foto__marca {
	opacity: 0.45;
}

.sp-ach-foto--g {
	border-radius: 20px;
}

.sp-ach-foto--g .sp-ach-foto__circ {
	width: 112px;
	height: 112px;
}

.sp-ach-foto--g .sp-ach-foto__circ .sp-ach-ico {
	width: 48px;
	height: 48px;
}

.sp-ach-foto--g .sp-ach-foto__marca {
	font-size: 15px;
}

.sp-ach-foto--det {
	border-radius: 20px;
}

.sp-ach-foto--det .sp-ach-foto__circ {
	width: 128px;
	height: 128px;
}

.sp-ach-foto--det .sp-ach-foto__circ .sp-ach-ico {
	width: 56px;
	height: 56px;
}

.sp-ach-foto--det .sp-ach-foto__marca {
	font-size: 16px;
}

.sp-ach-foto--linha,
.sp-ach-foto--noticia,
.sp-ach-foto--mini {
	border-radius: 12px;
}

.sp-ach-foto--linha .sp-ach-foto__circ,
.sp-ach-foto--noticia .sp-ach-foto__circ,
.sp-ach-foto--mini .sp-ach-foto__circ {
	width: 44px;
	height: 44px;
}

.sp-ach-foto--linha .sp-ach-foto__circ .sp-ach-ico,
.sp-ach-foto--noticia .sp-ach-foto__circ .sp-ach-ico,
.sp-ach-foto--mini .sp-ach-foto__circ .sp-ach-ico {
	width: 22px;
	height: 22px;
}

.sp-ach-foto--linha .sp-ach-foto__marca,
.sp-ach-foto--mini .sp-ach-foto__marca {
	display: none;
}

.sp-ach-foto--linha .sp-ach-foto__selo,
.sp-ach-foto--mini .sp-ach-foto__selo {
	display: none;
}

/* --- A família de cartões (24b) ------------------------------------------ */

.sp-ach-cartao {
	min-width: 0;
}

.sp-ach-cartao__nome {
	margin: 0;
	font: 700 18px/24px 'Source Serif 4', Georgia, serif;
	color: var(--sp-ink, #0f172a);
	text-wrap: pretty;
}

.sp-ach-cartao__nome a {
	color: inherit;
	text-decoration: none;
}

.sp-ach-cartao__nome a:hover {
	color: var(--sp-porto, #004b9b);
}

.sp-ach-cartao__porque {
	margin: 0;
	font: 400 15px/22px 'Source Serif 4', Georgia, serif;
	color: var(--sp-ink-body, #1e293b);
	text-wrap: pretty;
}

.sp-ach-btn .sp-ach-ico {
	flex: none;
}

/* Médio (grelha, sem caixa). */
.sp-ach-cartao--m {
	display: grid;
	grid-template-rows: auto 1fr auto;
	gap: 14px;
	align-content: start;
}

.sp-ach-cartao--m .sp-ach-cartao__corpo {
	display: grid;
	gap: 6px;
	align-content: start;
	min-width: 0;
}

/* Grande (destaque): empilhado abaixo de lg; 480 + texto a partir de lg. */
.sp-ach-cartao--g {
	display: grid;
	gap: 20px;
}

.sp-ach-cartao--g .sp-ach-cartao__corpo {
	display: grid;
	gap: 12px;
	align-content: center;
}

.sp-ach-cartao--g .sp-ach-cartao__nome {
	font-size: 26px;
	line-height: 32px;
	text-wrap: balance;
}

.sp-ach-cartao--g .sp-ach-cartao__porque {
	max-width: 50ch;
	font-size: 17px;
	line-height: 26px;
}

.sp-ach-cartao__accoes {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 16px;
}

.sp-ach-cartao--g .sp-ach-cartao__accoes .sp-ach-btn {
	width: 100%;
}

.sp-ach-cartao__mais {
	font: 600 15px/20px 'Libre Franklin', sans-serif;
	color: var(--sp-porto, #004b9b);
	text-decoration: none;
}

.sp-ach-cartao__mais:hover {
	text-decoration: underline;
}

@media (min-width: 640px) {
	.sp-ach-cartao--g .sp-ach-cartao__accoes .sp-ach-btn {
		width: auto;
	}
}

@media (min-width: 1024px) {
	.sp-ach-cartao--g {
		grid-template-columns: minmax(0, 480px) minmax(0, 1fr);
		gap: 48px;
		align-items: center;
	}

	.sp-ach-cartao--g .sp-ach-cartao__corpo {
		gap: 18px;
	}

	.sp-ach-cartao--g .sp-ach-cartao__nome {
		font-size: 40px;
		line-height: 46px;
	}

	.sp-ach-cartao--g .sp-ach-cartao__porque {
		font-size: 20px;
		line-height: 32px;
	}
}

/* Linha (listas, guias, «Os nossos achados»). */
.sp-ach-cartao--linha {
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	gap: 8px 16px;
	align-items: center;
	padding: 16px 0;
	box-shadow: inset 0 -1px 0 var(--sp-border, #dfe5ee);
}

.sp-ach-cartao--linha .sp-ach-cartao__corpo {
	display: grid;
	gap: 4px;
	min-width: 0;
}

.sp-ach-cartao--linha .sp-ach-cartao__nome {
	font-size: 16px;
	line-height: 22px;
}

.sp-ach-cartao--linha .sp-ach-cartao__porque {
	font: 400 14px/20px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-muted, #475569);
}

.sp-ach-cartao--linha .sp-ach-cartao__accoes {
	grid-column: 2;
}

.sp-ach-cartao__num {
	display: none;
}

@media (min-width: 640px) {
	.sp-ach-cartao--linha {
		grid-template-columns: 96px minmax(0, 1fr) auto;
		gap: 20px;
	}

	.sp-ach-cartao--linha .sp-ach-cartao__accoes {
		grid-column: auto;
	}
}

/* Numerada (resumo do guia): o número à esquerda da foto. */
.sp-ach-resumo .sp-ach-cartao--linha {
	grid-template-columns: 28px 64px minmax(0, 1fr);
}

.sp-ach-resumo .sp-ach-cartao__num {
	display: block;
	font: 700 22px/1 'Source Serif 4', Georgia, serif;
	color: var(--sp-porto, #004b9b);
}

.sp-ach-resumo .sp-ach-cartao--linha .sp-ach-cartao__accoes {
	grid-column: 3;
}

@media (min-width: 640px) {
	.sp-ach-resumo .sp-ach-cartao--linha {
		grid-template-columns: 28px 64px minmax(0, 1fr) auto;
	}

	.sp-ach-resumo .sp-ach-cartao--linha .sp-ach-cartao__accoes {
		grid-column: auto;
	}
}

/* --- A grelha: 2 compactas até md, 3 a partir de md ---------------------- */

.sp-ach-grelha {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px 16px;
}

@media (max-width: 767px) {
	/* Compacto (24b «APP · compacto»): foto 12, nome 15/20, texto 13/19, botão a toda a largura. */
	.sp-ach-grelha .sp-ach-foto {
		border-radius: 12px;
	}

	.sp-ach-grelha .sp-ach-foto__circ {
		width: 48px;
		height: 48px;
	}

	.sp-ach-grelha .sp-ach-foto__circ .sp-ach-ico {
		width: 22px;
		height: 22px;
	}

	.sp-ach-grelha .sp-ach-foto__marca {
		font-size: 12px;
	}

	.sp-ach-grelha .sp-ach-cartao--m {
		gap: 10px;
	}

	.sp-ach-grelha .sp-ach-cartao__nome {
		font-size: 15px;
		line-height: 20px;
	}

	.sp-ach-grelha .sp-ach-cartao__porque {
		font-size: 13px;
		line-height: 19px;
	}

	.sp-ach-grelha .sp-ach-btn {
		width: 100%;
		padding: 0 8px;
		font-size: 13px;
	}

	.sp-ach-grelha .sp-ach-foto__selo {
		top: 6px;
		left: 6px;
	}

	/* No Início, uma faixa que desliza (o esbatido e o › são do paginas.js). */
	.sp-ach-grelha--faixa {
		grid-auto-flow: column;
		grid-auto-columns: minmax(0, 46%);
		grid-template-columns: none;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.sp-ach-grelha--faixa::-webkit-scrollbar {
		display: none;
	}

	.sp-ach-grelha--faixa > * {
		scroll-snap-align: start;
	}
}

@media (min-width: 768px) {
	.sp-ach-grelha {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 32px;
	}
}

@media (min-width: 1024px) {
	.sp-ach-grelha--4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

/* --- Guias ----------------------------------------------------------------- */

.sp-ach-guias {
	display: grid;
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sp-ach-guia {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	gap: 16px;
	align-items: center;
}

.sp-ach-guia__foto {
	display: grid;
	place-items: center;
	width: 96px;
	height: 72px;
	border-radius: 12px;
	object-fit: cover;
	background: var(--sp-porto-light, #e8f0fa);
	color: var(--sp-porto, #004b9b);
}

.sp-ach-guia__texto {
	display: grid;
	gap: 4px;
	min-width: 0;
}

.sp-ach-guia__titulo {
	margin: 0;
	font: 700 18px/24px 'Source Serif 4', Georgia, serif;
}

.sp-ach-guia__titulo a {
	color: var(--sp-ink, #0f172a);
	text-decoration: none;
}

.sp-ach-guia__titulo a:hover {
	color: var(--sp-porto, #004b9b);
}

.sp-ach-guia__meta {
	margin: 0;
	font: 400 13px/18px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-muted, #475569);
}

@media (min-width: 768px) {
	.sp-ach-guias {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px 32px;
	}

	.sp-ach-guia {
		grid-template-columns: 144px minmax(0, 1fr);
		gap: 20px;
	}

	.sp-ach-guia__foto {
		width: 144px;
		height: 96px;
	}
}

/* --- Como funciona (3 linhas) -------------------------------------------- */

.sp-ach-como__lista {
	display: grid;
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sp-ach-como__passo {
	display: grid;
	gap: 8px;
}

.sp-ach-como__num {
	font: 700 32px/1 'Source Serif 4', Georgia, serif;
	color: var(--sp-porto, #004b9b);
}

.sp-ach-como__titulo {
	margin: 0;
	font: 700 18px/24px 'Source Serif 4', Georgia, serif;
	color: var(--sp-ink, #0f172a);
}

.sp-ach-como__texto {
	margin: 0;
	font: 400 15px/22px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-muted, #475569);
}

@media (min-width: 768px) {
	.sp-ach-como__lista {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 40px;
	}

	.sp-ach-como__num {
		font-size: 40px;
	}
}

/* --- Outros momentos ----------------------------------------------------- */

.sp-ach-outros__lista {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.sp-ach-outros__item {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	min-height: 44px;
	padding: 0 12px 0 16px;
	border: 1px solid var(--sp-border, #dfe5ee);
	border-radius: var(--sp-radius-sm, 8px);
	background: var(--sp-surface, #fff);
	font: 600 14px/1 'Libre Franklin', sans-serif;
	color: var(--sp-ink-body, #1e293b);
	text-decoration: none;
}

.sp-ach-outros__item:hover {
	border-color: var(--sp-porto, #004b9b);
	color: var(--sp-porto, #004b9b);
}

/* --- Estado vazio (24k) -------------------------------------------------- */

.sp-ach-vazio {
	padding: 40px 16px;
}

.sp-ach-vazio > .sp-ach-ico {
	color: var(--sp-porto, #004b9b);
}

.sp-ach-vazio__accoes {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-top: 8px;
}

/* --- Detalhe (24e) ------------------------------------------------------- */

.sp-ach-det__migalhas {
	padding-top: 4px;
}

.sp-ach-det__grelha {
	display: grid;
	gap: 24px;
	padding-top: 16px;
}

.sp-ach-det__texto {
	display: grid;
	gap: 16px;
	align-content: start;
	min-width: 0;
}

.sp-ach-det__texto .sp-kicker a {
	color: inherit;
	text-decoration: none;
}

.sp-ach-det__h1 {
	margin: 0;
	font: 700 32px/38px 'Source Serif 4', Georgia, serif;
	letter-spacing: -0.01em;
	color: var(--sp-ink, #0f172a);
	text-wrap: balance;
}

.sp-ach-det__porque {
	margin: 0;
	font: 400 18px/28px 'Source Serif 4', Georgia, serif;
	color: var(--sp-ink-body, #1e293b);
}

.sp-ach-det__compra {
	display: grid;
	gap: 12px;
	padding: 4px 0 20px;
	box-shadow: inset 0 -1px 0 var(--sp-border, #dfe5ee);
}

.sp-ach-det__compra p {
	margin: 0;
}

.sp-ach-det__compra .sp-ach-btn {
	width: 100%;
}

.sp-ach-det__indisp {
	font: 400 14px/20px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-muted, #475569);
}

.sp-ach-det__bloco {
	display: grid;
	gap: 4px;
}

.sp-ach-det__bloco .sp-grupo {
	margin: 0 0 4px;
}

.sp-ach-det__bloco p {
	margin: 0;
	font: 400 16px/26px 'Source Serif 4', Georgia, serif;
	color: var(--sp-ink-body, #1e293b);
}

.sp-ach-det__razoes {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: sp-ach-razao;
}

.sp-ach-det__razoes li {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr);
	gap: 8px;
	font: 400 16px/24px 'Source Serif 4', Georgia, serif;
	color: var(--sp-ink-body, #1e293b);
	counter-increment: sp-ach-razao;
}

.sp-ach-det__razoes li::before {
	content: counter(sp-ach-razao);
	display: grid;
	place-items: center;
	width: 24px;
	height: 24px;
	border-radius: 9999px;
	background: var(--sp-porto-light, #e8f0fa);
	font: 700 12px/1 'Libre Franklin', sans-serif;
	color: var(--sp-porto, #004b9b);
}

.sp-ach-det__regra {
	margin: 0;
	font: 400 13px/18px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-muted, #475569);
}

@media (min-width: 640px) {
	.sp-ach-det__compra .sp-ach-btn {
		width: auto;
		justify-self: start;
	}
}

@media (min-width: 1024px) {
	.sp-ach-det__migalhas {
		padding-top: 24px;
	}

	.sp-ach-det__grelha {
		grid-template-columns: minmax(0, 520px) minmax(0, 1fr);
		gap: 56px;
		align-items: start;
		padding-top: 24px;
	}

	.sp-ach-det__foto {
		position: sticky;
		top: calc(var(--sp-site-header-offset, 64px) + 24px);
	}

	.sp-ach-det__h1 {
		font-size: 40px;
		line-height: 46px;
	}

	.sp-ach-det__porque {
		font-size: 20px;
		line-height: 30px;
	}
}

/* A barra fixa do telemóvel: «Ver na Amazon» quando o bloco de compra sai do ecrã. */
.sp-ach-barra {
	position: fixed;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 40;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px));
	background: var(--sp-surface, #fff);
	box-shadow: 0 -1px 0 var(--sp-border, #dfe5ee), 0 -4px 16px rgba(6, 21, 43, 0.08);
}

.sp-ach-barra[hidden] {
	display: none;
}

.sp-ach-barra__nome {
	min-width: 0;
	overflow: hidden;
	font: 700 15px/20px 'Source Serif 4', Georgia, serif;
	color: var(--sp-ink, #0f172a);
	text-overflow: ellipsis;
	white-space: nowrap;
}

.sp-ach-barra .sp-ach-btn {
	flex: none;
}

@media (min-width: 1024px) {
	.sp-ach-barra {
		display: none !important;
	}
}

/* --- Dentro das notícias (24g): a única peça com caixa e rótulo ---------- */

.sp-ach-noticia {
	display: grid;
	gap: 14px;
	margin: 32px 0;
	padding: 16px;
	border-radius: 16px;
	background: var(--sp-surface, #fff);
	box-shadow: inset 0 0 0 1px var(--sp-border, #dfe5ee);
}

.sp-ach-noticia__cab {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.sp-ach-noticia__rotulo {
	font: 700 11px/13px 'Libre Franklin', sans-serif;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sp-ink-muted, #475569);
}

.sp-ach-noticia__marca {
	text-decoration: none;
}

.sp-ach-noticia__item {
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr);
	gap: 12px 16px;
	align-items: center;
}

.sp-ach-noticia__corpo {
	display: grid;
	gap: 6px;
	min-width: 0;
}

.sp-ach-noticia__botao {
	grid-column: 1 / -1;
}

.sp-ach-noticia__botao .sp-ach-btn {
	width: 100%;
}

.sp-ach-noticia__fila {
	display: grid;
	gap: 12px;
}

.sp-ach-noticia__mini {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	gap: 8px 12px;
	align-items: center;
}

.sp-ach-noticia__mini .sp-ach-cartao__nome {
	font-size: 15px;
	line-height: 20px;
}

.sp-ach-noticia__mini .sp-ach-btn {
	grid-column: 2;
}

.sp-ach-noticia__nota {
	margin: 0;
	padding-top: 12px;
	box-shadow: inset 0 1px 0 var(--sp-border, #dfe5ee);
	font: 400 12px/17px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-muted, #475569);
}

@media (min-width: 640px) {
	.sp-ach-noticia {
		padding: 20px;
	}

	.sp-ach-noticia__item {
		grid-template-columns: 120px minmax(0, 1fr) auto;
		gap: 20px;
	}

	.sp-ach-noticia__botao {
		grid-column: auto;
	}

	.sp-ach-noticia__botao .sp-ach-btn {
		width: auto;
	}

	.sp-ach-noticia__fila {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 16px;
	}

	.sp-ach-noticia__mini {
		grid-template-columns: none;
		align-content: start;
		gap: 10px;
	}

	.sp-ach-noticia__mini .sp-ach-btn {
		grid-column: auto;
	}
}

/* --- Guias: a etiqueta no topo, o cartão embutido e «Os nossos achados» -- */

.sp-ach-etiqueta {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin: 0 0 16px;
	padding: 4px 10px;
	border-radius: 9999px;
	background: var(--sp-porto-light, #e8f0fa);
	font: 600 12px/16px 'Libre Franklin', sans-serif;
	color: var(--sp-porto, #004b9b);
}

.sp-ach-etiqueta a {
	color: inherit;
}

.sp-ach-embutido {
	margin: 24px 0;
	box-shadow: inset 0 1px 0 var(--sp-border, #dfe5ee);
}

.sp-ach-resumo {
	display: grid;
	gap: 8px;
	margin: 40px 0 8px;
	padding: 20px;
	border-radius: 16px;
	background: var(--sp-surface-muted, #f4f7fb);
}

.sp-ach-resumo__cab {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.sp-ach-resumo__h {
	margin: 0;
	font: 700 22px/28px 'Source Serif 4', Georgia, serif;
	color: var(--sp-ink, #0f172a);
}

/* --- Início: «Prendas para portistas» (24h) ------------------------------ */

.sp-ach-inicio {
	margin: 32px 0;
	padding: 20px 16px;
	border-radius: 16px;
	background: var(--sp-porto-light, #e8f0fa);
}

.sp-ach-inicio__cab {
	display: grid;
	gap: 8px;
	margin-bottom: 16px;
}

.sp-ach-inicio__cab .sp-sec-titulo {
	margin: 0;
}

.sp-ach-inicio__nota {
	margin: 0;
	font: 400 13px/18px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-muted, #475569);
}

.sp-ach-inicio .sp-ach-foto--sem {
	background: var(--sp-surface, #fff);
}

.sp-ach-inicio .sp-ach-foto__circ {
	background: var(--sp-porto-light, #e8f0fa);
	box-shadow: none;
}

@media (min-width: 768px) {
	.sp-ach-inicio {
		padding: 24px;
	}
}

/* --- Dentro do texto do artigo ------------------------------------------- */
/* O `.prose a` do ai-news-archive.css (0,1,1) e o `.sp-artigo .sp-article-prose p`
   (0,2,1) ganham ao .sp-btn e aos textos do cartão: o not-prose não chega
   para folhas que não são do plugin de tipografia. */

.prose .sp-ach-btn.sp-btn--primario,
.prose .sp-ach-btn.sp-btn--primario:hover {
	border-bottom: 0;
	color: #fff;
	font-weight: 700;
}

.prose .sp-ach-btn.sp-btn--secundario {
	border-bottom-color: var(--sp-border, #dfe5ee);
	color: var(--sp-porto, #004b9b);
}

.prose .sp-ach-cartao__nome a,
.prose .sp-ach-noticia__marca,
.prose .sp-ach-foto {
	border-bottom: 0;
	color: inherit;
	font-weight: inherit;
}

.sp-article-prose .sp-ach-noticia .sp-ach-cartao__nome,
.sp-article-prose .sp-ach-resumo .sp-ach-cartao__nome,
.sp-article-prose .sp-ach-embutido .sp-ach-cartao__nome {
	margin: 0;
	font: 700 17px/23px 'Source Serif 4', Georgia, serif;
	color: var(--sp-ink, #0f172a);
}

.sp-artigo .sp-article-prose .sp-ach-cartao__porque {
	margin: 0;
	font: 400 15px/22px 'Source Serif 4', Georgia, serif;
	color: var(--sp-ink-body, #1e293b);
}

.sp-artigo .sp-article-prose .sp-ach-cartao--linha .sp-ach-cartao__porque {
	font: 400 14px/20px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-muted, #475569);
}

.sp-artigo .sp-article-prose .sp-ach-noticia__nota {
	margin: 0;
	font: 400 12px/17px 'Libre Franklin', sans-serif;
	color: var(--sp-ink-muted, #475569);
}

.sp-artigo .sp-article-prose .sp-ach-etiqueta {
	font: 600 12px/16px 'Libre Franklin', sans-serif;
	color: var(--sp-porto, #004b9b);
}

.sp-artigo .sp-article-prose .sp-ach-resumo__h {
	margin: 0;
	font: 700 22px/28px 'Source Serif 4', Georgia, serif;
}

.sp-ach-foto--noticia .sp-ach-foto__selo {
	display: none;
}
