/* NeknarF Style — estilos que o theme.json não cobre. Tokens: var(--wp--preset--color--*). */

:root {
	--nk-line: color-mix(in srgb, var(--wp--preset--color--ink) 12%, transparent);
	/* Texto sobre fundo dourado: escuro nos dois modos (o "ink" fica claro no modo escuro). */
	--nk-sobre-dourado: #0D0D0D;
	/* Verde do "Em stock" (mais claro no modo escuro, assets/css/escuro.css). */
	--nk-verde: #2E7D32;
}

.wp-site-blocks > * {
	margin-block-start: 0;
}

.wp-element-button,
.wp-block-button__link {
	transition: background-color .3s ease, color .3s ease, border-color .3s ease;
}

/* Secções escuras de destaque. */
.has-base-background-color p:not(.is-style-kicker):not(.has-text-color) {
	color: var(--wp--preset--color--muted);
}

.has-base-background-color p a:not(.wp-element-button) {
	color: var(--wp--preset--color--accent);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.neknarf-hero__lede {
	max-width: 440px !important;
	margin-inline: auto !important;
}

/* Cabeçalho */
.neknarf-header__main {
	gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
}

.neknarf-header__search {
	flex: 1 1 320px;
	max-width: 520px;
}

.neknarf-header__search .wp-block-search__inside-wrapper {
	border: 1px solid var(--nk-line);
	border-radius: 0;
	padding: 0;
}

.neknarf-header__search .wp-block-search__input {
	border: 0;
	padding: 10px 14px;
	background: transparent;
	font-size: var(--wp--preset--font-size--small);
}

.neknarf-header__search .wp-block-search__button {
	border: 0;
	margin: 0;
	padding: 0 14px;
	background: transparent;
	color: var(--wp--preset--color--ink);
}

.neknarf-header__search .wp-block-search__button:hover {
	color: var(--wp--preset--color--accent);
	background: transparent;
}

/* Cabeçalho fixo (0.13.0, assets/js/menu.js): a barra de anúncio sai ao descer e
 * o resto fica preso em cima; com scroll passa a compacto. */
header.wp-block-template-part:has(> .neknarf-anuncio) {
	position: sticky;
	top: calc(var(--nk-topo-admin, 0px) - var(--nk-anuncio, 0px));
	z-index: 50;
}

.admin-bar {
	--nk-topo-admin: var(--wp-admin--admin-bar--height, 32px);
}

@media (max-width: 600px) {
	/* No telemóvel a barra do WordPress não fica fixa. */
	.admin-bar {
		--nk-topo-admin: 0px;
	}
}

.neknarf-header__faixa,
.neknarf-nav-band {
	transition: padding .3s ease, box-shadow .3s ease, background-color .3s ease;
}

.neknarf-header__main .wp-block-site-title {
	transition: font-size .3s ease;
}

.is-compacto .neknarf-header__faixa {
	padding-top: 10px !important;
	padding-bottom: 10px !important;
}

.is-compacto .neknarf-header__main .wp-block-site-title {
	font-size: var(--wp--preset--font-size--medium);
}

.is-compacto .neknarf-nav-band {
	padding-top: 2px !important;
	padding-bottom: 2px !important;
	box-shadow: 0 10px 24px -18px rgba(13, 13, 13, .35);
}

/* Compacto: fundo um pouco transparente, com desfoque do que passa por trás
 * (pedido do Kenny, 2026-10-26). O desfoque fica num ::before e não no próprio
 * elemento: backdrop-filter num antepassado prenderia o mini-carrinho (fixo) ao
 * cabeçalho. Os painéis do menu continuam opacos. */
.neknarf-header__faixa,
.neknarf-nav-band {
	isolation: isolate;
}

.neknarf-header__faixa {
	position: relative;
}

.is-compacto .neknarf-header__faixa,
.is-compacto .neknarf-nav-band {
	background-color: transparent !important;
}

.neknarf-header__faixa::before,
.neknarf-nav-band::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	opacity: 0;
	transition: opacity .3s ease;
	pointer-events: none;
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

.neknarf-header__faixa::before {
	background: color-mix(in srgb, var(--wp--preset--color--surface) 75%, transparent);
}

.neknarf-nav-band::before {
	background: color-mix(in srgb, var(--wp--preset--color--ivory) 75%, transparent);
}

.is-compacto .neknarf-header__faixa::before,
.is-compacto .neknarf-nav-band::before {
	opacity: 1;
}

/* Botões do telemóvel (menu e pesquisa): escondidos no computador. */
.neknarf-header__botao {
	display: none;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--wp--preset--color--ink);
	cursor: pointer;
	transition: color .3s ease;
}

.neknarf-header__botao:hover,
.neknarf-header__botao:focus-visible {
	color: var(--wp--preset--color--accent);
}

@media (max-width: 781px) {
	/* Barra fixa do telemóvel: menu · nome · pesquisa · carrinho. */
	.neknarf-header__faixa {
		padding-top: 8px !important;
		padding-bottom: 8px !important;
	}

	.neknarf-header__main {
		flex-wrap: wrap !important;
		gap: 4px 8px !important;
	}

	.neknarf-header__botao {
		display: inline-flex;
	}

	.neknarf-header__main .wp-block-site-title,
	.is-compacto .neknarf-header__main .wp-block-site-title {
		flex: 1 1 auto;
		min-width: 0;
		overflow: hidden;
		font-size: var(--wp--preset--font-size--medium);
		white-space: nowrap;
		text-overflow: ellipsis;
	}

	.neknarf-header__search {
		display: none;
		order: 3;
		flex-basis: 100%;
		max-width: none;
	}

	.is-pesquisa-aberta .neknarf-header__search {
		display: block;
	}

	/* Conta e moeda passam para a gaveta; o menu do computador fica escondido. */
	.neknarf-header__icons > .neknarf-moeda,
	.neknarf-header__icons .wp-block-woocommerce-customer-account,
	.neknarf-nav-band {
		display: none !important;
	}
}

.neknarf-nav-band {
	position: relative;
	border-block: 1px solid var(--nk-line);
}

/* Menu do computador (inc/menu.php). */
.neknarf-menu .screen-reader-text,
.neknarf-gaveta .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.neknarf-menu__lista {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0 var(--wp--preset--spacing--40);
	margin: 0;
	padding: 0;
	list-style: none;
}

.neknarf-menu__item {
	display: flex;
	align-items: center;
	gap: 2px;
}

.neknarf-menu__ligacao {
	display: inline-block;
	padding: 8px 0;
	border-bottom: 1px solid transparent;
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	letter-spacing: .08em;
	text-decoration: none;
	transition: border-color .3s ease, color .3s ease;
}

.neknarf-menu__ligacao:hover,
.neknarf-menu__item.is-aberto > .neknarf-menu__ligacao,
.neknarf-menu__item.is-ativo > .neknarf-menu__ligacao {
	border-bottom-color: var(--wp--preset--color--accent);
}

.neknarf-menu__abrir {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--wp--preset--color--subtle);
	cursor: pointer;
}

.neknarf-menu__abrir:hover,
.neknarf-menu__abrir:focus-visible {
	color: var(--wp--preset--color--accent);
}

.neknarf-menu__seta {
	transition: transform .2s ease;
}

.neknarf-menu__item.is-aberto .neknarf-menu__seta,
.neknarf-gaveta__abrir[aria-expanded="true"] .neknarf-menu__seta {
	transform: rotate(180deg);
}

.neknarf-menu__painel {
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	z-index: 40;
	border-bottom: 1px solid var(--nk-line);
	background: var(--wp--preset--color--surface);
	box-shadow: 0 22px 32px -26px rgba(13, 13, 13, .45);
}

.neknarf-menu__painel[hidden] {
	display: none;
}

.neknarf-menu__painel-dentro {
	max-width: var(--wp--style--global--wide-size, 1200px);
	margin: 0 auto;
	padding: var(--wp--preset--spacing--40) clamp(16px, 4vw, 40px) var(--wp--preset--spacing--30);
}

/* Tudo centrado na página, em todos os painéis (pedido do Kenny, 2026-10-26). */
.neknarf-menu__colunas {
	text-align: center;
}

.neknarf-menu__colunas--grupos {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--wp--preset--spacing--30) var(--wp--preset--spacing--70);
}

.neknarf-menu__coluna {
	min-width: 170px;
}

.neknarf-menu__colunas ul {
	display: grid;
	justify-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.neknarf-menu__grupo {
	display: block;
	margin-bottom: 14px;
	color: var(--wp--preset--color--accent);
	font-family: var(--wp--preset--font-family--jost, inherit);
	font-size: 12px;
	font-weight: 300;
	letter-spacing: .35em;
	text-decoration: none;
	text-transform: uppercase;
}

.neknarf-menu__colunas li a,
.neknarf-menu__tudo {
	border-bottom: 1px solid transparent;
	color: var(--wp--preset--color--ink);
	font-size: 15px;
	text-decoration: none;
	transition: border-color .3s ease;
}

.neknarf-menu__colunas li a:hover,
.neknarf-menu__colunas li a:focus-visible,
.neknarf-menu__tudo:hover {
	border-bottom-color: var(--wp--preset--color--accent);
}

.neknarf-menu__tudo {
	display: table;
	margin: var(--wp--preset--spacing--30) auto 0;
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: .08em;
}

/* Gaveta do telemóvel (inc/menu.php). */
.neknarf-gaveta {
	position: fixed;
	inset: 0 auto 0 0;
	flex-direction: column;
	width: min(88vw, 380px);
	max-width: none;
	height: 100%;
	max-height: none;
	margin: 0;
	padding: 0;
	overflow-y: auto;
	border: 0;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
}

.neknarf-gaveta[open] {
	display: flex;
}

.neknarf-gaveta::backdrop {
	background: rgba(13, 13, 13, .45);
}

html:has(.neknarf-gaveta[open]) {
	overflow: hidden;
}

.neknarf-gaveta__topo {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 12px 12px 20px;
	border-bottom: 1px solid var(--nk-line);
}

.neknarf-gaveta__titulo {
	color: var(--wp--preset--color--accent);
	font-family: var(--wp--preset--font-family--jost, inherit);
	font-size: 12px;
	font-weight: 300;
	letter-spacing: .35em;
	text-transform: uppercase;
}

.neknarf-gaveta__fechar {
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--wp--preset--color--ink);
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
}

.neknarf-gaveta nav {
	flex: 1 0 auto;
}

.neknarf-gaveta__lista,
.neknarf-gaveta__sub {
	margin: 0;
	padding: 0;
	list-style: none;
}

.neknarf-gaveta__lista > li {
	border-bottom: 1px solid var(--nk-line);
}

.neknarf-gaveta__linha {
	display: flex;
	align-items: stretch;
}

.neknarf-gaveta__ligacao {
	display: block;
	flex: 1;
	padding: 14px 20px;
	color: var(--wp--preset--color--ink);
	font-weight: 500;
	letter-spacing: .04em;
	text-decoration: none;
}

.neknarf-gaveta__abrir {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 52px;
	padding: 0;
	border: 0;
	border-left: 1px solid var(--nk-line);
	background: none;
	color: var(--wp--preset--color--ink);
	cursor: pointer;
}

.neknarf-gaveta__sub {
	background: var(--wp--preset--color--ivory);
}

.neknarf-gaveta__sub .neknarf-gaveta__ligacao {
	padding-left: 32px;
	font-weight: 400;
}

.neknarf-gaveta__sub .neknarf-gaveta__sub {
	background: var(--wp--preset--color--surface);
}

.neknarf-gaveta__sub .neknarf-gaveta__sub .neknarf-gaveta__ligacao {
	padding-left: 44px;
}

.neknarf-gaveta__tudo {
	color: var(--wp--preset--color--subtle);
	font-size: 14px;
}

.neknarf-gaveta__rodape {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--20);
	padding: 20px;
	border-top: 1px solid var(--nk-line);
}

.neknarf-gaveta__conta {
	color: var(--wp--preset--color--ink);
	font-weight: 500;
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--accent);
	text-underline-offset: 4px;
}

.neknarf-gaveta__rodape .neknarf-moeda--menu {
	margin: 0;
}

/* Conta e mini-carrinho */
.wc-block-mini-cart__button,
.wc-block-customer-account__link {
	color: var(--wp--preset--color--ink);
	transition: color .3s ease;
}

.wc-block-mini-cart__button:hover,
.wc-block-customer-account__link:hover {
	color: var(--wp--preset--color--accent);
	opacity: 1;
}

.wc-block-mini-cart__badge {
	background-color: var(--wp--preset--color--accent);
	border-color: var(--wp--preset--color--accent);
	color: var(--nk-sobre-dourado);
	font-weight: 500;
}

.wc-block-components-drawer,
.wc-block-mini-cart__drawer .wc-block-components-drawer__content {
	background-color: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
}

/* Cartões de produto */
.wc-block-product-template .wc-block-components-product-image,
.wc-block-product-template .wp-block-woocommerce-product-image {
	background-color: var(--wp--preset--color--ivory);
	margin-bottom: var(--wp--preset--spacing--20);
}

.wc-block-product-template .wp-block-post-title {
	font-family: var(--wp--preset--font-family--manrope);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.4;
	margin-block: 0 4px;
}

.wc-block-components-product-price,
.wp-block-woocommerce-product-price {
	color: var(--wp--preset--color--ink);
}

.has-base-background-color .wc-block-components-product-price,
.has-base-background-color .wp-block-woocommerce-product-price {
	color: var(--wp--preset--color--accent);
}

.wc-block-components-product-sale-badge {
	background: var(--wp--preset--color--accent);
	border: 0;
	border-radius: 0;
	color: var(--nk-sobre-dourado);
	font-family: var(--wp--preset--font-family--jost);
	letter-spacing: .2em;
	text-transform: uppercase;
}

/* Garantias */
.neknarf-garantia img {
	width: 36px;
	height: 36px;
	margin-inline: auto;
}

.neknarf-garantia h3 {
	font-size: var(--wp--preset--font-size--large);
	margin-block: var(--wp--preset--spacing--20) 6px;
}

.neknarf-garantia p {
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.6;
	margin: 0;
}

/* Compre por categoria */
.neknarf-cats {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

@media (min-width: 782px) {
	.neknarf-cats {
		grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
	}
}

.neknarf-cat {
	text-align: center;
}

.neknarf-cat img {
	aspect-ratio: 1;
	width: 100%;
	object-fit: cover;
	border-radius: 50%;
	border: 1px solid var(--wp--preset--color--accent);
	transition: transform .3s ease;
}

.neknarf-cat a:hover img {
	transform: scale(1.03);
}

.neknarf-cat p {
	margin-top: var(--wp--preset--spacing--20);
	font-weight: 500;
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: .08em;
}

/* Loja e categorias (archive-product): fundo marfim, pesquisa, faixa de resultados, cartões. */
.neknarf-loja {
	--nk-faixa: color-mix(in srgb, var(--wp--preset--color--ink) 5%, var(--wp--preset--color--ivory));
}

.neknarf-loja .wp-block-query-title {
	margin-block-start: 0;
}

/* Pesquisa (patterns/pesquisa-loja.php): botão preto, campo, linha dourada, seletor. */
.neknarf-pesquisa {
	display: flex;
	align-items: stretch;
	margin-block-start: var(--wp--preset--spacing--40);
	border: 1px solid var(--nk-line);
	background: var(--wp--preset--color--surface);
}

/* Na loja a pesquisa é o primeiro elemento visível: fica colada ao topo (só o padding da secção). */
.neknarf-loja > .neknarf-pesquisa {
	margin-block-start: 0 !important;
}

.neknarf-pesquisa__botao {
	flex: 0 0 56px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 0;
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--surface);
	cursor: pointer;
	transition: background-color .3s ease, color .3s ease;
}

.neknarf-pesquisa__botao:hover,
.neknarf-pesquisa__botao:focus-visible {
	background: var(--wp--preset--color--accent);
	color: var(--nk-sobre-dourado);
}

.neknarf-pesquisa__campo {
	flex: 1 1 auto;
	min-width: 0;
	min-height: 52px;
	padding: 0 18px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--manrope);
	font-size: var(--wp--preset--font-size--medium);
}

.neknarf-pesquisa__categoria {
	flex: 0 0 auto;
	max-width: 42%;
	padding: 0 36px 0 18px;
	border: 0;
	border-left: 1px solid var(--wp--preset--color--accent);
	border-radius: 0;
	background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%230D0D0D' stroke-width='1.2'/%3E%3C/svg%3E") no-repeat right 14px center;
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--manrope);
	font-size: var(--wp--preset--font-size--small);
	appearance: none;
	cursor: pointer;
}

.neknarf-pesquisa__campo:focus,
.neknarf-pesquisa__categoria:focus {
	outline: 1px solid var(--wp--preset--color--accent);
	outline-offset: -1px;
}

.neknarf-pesquisa:focus-within {
	border-color: var(--wp--preset--color--accent);
}

/* Telemóvel: o seletor de categoria passa para uma linha própria. */
@media (max-width: 599px) {
	.neknarf-pesquisa {
		flex-wrap: wrap;
	}

	.neknarf-pesquisa__botao {
		flex-basis: 52px;
	}

	.neknarf-pesquisa__campo {
		flex-basis: calc(100% - 52px);
	}

	.neknarf-pesquisa__categoria {
		flex-basis: 100%;
		max-width: none;
		min-height: 46px;
		border-left: 0;
		border-top: 1px solid var(--wp--preset--color--accent);
	}

	.neknarf-loja .neknarf-loja__resultados .woocommerce-result-count {
		font-size: 11px;
		letter-spacing: .08em;
	}
}

/* Faixa de resultados e ordenação. */
.neknarf-loja__resultados {
	margin-block-start: var(--wp--preset--spacing--40);
	padding: 14px var(--wp--preset--spacing--30);
	gap: var(--wp--preset--spacing--10) var(--wp--preset--spacing--30);
	background: var(--nk-faixa);
}

.neknarf-loja__resultados .woocommerce-result-count {
	margin: 0;
	font-family: var(--wp--preset--font-family--jost);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 300;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--subtle);
}

.neknarf-loja__resultados .woocommerce-ordering {
	margin: 0;
}

.neknarf-loja__resultados .orderby {
	padding: 8px 32px 8px 12px;
	border: 1px solid var(--nk-line);
	border-radius: 0;
	background-color: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--manrope);
	font-size: var(--wp--preset--font-size--small);
}

/* Grelha: 4 colunas no computador, 2 no telemóvel. */
.neknarf-loja__grelha {
	margin-block-start: var(--wp--preset--spacing--40);
}

.neknarf-loja__grelha .wc-block-product-template {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: var(--wp--preset--spacing--20) !important;
}

@media (min-width: 782px) {
	.neknarf-loja__grelha .wc-block-product-template {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30) !important;
	}
}

.neknarf-loja__grelha .wc-block-product-template > li {
	width: auto !important;
	margin: 0 !important;
	background: var(--wp--preset--color--surface);
}

/* Cartão: imagem alta 4:5, cantos retos, zoom ligeiro no hover. */
.neknarf-loja__grelha .wc-block-components-product-image {
	position: relative;
	margin: 0 !important;
	overflow: hidden;
	background-color: var(--wp--preset--color--ivory);
}

.neknarf-loja__grelha .wc-block-components-product-image img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: 0;
	transition: transform .6s ease;
}

.neknarf-loja__grelha li:hover .wc-block-components-product-image img {
	transform: scale(1.04);
}

.neknarf-cartao__info {
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
}

.neknarf-cartao__info > * {
	margin-block: 0 !important;
}

.neknarf-cartao__categoria {
	font-family: var(--wp--preset--font-family--jost);
	font-size: 11px;
	font-weight: 300;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--subtle);
}

.neknarf-cartao__categoria a {
	color: inherit;
}

.neknarf-loja__grelha .neknarf-cartao__nome {
	margin-block: 6px 4px !important;
	font-family: var(--wp--preset--font-family--manrope);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.4;
}

.neknarf-cartao__nome a {
	color: var(--wp--preset--color--ink);
}

/* Botão do cartão: contorno dourado, discreto (mais pequeno que o botão global). */
.neknarf-cartao__botao {
	margin-block-start: var(--wp--preset--spacing--20) !important;
}

/* O CSS do WooCommerce tira o contorno ao botão: repor com especificidade suficiente. */
.wp-block-woocommerce-product-button.neknarf-cartao__botao .wc-block-components-product-button__button {
	width: 100%;
	min-height: 0;
	margin: 0;
	padding: 10px 12px;
	border: 1px solid var(--wp--preset--color--accent);
	border-radius: 0;
	background: transparent;
	color: var(--wp--preset--color--ink);
	font-size: 12px;
	letter-spacing: .04em;
	line-height: 1.3;
	white-space: nowrap;
}

.wp-block-woocommerce-product-button.neknarf-cartao__botao .wc-block-components-product-button__button:hover,
.wp-block-woocommerce-product-button.neknarf-cartao__botao .wc-block-components-product-button__button:focus-visible {
	background: var(--wp--preset--color--accent);
	color: var(--nk-sobre-dourado);
}

@media (max-width: 599px) {
	.wp-block-woocommerce-product-button.neknarf-cartao__botao .wc-block-components-product-button__button {
		padding-inline: 6px;
		font-size: 11px;
		letter-spacing: 0;
	}
}

/* Etiqueta de promoção: círculo preto com texto dourado, canto superior esquerdo. */
.neknarf-loja__grelha .wc-block-components-product-sale-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	right: auto;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--accent);
	font-family: var(--wp--preset--font-family--jost);
	font-size: 9px;
	font-weight: 300;
	letter-spacing: .04em;
	line-height: 1.2;
	text-align: center;
	text-transform: uppercase;
}

/* Carrinho e checkout (blocos do WooCommerce) */
.neknarf-loja-passo .wp-block-post-title {
	margin-block-start: 0;
}

.wc-block-components-title.wc-block-components-title,
.wc-block-components-checkout-step__title {
	font-family: var(--wp--preset--font-family--fraunces);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 600;
	letter-spacing: 0;
	text-transform: none;
}

.wc-block-cart__totals-title.wc-block-cart__totals-title,
.wc-block-cart-items th {
	font-family: var(--wp--preset--font-family--jost);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 300;
	letter-spacing: .35em;
	text-transform: uppercase;
	color: var(--wp--preset--color--subtle);
}

.wc-block-cart-items,
.wc-block-cart-items td,
.wc-block-cart-items th,
.wc-block-components-totals-wrapper,
.wc-block-components-checkout-step {
	border-color: var(--nk-line) !important;
}

.wc-block-cart-item__image img,
.wc-block-components-order-summary-item__image img {
	background-color: var(--wp--preset--color--ivory);
}

.wc-block-components-product-name {
	font-weight: 500;
	color: var(--wp--preset--color--ink);
}

.wc-block-cart-item__remove-link.wc-block-cart-item__remove-link,
.wc-block-components-product-metadata {
	color: var(--wp--preset--color--subtle);
	font-size: var(--wp--preset--font-size--small);
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-family: var(--wp--preset--font-family--fraunces);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 600;
}

/* Resumo da encomenda: caixa marfim. */
.wp-block-woocommerce-cart-totals-block,
.wp-block-woocommerce-checkout-order-summary-block {
	background-color: var(--wp--preset--color--ivory);
	border: 1px solid var(--nk-line) !important;
	border-radius: 0 !important;
	padding: var(--wp--preset--spacing--20);
}

/* Campos de formulário: cantos retos, linha fina, foco dourado. */
.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-blocks-components-select .wc-blocks-components-select__select {
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 25%, transparent) !important;
	border-radius: 0 !important;
	background-color: var(--wp--preset--color--surface) !important;
	color: var(--wp--preset--color--ink) !important;
	font-family: var(--wp--preset--font-family--manrope);
}

.wc-block-components-text-input input:focus,
.wc-block-components-textarea:focus,
.wc-block-components-combobox .wc-block-components-combobox-control input:focus,
.wc-blocks-components-select .wc-blocks-components-select__select:focus {
	border-color: var(--wp--preset--color--accent) !important;
	box-shadow: 0 0 0 1px var(--wp--preset--color--accent) !important;
	outline: 0;
}

.wc-block-components-text-input label,
.wc-blocks-components-select .wc-blocks-components-select__label {
	color: var(--wp--preset--color--subtle) !important;
}

.wc-block-components-radio-control__input,
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
	border-color: color-mix(in srgb, var(--wp--preset--color--ink) 35%, transparent);
}

.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
	border-radius: 0;
}

.wc-block-components-radio-control__input:checked {
	border-color: var(--wp--preset--color--accent);
}

.wc-block-components-radio-control__input:checked::before {
	background: var(--wp--preset--color--accent);
}

.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked {
	background: var(--wp--preset--color--ink);
	border-color: var(--wp--preset--color--ink);
}

.wc-block-components-checkbox .wc-block-components-checkbox__mark {
	fill: var(--wp--preset--color--surface);
}

.wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted,
.wc-block-components-radio-control--highlight-checked label.wc-block-components-radio-control__option--checked-option-highlighted {
	box-shadow: inset 0 0 0 1px var(--wp--preset--color--accent);
}

.wc-block-components-radio-control--highlight-checked,
.wc-block-components-radio-control--highlight-checked::after,
.wc-block-components-radio-control-accordion-option,
.wc-block-components-radio-control__option {
	border-radius: 0 !important;
}

.wc-block-components-quantity-selector,
.wc-block-components-quantity-selector::after {
	border-radius: 0 !important;
	border-color: color-mix(in srgb, var(--wp--preset--color--ink) 25%, transparent) !important;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover {
	color: var(--wp--preset--color--accent);
}

/* Botões principais (finalizar compra, fazer encomenda): largura total. */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	width: 100%;
	min-height: 52px;
	border-radius: 0;
}

.wc-block-components-checkout-return-to-cart-button {
	color: var(--wp--preset--color--ink);
}

.wc-block-components-sale-badge {
	border-radius: 0;
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--ink);
}

.wc-block-components-notice-banner {
	border-radius: 0;
}

.wc-block-components-panel__button:hover,
.wc-block-components-totals-coupon-link:hover {
	color: var(--wp--preset--color--accent);
}

/* Minha conta (shortcode clássico) */
.woocommerce-account .wp-block-post-content > .woocommerce {
	max-width: var(--wp--style--global--wide-size);
}

.woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0 0 var(--wp--preset--spacing--40);
	padding: 0;
	border-top: 1px solid var(--nk-line);
}

.woocommerce-MyAccount-navigation li {
	border-bottom: 1px solid var(--nk-line);
}

.woocommerce-MyAccount-navigation a {
	display: block;
	padding: 12px 0 12px 14px;
	border-left: 1px solid transparent;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	letter-spacing: .08em;
}

.woocommerce-MyAccount-navigation .is-active a {
	border-left-color: var(--wp--preset--color--accent);
}

.woocommerce form .form-row .input-text,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 25%, transparent);
	border-radius: 0;
	padding: 12px 14px;
	background: var(--wp--preset--color--surface);
	font-family: var(--wp--preset--font-family--manrope);
}

.woocommerce form .form-row .input-text:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus {
	border-color: var(--wp--preset--color--accent);
	outline: 1px solid var(--wp--preset--color--accent);
}

.woocommerce form.login,
.woocommerce form.register {
	border: 1px solid var(--nk-line);
	border-radius: 0;
	background: var(--wp--preset--color--ivory);
}

.woocommerce table.shop_table {
	border-color: var(--nk-line);
	border-radius: 0;
}

.woocommerce-account .woocommerce h2 {
	font-size: var(--wp--preset--font-size--x-large);
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-top-color: var(--wp--preset--color--accent);
	background: var(--wp--preset--color--ivory);
}

.woocommerce-message::before,
.woocommerce-info::before {
	color: var(--wp--preset--color--accent);
}

/* Confirmação da encomenda: tudo na largura de leitura. */
.neknarf-confirmacao > .alignwide {
	max-width: var(--wp--style--global--content-size);
}

.wc-block-order-confirmation-status {
	text-align: center;
}

.wc-block-order-confirmation-status h1 {
	font-size: var(--wp--preset--font-size--xx-large);
	margin-block: 0 var(--wp--preset--spacing--20);
}

.wc-block-order-confirmation-summary-list {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: var(--wp--preset--spacing--20);
	margin: var(--wp--preset--spacing--40) 0 0;
	padding: var(--wp--preset--spacing--30) 0;
	border-block: 1px solid var(--nk-line);
	text-align: center;
}

.wc-block-order-confirmation-summary-list-item {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.wc-block-order-confirmation-summary-list-item__key {
	font-family: var(--wp--preset--font-family--jost);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 300;
	letter-spacing: .35em;
	text-transform: uppercase;
	color: var(--wp--preset--color--subtle);
}

.wc-block-order-confirmation-summary-list-item__value {
	font-weight: 500;
}

/* Instruções de pagamento e dados bancários: caixa marfim. */
.wp-block-woocommerce-order-confirmation-additional-information:not(:empty) {
	margin-block-start: var(--wp--preset--spacing--40);
	padding: var(--wp--preset--spacing--30);
	background-color: var(--wp--preset--color--ivory);
	border: 1px solid var(--nk-line);
	border-left: 2px solid var(--wp--preset--color--accent);
}

.wp-block-woocommerce-order-confirmation-additional-information > :first-child {
	margin-block-start: 0;
}

.woocommerce-bacs-bank-details h2,
.woocommerce-bacs-bank-details h3,
.neknarf-confirmacao .wp-block-heading {
	font-size: var(--wp--preset--font-size--large);
}

.wc-bacs-bank-details {
	list-style: none;
	margin: 0;
	padding: 0;
}

.wc-bacs-bank-details li {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--subtle);
}

.wc-bacs-bank-details li strong {
	display: block;
	font-size: var(--wp--preset--font-size--medium);
	color: var(--wp--preset--color--ink);
}

.wc-block-order-confirmation-totals table,
.wc-block-order-confirmation-totals th,
.wc-block-order-confirmation-totals td {
	border-color: var(--nk-line) !important;
}

.wc-block-order-confirmation-address-wrapper address {
	border: 1px solid var(--nk-line) !important;
	border-radius: 0 !important;
	font-style: normal;
}

/* Rodapé: 4 colunas no computador, empilhadas no telemóvel. */
.neknarf-rodape {
	--nk-linha-escura: color-mix(in srgb, var(--wp--preset--color--contrast) 14%, transparent);
}

.neknarf-rodape__colunas {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wp--preset--spacing--50);
	padding-block-end: var(--wp--preset--spacing--60);
}

@media (min-width: 782px) {
	/* Flex e não grelha fixa: as colunas que existem (as páginas por publicar não
	   aparecem) ocupam a largura toda, sem espaço vazio à direita. */
	.neknarf-rodape__colunas {
		display: flex;
		justify-content: space-between;
		gap: var(--wp--preset--spacing--40);
	}

	.neknarf-rodape__colunas > * {
		flex: 1 1 0;
		min-width: 0;
	}

	.neknarf-rodape__colunas > .neknarf-rodape__marca {
		flex-grow: 1.5;
	}
}

.neknarf-rodape__colunas > * {
	margin-block: 0 !important;
}

.neknarf-rodape__marca .wp-block-site-title {
	margin: 0 0 var(--wp--preset--spacing--20);
}

.neknarf-rodape .neknarf-rodape__marca .wp-block-site-title a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.neknarf-rodape .neknarf-rodape__marca .wp-block-site-title a:hover {
	color: var(--wp--preset--color--accent);
}

.neknarf-rodape__marca p {
	max-width: 320px;
	margin-block: 0 var(--wp--preset--spacing--30);
	line-height: 1.7;
}

.neknarf-rodape__redes.wp-block-social-links {
	gap: 10px;
	margin: 0;
}

.neknarf-rodape__redes .wp-social-link {
	color: var(--wp--preset--color--contrast) !important;
	background: transparent !important;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 35%, transparent);
	border-radius: 50%;
	transition: color .3s ease, border-color .3s ease;
}

.neknarf-rodape__redes .wp-social-link a {
	padding: 9px !important;
}

.neknarf-rodape__redes .wp-social-link svg {
	width: 18px;
	height: 18px;
}

.neknarf-rodape__redes .wp-social-link:hover {
	color: var(--wp--preset--color--accent) !important;
	border-color: var(--wp--preset--color--accent);
	transform: none;
}

.neknarf-rodape__coluna .is-style-kicker {
	margin-block: 0 var(--wp--preset--spacing--20);
}

.neknarf-rodape__lista {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: var(--wp--preset--font-size--small);
	line-height: 2.1;
}

.neknarf-rodape__lista a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
	overflow-wrap: anywhere;
}

.neknarf-rodape__lista a:hover {
	color: var(--wp--preset--color--accent);
}

.neknarf-rodape__direitos {
	padding-block-start: var(--wp--preset--spacing--30);
	border-top: 1px solid var(--nk-linha-escura);
	gap: 4px var(--wp--preset--spacing--30);
}

.neknarf-rodape__direitos p {
	margin: 0;
}

/* 404 */
.neknarf-404__search {
	margin-inline: auto;
	max-width: 520px;
}

/* ------------------------------------------------------------------------
 * Página de produto (templates/single-product.html, inc/produto.php, assets/js/produto.js)
 * --------------------------------------------------------------------- */

.neknarf-cartao-branco {
	box-sizing: border-box;
	background: var(--wp--preset--color--surface);
	padding: clamp(18px, 3vw, 32px) !important;
}

/* O WooCommerce limita a galeria a ~512px e a 48% (layout clássico): ocupar a coluna toda. */
.neknarf-produto .wp-block-woocommerce-product-image-gallery {
	width: 100%;
	max-width: none !important;
}

/* O clearfix do WooCommerce (::before/::after) contaria como células da grelha dos botões. */
.neknarf-produto__form form.cart::before,
.neknarf-produto__form form.cart::after,
.neknarf-produto__form .woocommerce-variation-add-to-cart::before,
.neknarf-produto__form .woocommerce-variation-add-to-cart::after {
	display: none !important;
}

.neknarf-produto__colunas {
	gap: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30) !important;
	align-items: flex-start !important;
}

@media (min-width: 782px) {
	/* Coluna da compra fica fixa ao fazer scroll. */
	.neknarf-produto__compra {
		position: sticky;
		top: calc(var(--wp--preset--spacing--30) + var(--nk-cabecalho-fixo, 0px) + var(--nk-topo-admin, 0px));
	}
}

/* Breadcrumb só na página de produto: pequeno e discreto. */
.neknarf-produto__migalhas {
	margin: 0 0 10px !important;
	font-size: var(--wp--preset--font-size--x-small);
	color: var(--wp--preset--color--subtle);
}

.neknarf-produto__migalhas a {
	color: var(--wp--preset--color--subtle);
	text-decoration: none;
}

.neknarf-produto__migalhas a:hover {
	color: var(--wp--preset--color--ink);
}

.neknarf-produto__nome {
	margin: 0;
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.15;
}

/* Metadados: referência, avaliações, stock. */
.neknarf-produto__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px var(--wp--preset--spacing--30);
	margin-block: 10px var(--wp--preset--spacing--30);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--subtle);
}

.neknarf-produto__avaliacoes {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: inherit;
}

.neknarf-produto .star-rating,
.neknarf-produto .star-rating::before,
.neknarf-produto .star-rating span::before {
	color: var(--wp--preset--color--accent);
}

.neknarf-produto__stock {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.neknarf-produto__stock.is-em-stock {
	color: var(--nk-verde);
}

/* Galeria: imagem grande, botão de ampliar no canto, miniaturas em carrossel. */
.neknarf-produto .woocommerce-product-gallery {
	position: relative;
	width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

.neknarf-produto .woocommerce-product-gallery__wrapper,
.neknarf-produto .woocommerce-product-gallery .flex-viewport {
	background: var(--wp--preset--color--ivory);
}

.neknarf-produto .woocommerce-product-gallery__image img {
	width: 100%;
	border-radius: 0;
}

.neknarf-produto .woocommerce-product-gallery__trigger {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 9;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 1px solid var(--nk-line);
	border-radius: 50%;
	background: var(--wp--preset--color--surface);
	color: transparent !important;
	font-size: 0 !important;
	text-indent: -9999px;
	overflow: hidden;
	transition: border-color .3s ease;
}

.neknarf-produto .woocommerce-product-gallery__trigger::before {
	content: "";
	position: absolute;
	inset: 0;
	background: no-repeat center / 18px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230D0D0D' stroke-width='1.6'%3E%3Cpath d='M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5'/%3E%3C/svg%3E");
}

.neknarf-produto .woocommerce-product-gallery__trigger:hover {
	border-color: var(--wp--preset--color--accent);
}

.neknarf-produto .woocommerce-product-gallery__trigger img {
	display: none !important;
}

.neknarf-miniaturas {
	position: relative;
	margin-top: var(--wp--preset--spacing--10);
}

.neknarf-produto .flex-control-thumbs {
	display: flex;
	gap: var(--wp--preset--spacing--10);
	margin: 0 !important;
	padding: 0;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	list-style: none;
}

.neknarf-produto .flex-control-thumbs::-webkit-scrollbar {
	display: none;
}

.neknarf-produto .flex-control-thumbs li {
	flex: 0 0 calc((100% - 3 * var(--wp--preset--spacing--10)) / 4) !important;
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	scroll-snap-align: start;
}

.neknarf-produto .flex-control-thumbs img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border: 1px solid transparent;
	opacity: .55;
	cursor: pointer;
	transition: opacity .3s ease, border-color .3s ease;
}

.neknarf-produto .flex-control-thumbs img.flex-active,
.neknarf-produto .flex-control-thumbs img:hover {
	border-color: var(--wp--preset--color--accent);
	opacity: 1;
}

.neknarf-miniaturas__seta {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: none;
	width: 34px;
	height: 34px;
	margin-top: -17px;
	padding: 0;
	border: 1px solid var(--nk-line);
	border-radius: 50%;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
	font-size: 22px;
	line-height: 30px;
	cursor: pointer;
}

.neknarf-miniaturas.tem-setas .neknarf-miniaturas__seta {
	display: block;
}

.neknarf-miniaturas__seta--anterior {
	left: -10px;
}

.neknarf-miniaturas__seta--seguinte {
	right: -10px;
}

.neknarf-miniaturas__seta:hover {
	border-color: var(--wp--preset--color--accent);
}

/* Coluna da compra. */
.neknarf-produto__compra {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
}

.neknarf-produto__compra > * {
	margin-block: 0 !important;
}

.neknarf-produto__resumo {
	color: var(--wp--preset--color--ink);
}

.neknarf-produto__resumo p {
	margin: 0;
}

.neknarf-produto__preco,
.neknarf-produto__preco .amount {
	font-family: var(--wp--preset--font-family--fraunces);
	font-size: var(--wp--preset--font-size--x-large) !important;
	font-weight: 600;
	line-height: 1.2;
	color: var(--wp--preset--color--ink);
}

.neknarf-produto__preco del,
.neknarf-produto__preco del .amount {
	font-size: var(--wp--preset--font-size--large) !important;
	color: var(--wp--preset--color--subtle);
}

.neknarf-produto__preco ins {
	text-decoration: none;
}

/* Variações. */
.neknarf-produto__form table.variations {
	display: block;
	width: 100%;
	margin: 0 0 var(--wp--preset--spacing--10);
	border: 0;
}

.neknarf-produto__form table.variations tbody,
.neknarf-produto__form table.variations tr,
.neknarf-produto__form table.variations th,
.neknarf-produto__form table.variations td {
	display: block;
	padding: 0 !important;
	border: 0;
	background: none;
	line-height: 1.4;
	text-align: left;
}

.neknarf-produto__form table.variations tr {
	margin-bottom: var(--wp--preset--spacing--20);
}

.neknarf-produto__form table.variations th label {
	display: block;
	margin-bottom: 8px;
	font-family: var(--wp--preset--font-family--jost);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 300;
	letter-spacing: .25em;
	text-transform: uppercase;
	color: var(--wp--preset--color--subtle);
}

.neknarf-produto__form table.variations select {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 25%, transparent);
	border-radius: 0;
	background: var(--wp--preset--color--surface);
	font-family: var(--wp--preset--font-family--manrope);
}

/* A lista fica só para o WooCommerce; o cliente usa os botões. */
.neknarf-produto__form select[data-neknarf-opcoes] {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	overflow: hidden;
	clip: rect(0 0 0 0);
	border: 0 !important;
	white-space: nowrap;
}

.neknarf-opcoes {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.neknarf-opcao {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 25%, transparent);
	border-radius: 0;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--manrope);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	cursor: pointer;
	transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}

.neknarf-opcao--texto {
	min-width: 46px;
	height: 46px;
	padding: 0 12px;
}

.neknarf-opcao--cor {
	width: 38px;
	height: 38px;
	padding: 3px;
	border-radius: 50%;
}

.neknarf-opcao__cor {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--wp--preset--color--ink) 15%, transparent);
}

.neknarf-opcao:hover {
	border-color: var(--wp--preset--color--accent);
}

.neknarf-opcao--texto[aria-pressed="true"] {
	border-color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--surface);
}

.neknarf-opcao--cor[aria-pressed="true"] {
	border-color: var(--wp--preset--color--ink);
	box-shadow: 0 0 0 1px var(--wp--preset--color--ink);
}

.neknarf-opcao.is-indisponivel {
	opacity: .35;
	text-decoration: line-through;
}

.neknarf-produto__form .reset_variations {
	display: inline-block;
	margin-top: 6px;
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--subtle);
	text-decoration: underline;
}

/* O preço da variação já aparece em destaque em cima. */
.neknarf-produto__form .woocommerce-variation-price {
	display: none;
}

.neknarf-produto__form .woocommerce-variation-availability p {
	margin: 0 0 var(--wp--preset--spacing--10);
	font-size: var(--wp--preset--font-size--small);
}

/* Quantidade e botões. */
.neknarf-produto__form form.cart:not(.variations_form),
.neknarf-produto__form .woocommerce-variation-add-to-cart {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
}

/* Posições explícitas: o CSS do WooCommerce empurra os botões para a 2.ª coluna. */
.neknarf-produto__form form.cart .single_add_to_cart_button:not(.neknarf-comprar-agora) {
	grid-column: 1 !important;
	grid-row: 2 !important;
}

.neknarf-produto__form form.cart .neknarf-comprar-agora {
	grid-column: 2 !important;
	grid-row: 2 !important;
}

.neknarf-produto__form form.cart .quantity {
	grid-row: 1;
	grid-column: 1 / -1;
	display: inline-flex;
	align-items: stretch;
	justify-self: start;
	margin: 0 !important;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 25%, transparent);
	background: var(--wp--preset--color--surface);
}

.neknarf-produto__form form.cart .quantity .qty {
	width: 56px;
	height: 46px;
	padding: 0;
	border: 0;
	background: transparent;
	text-align: center;
	font-family: var(--wp--preset--font-family--manrope);
	font-size: var(--wp--preset--font-size--medium);
	-moz-appearance: textfield;
}

.neknarf-produto__form form.cart .quantity .qty::-webkit-inner-spin-button,
.neknarf-produto__form form.cart .quantity .qty::-webkit-outer-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.neknarf-qtd {
	width: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--ink);
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
}

.neknarf-qtd:hover {
	color: var(--wp--preset--color--accent);
}

.neknarf-produto__form .single_add_to_cart_button {
	width: 100%;
	min-height: 50px;
	margin: 0 !important;
	padding: 12px 10px !important;
	border: 1px solid var(--wp--preset--color--ink) !important;
	border-radius: 0 !important;
	background: var(--wp--preset--color--ink) !important;
	color: var(--wp--preset--color--surface) !important;
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: .06em;
	line-height: 1.3;
}

.neknarf-produto__form .single_add_to_cart_button:hover {
	border-color: var(--wp--preset--color--accent) !important;
	background: var(--wp--preset--color--accent) !important;
	color: var(--nk-sobre-dourado) !important;
}

.neknarf-produto__form .single_add_to_cart_button.neknarf-comprar-agora {
	border-color: var(--wp--preset--color--accent) !important;
	background: transparent !important;
	color: var(--wp--preset--color--ink) !important;
}

.neknarf-produto__form .single_add_to_cart_button.neknarf-comprar-agora:hover {
	background: var(--wp--preset--color--accent) !important;
	color: var(--nk-sobre-dourado) !important;
}

.neknarf-produto__form .single_add_to_cart_button.disabled {
	opacity: .45;
	cursor: not-allowed;
}

.neknarf-produto__form.neknarf-destaque {
	outline: 1px solid var(--wp--preset--color--accent);
	outline-offset: 8px;
	transition: outline-color .3s ease;
}

/* Categorias e etiquetas. */
.neknarf-produto__termos {
	padding-top: var(--wp--preset--spacing--20);
	border-top: 1px solid var(--nk-line);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--subtle);
}

.neknarf-produto__termos > * {
	margin: 0 0 4px !important;
}

.neknarf-produto__termos a {
	color: var(--wp--preset--color--ink);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Telemóvel: nome → galeria → preço → opções → quantidade → botões; descrição curta depois. */
@media (max-width: 781px) {
	.neknarf-produto__resumo {
		order: 4;
	}

	.neknarf-produto__termos {
		order: 5;
	}
}

/* Separadores: Descrição, Informação adicional, Avaliações. */
.neknarf-produto__separadores .wc-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0 var(--wp--preset--spacing--40);
	margin: 0 0 var(--wp--preset--spacing--40) !important;
	padding: 0 !important;
	border-bottom: 1px solid var(--nk-line);
	list-style: none;
}

@media (max-width: 781px) {
	/* Telemóvel: separadores numa linha com scroll lateral. */
	.neknarf-produto__separadores .wc-tabs {
		flex-wrap: nowrap;
		overflow-x: auto;
		scrollbar-width: none;
		gap: 0 var(--wp--preset--spacing--30);
	}

	.neknarf-produto__separadores .wc-tabs li {
		flex: 0 0 auto;
	}

	.neknarf-produto__separadores .wc-tabs li a {
		letter-spacing: .15em;
		white-space: nowrap;
	}
}

.neknarf-produto__separadores .wc-tabs::before,
.neknarf-produto__separadores .wc-tabs li::before,
.neknarf-produto__separadores .wc-tabs li::after {
	display: none !important;
}

.neknarf-produto__separadores .wc-tabs li {
	margin: 0 0 -1px !important;
	padding: 0 !important;
	border: 0 !important;
	border-bottom: 2px solid transparent !important;
	border-radius: 0 !important;
	background: none !important;
}

.neknarf-produto__separadores .wc-tabs li a {
	display: block;
	padding: 12px 0 !important;
	font-family: var(--wp--preset--font-family--jost);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 300 !important;
	letter-spacing: .25em;
	text-transform: uppercase;
	color: var(--wp--preset--color--subtle) !important;
}

.neknarf-produto__separadores .wc-tabs li.active {
	border-bottom-color: var(--wp--preset--color--ink) !important;
}

.neknarf-produto__separadores .wc-tabs li.active a {
	color: var(--wp--preset--color--ink) !important;
	font-weight: 500 !important;
}

.neknarf-produto__separadores .woocommerce-Tabs-panel > h2:first-child {
	display: none;
}

.neknarf-produto__separadores table.shop_attributes {
	width: 100%;
	border: 0;
	border-collapse: collapse;
}

.neknarf-produto__separadores table.shop_attributes th,
.neknarf-produto__separadores table.shop_attributes td {
	padding: 10px 0;
	border: 0;
	border-bottom: 1px solid var(--nk-line);
	background: none;
	font-style: normal;
	text-align: left;
}

.neknarf-produto__separadores table.shop_attributes th {
	width: 30%;
	font-weight: 500;
}

.neknarf-produto__separadores table.shop_attributes p {
	margin: 0;
}

/* Produtos relacionados e vistos recentemente. */
.neknarf-produto__secao-titulo {
	margin-block: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40) !important;
	font-size: var(--wp--preset--font-size--x-large);
}

.neknarf-vistos[hidden] {
	display: none;
}

.neknarf-vistos__lista {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Barra fixa no telemóvel (criada por assets/js/produto.js). */
.neknarf-barra {
	display: none;
}

@media (max-width: 781px) {
	.neknarf-barra {
		position: fixed;
		inset: auto 0 0;
		z-index: 90;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: var(--wp--preset--spacing--20);
		padding: 10px clamp(16px, 5vw, 24px) calc(10px + env(safe-area-inset-bottom));
		border-top: 1px solid var(--nk-line);
		background: var(--wp--preset--color--surface);
		box-shadow: 0 -6px 18px rgba(13, 13, 13, .06);
		transform: translateY(110%);
		transition: transform .3s ease;
	}

	.neknarf-barra.is-visivel {
		transform: translateY(0);
	}

	.neknarf-barra__preco,
	.neknarf-barra__preco .amount {
		font-family: var(--wp--preset--font-family--fraunces);
		font-size: var(--wp--preset--font-size--large);
		font-weight: 600;
		color: var(--wp--preset--color--ink);
	}

	.neknarf-barra__preco del {
		display: none;
	}

	.neknarf-barra__preco ins {
		text-decoration: none;
	}

	.neknarf-barra__botao {
		flex: 0 0 auto;
		padding: 13px 18px !important;
		border: 1px solid var(--wp--preset--color--ink) !important;
		background: var(--wp--preset--color--ink) !important;
		color: var(--wp--preset--color--surface) !important;
		font-size: var(--wp--preset--font-size--small);
	}
}

/* ------------------------------------------------------------------------
 * Grelhas de produtos centradas (Novidades, Destaques, Relacionados, Vistos):
 * com menos produtos do que colunas, os cartões ficam ao centro.
 * Fica no fim do ficheiro para ganhar à grelha da loja (.neknarf-loja__grelha).
 * --------------------------------------------------------------------- */
.neknarf-grelha-centrada .wc-block-product-template {
	--nk-colunas: 2;
	--nk-espaco: var(--wp--preset--spacing--20);
	display: flex !important;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--nk-espaco) !important;
	margin-inline: 0;
	padding: 0;
}

@media (min-width: 782px) {
	.neknarf-grelha-centrada .wc-block-product-template {
		--nk-colunas: 4;
		--nk-espaco: var(--wp--preset--spacing--30);
	}
}

.neknarf-grelha-centrada .wc-block-product-template > li {
	flex: 0 0 calc((100% - (var(--nk-colunas) - 1) * var(--nk-espaco)) / var(--nk-colunas)) !important;
	max-width: calc((100% - (var(--nk-colunas) - 1) * var(--nk-espaco)) / var(--nk-colunas)) !important;
	width: auto !important;
	margin: 0 !important;
}

/* Garantias: 4 colunas no computador, 2 no tablet, 1 no telemóvel, sempre centradas
   (a grelha automática do WordPress criava colunas vazias à direita). */
.neknarf-garantias {
	grid-template-columns: minmax(0, 1fr) !important;
}

@media (min-width: 600px) {
	.neknarf-garantias {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (min-width: 1024px) {
	.neknarf-garantias {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

/* ------------------------------------------------------------------------
 * WhatsApp (inc/whatsapp.php)
 * --------------------------------------------------------------------- */

/* Botão flutuante: círculo preto, ícone e contorno dourados. */
.neknarf-whatsapp {
	position: fixed;
	right: clamp(16px, 2.5vw, 28px);
	bottom: clamp(16px, 2.5vw, 28px);
	z-index: 95;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border: 1px solid var(--wp--preset--color--accent);
	border-radius: 50%;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--accent);
	box-shadow: 0 6px 18px rgba(13, 13, 13, .18);
	transition: transform .3s ease, background-color .3s ease, color .3s ease, bottom .3s ease;
}

.neknarf-whatsapp:hover,
.neknarf-whatsapp:focus-visible {
	background: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--base);
	transform: translateY(-2px);
}

@media (max-width: 781px) {
	.neknarf-whatsapp {
		width: 52px;
		height: 52px;
	}

	/* Na página de produto, sobe acima da barra fixa de "Adicionar ao carrinho". */
	body.neknarf-barra-visivel .neknarf-whatsapp {
		bottom: calc(104px + env(safe-area-inset-bottom));
	}
}

/* Página de produto: "Perguntar por WhatsApp", discreto. */
.neknarf-whatsapp-produto {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: var(--wp--preset--spacing--20);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--ink);
}

.neknarf-whatsapp-produto svg {
	color: var(--wp--preset--color--accent);
}

.neknarf-whatsapp-produto span {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.neknarf-whatsapp-produto:hover span {
	color: var(--wp--preset--color--accent);
}

/* Confirmação da encomenda (transferência): botão do comprovativo. */
.neknarf-whatsapp-comprovativo {
	margin: var(--wp--preset--spacing--20) 0 0;
}

.neknarf-whatsapp-comprovativo .wp-element-button {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

/* ------------------------------------------------------------------------
 * Filtros da loja (patterns/filtros-loja.php, inc/filtros.php, assets/js/loja.js)
 * O WooCommerce troca a coluna pelo painel do telemóvel a 782px.
 * --------------------------------------------------------------------- */

.neknarf-loja__colunas {
	margin-block-start: var(--wp--preset--spacing--40) !important;
}

.neknarf-loja__principal > .neknarf-loja__resultados {
	margin-block-start: 0;
}

/* Grelha a 3 colunas ao lado dos filtros (2 em ecrãs médios e no telemóvel). */
@media (min-width: 782px) {
	.neknarf-loja__principal .neknarf-loja__grelha .wc-block-product-template {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (min-width: 1024px) {
	.neknarf-loja__principal .neknarf-loja__grelha .wc-block-product-template {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

/* Coluna dos filtros. */
.neknarf-filtros {
	--wc-product-filter-block-spacing: var(--wp--preset--spacing--40);
	gap: var(--wp--preset--spacing--40);
	font-size: var(--wp--preset--font-size--small);
}

.neknarf-filtros .wc-block-product-filters__open-overlay {
	display: none !important; /* aberto pelo botão "Filtrar" da faixa de resultados */
}

.neknarf-filtros__titulo,
.neknarf-filtros h3.wp-block-heading {
	margin: 0 0 12px !important;
	font-family: var(--wp--preset--font-family--jost);
	font-size: var(--wp--preset--font-size--x-small) !important;
	font-weight: 300;
	letter-spacing: .3em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink);
}

.neknarf-filtros__titulo {
	padding-bottom: 12px;
	border-bottom: 1px solid var(--nk-line);
	color: var(--wp--preset--color--subtle);
}

/* Listas (categoria, disponibilidade). */
.neknarf-filtros .wc-block-product-filter-checkbox-list__items {
	gap: 8px;
}

.neknarf-filtros .wc-block-product-filter-checkbox-list__label {
	gap: 10px;
	color: var(--wp--preset--color--ink);
}

.neknarf-filtros .wc-block-product-filter-checkbox-list__input-wrapper::before,
.neknarf-filtros .wc-block-product-filter-checkbox-list__input {
	border-radius: 0 !important;
}

.neknarf-filtros .wc-block-product-filter-checkbox-list__input:checked {
	border-color: var(--wp--preset--color--ink);
	background-color: var(--wp--preset--color--ink);
}

/* Chips: base (cor e tamanho). */
.neknarf-filtros .wc-block-product-filter-chips__items {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.neknarf-filtros .wc-block-product-filter-chips__item {
	margin: 0;
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 25%, transparent) !important;
	border-radius: 0 !important;
	background: var(--wp--preset--color--surface) !important;
	color: var(--wp--preset--color--ink) !important;
	font-family: var(--wp--preset--font-family--manrope);
	font-size: var(--wp--preset--font-size--small);
	cursor: pointer;
	transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}

.neknarf-filtros .wc-block-product-filter-chips__item:hover {
	border-color: var(--wp--preset--color--accent) !important;
}

/* Tamanho: quadrados. */
.neknarf-filtro-tamanho .wc-block-product-filter-chips__item {
	min-width: 42px;
	height: 42px;
	padding: 0 10px !important;
}

.neknarf-filtro-tamanho .wc-block-product-filter-chips__item[aria-checked="true"] {
	border-color: var(--wp--preset--color--ink) !important;
	background: var(--wp--preset--color--ink) !important;
	color: var(--wp--preset--color--surface) !important;
}

/* Cor: círculos com a cor real (inc/filtros.php gera a cor de cada opção). */
.neknarf-filtro-cor .wc-block-product-filter-chips__item {
	position: relative;
	width: 34px;
	height: 34px;
	padding: 0 !important;
	border-radius: 50% !important;
}

.neknarf-filtro-cor .wc-block-product-filter-chips__item::before {
	content: "";
	position: absolute;
	inset: 3px;
	border-radius: 50%;
	background: var(--wp--preset--color--ivory);
	box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--wp--preset--color--ink) 15%, transparent);
}

.neknarf-filtro-cor .wc-block-product-filter-chips__label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.neknarf-filtro-cor .wc-block-product-filter-chips__item[aria-checked="true"] {
	border-color: var(--wp--preset--color--ink) !important;
	box-shadow: 0 0 0 1px var(--wp--preset--color--ink);
}

/* Filtros ativos (chips removíveis). */
.neknarf-filtros .wc-block-product-filter-removable-chips__item {
	border-radius: 0 !important;
	border-color: var(--wp--preset--color--accent) !important;
	background: var(--wp--preset--color--surface) !important;
	font-size: var(--wp--preset--font-size--x-small);
}

/* Preço. */
.neknarf-filtros .wc-block-product-filter-price-slider {
	accent-color: var(--wp--preset--color--ink);
}

.neknarf-filtros .wc-block-product-filter-price-slider input[type="text"] {
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--ink) 25%, transparent);
	border-radius: 0;
	background: var(--wp--preset--color--surface);
	font-family: var(--wp--preset--font-family--manrope);
	font-size: var(--wp--preset--font-size--small);
}

/* Botão "Filtrar" (só no telemóvel, quando os filtros estão num painel). */
.neknarf-filtrar {
	display: none;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border: 1px solid var(--wp--preset--color--ink);
	border-radius: 0;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--manrope);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	cursor: pointer;
}

.neknarf-filtrar::before {
	content: "";
	width: 14px;
	height: 12px;
	background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 12'%3E%3Cpath d='M0 1h14M3 6h8M5.5 11h3' stroke='%230D0D0D' stroke-width='1.4'/%3E%3C/svg%3E");
}

@media (max-width: 782px) {
	.neknarf-filtrar {
		display: inline-flex;
	}

	/* No telemóvel a coluna dos filtros fica vazia (o painel é sobreposto). */
	.neknarf-loja__lateral {
		margin: 0 !important;
	}

	/* Painel lateral: título, cantos retos, botão "Aplicar" no estilo da loja. */
	.neknarf-filtros .wc-block-product-filters__overlay-dialog {
		background: var(--wp--preset--color--surface);
	}

	.neknarf-filtros .wc-block-product-filters__overlay-content {
		padding: var(--wp--preset--spacing--30);
	}
}

/* ------------------------------------------------------------------------
 * Guia de tamanhos (inc/guia-tamanhos.php)
 * --------------------------------------------------------------------- */

.neknarf-guia-abrir {
	margin: 10px 0 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--manrope);
	font-size: var(--wp--preset--font-size--small);
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.neknarf-guia-abrir:hover {
	color: var(--wp--preset--color--accent);
}

.neknarf-guia {
	width: min(560px, calc(100vw - 32px));
	max-height: calc(100vh - 48px);
	padding: 0;
	border: 1px solid var(--nk-line);
	border-radius: 0;
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--ink);
}

.neknarf-guia::backdrop {
	background: rgba(13, 13, 13, .45);
}

.neknarf-guia__cabecalho {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
	border-bottom: 1px solid var(--nk-line);
}

.neknarf-guia__titulo {
	margin: 0;
	font-size: var(--wp--preset--font-size--large);
}

.neknarf-guia__fechar {
	padding: 0 4px;
	border: 0;
	background: none;
	color: var(--wp--preset--color--ink);
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
}

/* Seletor "Mulher | Homem". */
.neknarf-guia__seletor {
	display: flex;
	gap: var(--wp--preset--spacing--30);
	padding: 0 var(--wp--preset--spacing--30);
	border-bottom: 1px solid var(--nk-line);
}

.neknarf-guia__seletor [role="tab"] {
	margin-bottom: -1px;
	padding: 12px 0;
	border: 0;
	border-bottom: 2px solid transparent;
	background: none;
	color: var(--wp--preset--color--subtle);
	font-family: var(--wp--preset--font-family--jost);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 300;
	letter-spacing: .25em;
	text-transform: uppercase;
	cursor: pointer;
}

.neknarf-guia__seletor [role="tab"][aria-selected="true"] {
	border-bottom-color: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--ink);
	font-weight: 500;
}

.neknarf-guia__conteudo[hidden] {
	display: none;
}

.neknarf-guia__conteudo {
	padding: var(--wp--preset--spacing--30);
	font-size: var(--wp--preset--font-size--small);
}

.neknarf-guia__conteudo > :first-child {
	margin-top: 0;
}

.neknarf-guia__tabela table {
	width: 100%;
	border-collapse: collapse;
	border: 0;
}

.neknarf-guia .neknarf-guia__tabela thead,
.neknarf-guia .neknarf-guia__tabela tfoot {
	border: 0 !important;
}

.neknarf-guia .neknarf-guia__tabela th,
.neknarf-guia .neknarf-guia__tabela td {
	padding: 10px 8px;
	border: 0 !important;
	border-bottom: 1px solid var(--nk-line) !important;
	text-align: center;
}

.neknarf-guia .neknarf-guia__tabela thead th {
	font-family: var(--wp--preset--font-family--jost);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 300;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--wp--preset--color--subtle) !important;
	border-bottom: 1px solid var(--wp--preset--color--ink) !important;
}

.neknarf-guia__tabela tbody td:first-child {
	font-weight: 500;
}

.neknarf-guia__tabela figcaption {
	margin-top: 10px;
	color: var(--wp--preset--color--subtle);
	text-align: left;
}

/* ------------------------------------------------------------------------
 * Fase 3 — segunda foto, etiquetas, animações e carrinho vazio
 * (inc/cartoes.php, inc/carrinho-vazio.php, assets/js/animacoes.js)
 * --------------------------------------------------------------------- */

/* Segunda foto: por cima da principal, só aparece ao passar o rato no computador. */
.wc-block-components-product-image {
	position: relative;
}

.wc-block-components-product-image img.neknarf-cartao__img2 {
	display: none !important; /* a grelha da loja põe as imagens a display: block */
}

@media (hover: hover) and (min-width: 782px) {
	.wc-block-components-product-image img.neknarf-cartao__img2 {
		display: block !important;
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		opacity: 0;
		transition: opacity .45s ease, transform .6s ease;
	}

	.wc-block-product:hover .neknarf-cartao__img2 {
		opacity: 1;
	}
}

/* Etiqueta automática: círculo preto com texto dourado (como "Promoção!"). */
.neknarf-etiqueta {
	position: absolute;
	box-sizing: border-box;
	top: 12px;
	left: 12px;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	padding: 6px;
	border-radius: 50%;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--accent);
	font-family: var(--wp--preset--font-family--jost);
	font-size: 9px;
	font-weight: 300;
	letter-spacing: .04em;
	line-height: 1.25;
	text-align: center;
	text-transform: uppercase;
	pointer-events: none;
}

@media (max-width: 599px) {
	.neknarf-etiqueta {
		top: 8px;
		left: 8px;
		width: 58px;
		height: 58px;
		font-size: 8px;
	}
}

/* Esgotado: imagem ligeiramente esbatida. */
.wc-block-product:has(.neknarf-etiqueta--esgotado) .wc-block-components-product-image img,
.wp-block-woocommerce-product-image-gallery:has(.neknarf-etiqueta--esgotado) .woocommerce-product-gallery__image img {
	opacity: .55;
	filter: grayscale(.3);
}

/* Galeria da página de produto: etiqueta no canto da imagem grande. */
.neknarf-produto .wp-block-woocommerce-product-image-gallery {
	position: relative;
}

/* Animações ao scroll (só com JavaScript e sem "reduzir movimento"). */
.nk-revelar {
	opacity: 0;
	transform: translateY(12px);
	transition: opacity .5s ease, transform .5s ease;
}

.nk-revelar.nk-visivel {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.nk-revelar {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* Carrinho vazio. */
.neknarf-carrinho-vazio {
	padding-block: var(--wp--preset--spacing--40) 0;
}

.neknarf-carrinho-vazio .wp-block-heading {
	margin-block: 0 var(--wp--preset--spacing--30);
}

.neknarf-carrinho-vazio__destaques {
	margin-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40) !important;
	font-size: var(--wp--preset--font-size--x-large);
}

/* "Só Cabo Verde" (inc/so-cabo-verde.php): nota discreta na página do produto. */
.neknarf-so-cv {
	margin: var(--wp--preset--spacing--20) 0 0;
	font-size: 13px;
	color: var(--wp--preset--color--subtle);
}

/* Seletor "CVE | €" (inc/moeda.php, assets/js/moeda.js) --------------------- */
.neknarf-moeda {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-right: var(--wp--preset--spacing--10);
	font-family: var(--wp--preset--font-family--jost, inherit);
	font-size: 12px;
	letter-spacing: .12em;
	color: var(--wp--preset--color--subtle);
	white-space: nowrap;
}
.neknarf-moeda button {
	padding: 4px 2px;
	border: 0;
	border-bottom: 1px solid transparent;
	background: none;
	color: inherit;
	font: inherit;
	letter-spacing: inherit;
	cursor: pointer;
}
.neknarf-moeda button[aria-pressed="true"] {
	color: var(--wp--preset--color--ink);
	border-bottom-color: var(--wp--preset--color--accent);
}
.neknarf-moeda button:focus-visible {
	outline: 1px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}
/* Seletor na gaveta do telemóvel (inc/menu.php). */
.neknarf-moeda--menu {
	font-size: 14px;
}

/* Valor em euros por baixo de cada preço (só com € escolhido). */
html[data-nk-moeda="EUR"] [data-nk-eur]::after {
	content: attr(data-nk-eur);
	display: block;
	margin-top: 2px;
	font-family: var(--wp--preset--font-family--manrope, inherit);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: normal;
	line-height: 1.4;
	text-decoration: none;
	color: var(--wp--preset--color--subtle);
}

/* Nota no carrinho e no checkout (templates), só com € escolhido. */
.neknarf-moeda-nota {
	display: none;
	font-size: 13px;
	color: var(--wp--preset--color--subtle);
}
html[data-nk-moeda="EUR"] .neknarf-moeda-nota {
	display: block;
}

/* Botão "Modo escuro" (inc/tema-escuro.php, assets/js/tema.js) ---------------- */
.neknarf-tema {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 36px;
	height: 36px;
	margin-right: var(--wp--preset--spacing--10);
	padding: 0;
	border: 0;
	background: none;
	color: var(--wp--preset--color--ink);
	cursor: pointer;
	transition: color .3s ease;
}
.neknarf-tema:hover,
.neknarf-tema:focus-visible {
	color: var(--wp--preset--color--accent);
}
.neknarf-tema:focus-visible {
	outline: 1px solid var(--wp--preset--color--accent);
	outline-offset: 2px;
}
.neknarf-tema__sol {
	display: none;
}
/* Só o ícone no cabeçalho (o texto fica para os leitores de ecrã). */
.neknarf-header__icons .neknarf-tema__texto {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}
/* Na gaveta: ícone e texto. */
.neknarf-tema--menu {
	width: auto;
	height: auto;
	margin: 0;
	font-size: 14px;
}
.neknarf-tema--menu[aria-pressed="true"] .neknarf-tema__texto {
	border-bottom: 1px solid var(--wp--preset--color--accent);
}
@media (max-width: 781px) {
	.neknarf-header__icons > .neknarf-tema {
		display: none !important;
	}
}
