/* =========================================================
   Nosso Céu · Visual do site inteiro (menu, rodapé e páginas de produto)
   Mesmas cores e fontes da home nova. Carregado pelo tema filho (functions.php: nc_site_assets).
   O CSS adicional do personalizador continua valendo; aqui só se sobrepõe o que muda.
   O checkout não é tocado.
   ========================================================= */

:root {
	--ncs-navy: #13244A;
	--ncs-night: #0B1733;
	--ncs-cream: #F6F2EA;
	--ncs-paper: #FBF8F3;
	--ncs-gold: #C9A45C;
	--ncs-ink: #1A1A22;
	--ncs-muted: #4A4E5C;
	--ncs-soft: #C9CEDC;
	--ncs-line: #E7E0D3;
	--ncs-display: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
	--ncs-body: 'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;
}

/* ---------------------------------------------------------
   Menu de cima
   --------------------------------------------------------- */

.site-header {
	/* Sem backdrop-filter: ele prenderia o botão de menu (fixo embaixo, no celular) dentro do cabeçalho */
	background: var(--ncs-paper) !important;
	border-bottom: 1px solid var(--ncs-line);
}

.site-header .site-description {
	font-family: var(--ncs-body);
	font-size: 11px;
	letter-spacing: 0.08em;
	color: var(--ncs-muted);
}

.site-header .main-navigation .menu > li > a,
.site-header .main-navigation .sub-menu a {
	font-family: var(--ncs-body) !important;
	font-weight: 600 !important;
	font-size: 15px !important;
	letter-spacing: 0 !important;
	text-transform: lowercase !important;
	color: var(--ncs-navy) !important;
}

/* Os itens estão escritos em maiúsculas no menu: aqui viram frase normal */
.site-header .main-navigation .menu > li > a::first-letter,
.site-header .main-navigation .sub-menu a::first-letter {
	text-transform: uppercase;
}

.site-header .main-navigation .menu > li > a:hover {
	color: var(--ncs-gold) !important;
}

/* "Criar quadro" vira o botão principal do menu */
.site-header #menu-item-161934 > a {
	padding: 12px 22px !important;
	border-radius: 999px;
	background: var(--ncs-navy);
	color: var(--ncs-cream) !important;
	line-height: 1 !important;
}

.site-header #menu-item-161934 > a:hover {
	background: var(--ncs-night);
	color: var(--ncs-cream) !important;
}

/* Conta e carrinho: sem a caixa cinza (vem de um ::before do tema) */
.site-header .secondary-navigation::before {
	display: none !important;
}

.site-header .secondary-navigation,
.site-header .secondary-navigation .menu-secondary {
	background: transparent !important;
	box-shadow: none !important;
}

.site-header .secondary-navigation a {
	color: var(--ncs-navy) !important;
}

@media (max-width: 1279px) {
	/* Celular e tablet: uma linha só, com logo à esquerda e conta e carrinho à direita */
	.site-header .site-header-section {
		padding-top: 8px !important;
		padding-bottom: 8px !important;
	}
	.site-header .site-header-content {
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 12px;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}
	.site-header .site-branding {
		margin: 0 !important;
		min-width: 0;
	}
	.site-header .custom-logo-link img,
	.site-header .custom-logo {
		width: 40px !important;
		height: 40px !important;
	}
	.site-header .site-description {
		display: none !important;
	}
	.site-header .site-title {
		font-size: 20px !important;
		margin: 0 !important;
	}
	.site-header .secondary-navigation {
		margin: 0 !important;
		padding: 0 !important;
		flex: 0 0 auto;
	}
}

/* ---------------------------------------------------------
   Rodapé
   --------------------------------------------------------- */

.site-footer {
	background: var(--ncs-night) !important;
	color: var(--ncs-soft) !important;
	font-family: var(--ncs-body);
}

.site-footer .footer-widgets-section,
.site-footer .site-info-section {
	background: transparent !important;
}

.site-footer .footer-widgets-section {
	padding: 64px 0 24px !important;
}

.site-footer .footer-widgets {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 32px 48px;
	box-sizing: border-box;
	width: 100% !important;
	max-width: 1100px !important;
	margin: 0 auto !important;
}

.site-footer .footer-widgets > .widget {
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
}

/* A barra de app do celular mora num widget do rodapé: ela não ocupa coluna */
.site-footer #block-6 {
	display: contents;
}

.site-footer #nav_menu-6 { order: 1; }
.site-footer #nav_menu-7 { order: 2; }
.site-footer #nav_menu-8 { order: 3; }

.site-footer #nav_menu-6::before,
.site-footer #nav_menu-7::before,
.site-footer #nav_menu-8::before {
	display: block;
	margin-bottom: 14px;
	font: 600 22px/1.2 var(--ncs-display);
	color: var(--ncs-cream);
}

.site-footer #nav_menu-6::before { content: "Compre com confiança"; }
.site-footer #nav_menu-7::before { content: "Atendimento"; }
.site-footer #nav_menu-8::before { content: "Nosso Céu no mundo"; }

.site-footer .widget_nav_menu ul {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}

.site-footer .widget_nav_menu li {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

/* O tema põe um travessão antes de cada link do rodapé */
.site-footer .widget_nav_menu li::before {
	content: none !important;
	display: none !important;
}

/* Os itens estão escritos em maiúsculas no menu: aqui viram frase normal */
.site-footer #nav_menu-6 a,
.site-footer #nav_menu-7 a {
	display: inline-block;
	text-transform: lowercase;
}

.site-footer #nav_menu-6 a::first-letter,
.site-footer #nav_menu-7 a::first-letter {
	text-transform: uppercase;
}

.site-footer a {
	font-family: var(--ncs-body) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	color: var(--ncs-soft) !important;
	text-decoration: none !important;
}

.site-footer a:hover {
	color: var(--ncs-cream) !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

.site-footer .site-info-section {
	border-top: 1px solid rgba(201, 206, 220, 0.18);
	padding: 28px 0 !important;
}

.site-footer .site-info-content {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 16px 28px;
	max-width: 1100px;
	margin: 0 auto;
}

.site-footer .site-branding {
	display: flex !important;
	align-items: center;
	gap: 10px;
	margin: 0 !important;
}

.site-footer .site-branding .custom-logo {
	width: 34px !important;
	height: 34px !important;
}

.site-footer .site-title,
.site-footer .site-title a {
	margin: 0 !important;
	font: 600 20px/1 var(--ncs-display) !important;
	color: var(--ncs-cream) !important;
	text-transform: none !important;
}

.site-footer .social-links svg {
	fill: var(--ncs-cream) !important;
	color: var(--ncs-cream) !important;
}

.site-footer .site-info {
	font-size: 13px;
	color: var(--ncs-soft) !important;
}

/* Razão social e CNPJ (functions.php: nc_footer_legal) */
.site-footer .nc-legal {
	flex: 1 1 100%;
	order: 20;
	font-size: 12px;
	line-height: 1.5;
	color: var(--ncs-soft);
	opacity: 0.85;
}

.site-footer .back-to-top {
	font-size: 13px !important;
	color: var(--ncs-gold) !important;
}

@media (max-width: 768px) {
	.site-footer .footer-widgets-section {
		padding: 48px 0 16px !important;
	}
	.site-footer .footer-widgets {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.site-footer .site-info-section {
		padding: 24px 20px 96px !important;
	}
	.site-footer .site-info-content {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* No celular o botão de menu fica fixo na barra de baixo, à esquerda (CSS adicional).
   Ele usa a posição "estática" dentro do cabeçalho; com o cabeçalho em uma linha, é preciso fixar a esquerda. */
@media (max-width: 768px) {
	.site-header .menu-toggle {
		left: 10px !important;
		right: auto !important;
	}
}

/* Barra de app do celular com as cores da home */
.mobile-app-bar {
	background: var(--ncs-night) !important;
	border-top: 1px solid rgba(201, 164, 92, 0.35) !important;
}

.mobile-app-bar .app-item,
.mobile-app-bar .app-item span {
	color: var(--ncs-cream) !important;
	font-family: var(--ncs-body) !important;
}

.mobile-app-bar .app-item.destaque,
.mobile-app-bar .app-item.destaque span {
	color: var(--ncs-gold) !important;
}

/* ---------------------------------------------------------
   Página de produto
   Título, configurador e produto são irmãos em #main: um grid só põe
   a foto à esquerda (fixa) e tudo que a pessoa escolhe à direita.
   --------------------------------------------------------- */

body.single-product #main {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr);
	column-gap: 56px;
	align-items: start;
	font-family: var(--ncs-body);
	color: var(--ncs-ink);
}

body.single-product #main > .product,
body.single-product #main > .product > .summary-section,
body.single-product #main > .product > .summary-section > .summary-content {
	display: contents !important;
}

body.single-product #main > .nc-product-title { order: 1; }
body.single-product #main .woocommerce-product-gallery { order: 2; }
body.single-product #main > .mspc-wrapper { order: 3; }
body.single-product #main .summary-purchase { order: 4; }
body.single-product #main .woocommerce-tabs { order: 5; }
body.single-product #main .related-container { order: 6; }
body.single-product #main > .woocommerce-notices-wrapper { order: 0; }

body.single-product #main .summary.entry-summary {
	display: none !important;
}

body.single-product .nc-product-title {
	margin: 8px 0 18px !important;
	padding: 0 !important;
	max-width: none !important;
	font-family: var(--ncs-display) !important;
	font-weight: 600 !important;
	font-size: clamp(32px, 4vw, 48px) !important;
	line-height: 1.05 !important;
	letter-spacing: -0.005em;
	text-transform: none !important;
	color: var(--ncs-navy) !important;
	text-align: left !important;
}

body.single-product #main .woocommerce-product-gallery {
	width: 100% !important;
	max-width: none !important;
	float: none !important;
	margin: 0 0 24px !important;
}

body.single-product #main .woocommerce-product-gallery img {
	border-radius: 16px;
}

body.single-product #main .summary-purchase,
body.single-product #main .summary-purchase-content {
	width: 100% !important;
	max-width: none !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	border: 0 !important;
}

body.single-product #main .summary-purchase-content::before {
	display: none !important;
}

body.single-product #main .woocommerce-tabs,
body.single-product #main .related-container {
	margin-top: 56px !important;
}

@media (min-width: 1000px) {
	/* Linhas fixas: a última é flexível, para a altura da foto não empurrar o título para baixo
	   (produtos sem configurador, como o colar, têm poucos itens na coluna da direita) */
	body.single-product #main {
		grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
		grid-template-rows: auto auto auto auto 1fr;
	}
	/* Sem foto fixa: o sticky ficava preso ao #main inteiro e cobria a descrição ao rolar */
	body.single-product #main .woocommerce-product-gallery {
		grid-column: 1;
		grid-row: 1 / span 5;
		margin: 0 !important;
	}
	body.single-product #main > .woocommerce-notices-wrapper { grid-column: 2; grid-row: 1; }
	body.single-product #main > .nc-product-title { grid-column: 2; grid-row: 2; }
	body.single-product #main > .mspc-wrapper { grid-column: 2; grid-row: 3; }
	body.single-product #main .summary-purchase { grid-column: 2; grid-row: 4; }
	body.single-product #main .woocommerce-tabs { grid-column: 1 / -1; grid-row: 6; }
	body.single-product #main .related-container { grid-column: 1 / -1; grid-row: 7; }
}

@media (max-width: 999px) {
	body.single-product .nc-product-title {
		text-align: center !important;
		font-size: clamp(30px, 8vw, 40px) !important;
	}
}

/* Configurador (Multistep Product Configurator): passos numerados e cartões compactos */

body.single-product .mspc-wrapper {
	width: 100% !important;
	max-width: none !important;
	margin: 0 0 8px !important;
}

body.single-product .mspc-accordion {
	gap: 10px !important;
	counter-reset: nc-step;
}

body.single-product .mspc-accordion .mspc-menu-item {
	position: relative;
	padding: 16px 0 16px 46px !important;
	background: transparent !important;
	border-bottom: 1px solid var(--ncs-line) !important;
	font-family: var(--ncs-body) !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	color: var(--ncs-navy) !important;
}

body.single-product .mspc-accordion .mspc-menu-item::before {
	counter-increment: nc-step;
	content: counter(nc-step);
	position: absolute;
	left: 0;
	top: 50%;
	translate: 0 -50%;
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--ncs-navy);
	color: var(--ncs-cream);
	font: 700 14px/1 var(--ncs-body);
}

body.single-product .mspc-accordion .mspc-menu-item.disabled {
	opacity: 0.55;
}

body.single-product .mspc-accordion .mspc-content {
	padding: 6px 0 18px !important;
}

/* Corrige a grade: no CSS adicional estava "minmax(250x, 1fr)" (sem o "p"), e o navegador ignorava a regra */
body.single-product .mspc-accordion .mspc-content .mspc-variations {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(128px, 1fr)) !important;
	gap: 12px !important;
}

body.single-product .mspc-accordion .mspc-variations .mspc-variation {
	padding: 8px 8px 10px !important;
	border: 1px solid var(--ncs-line) !important;
	border-radius: 12px !important;
	background: #FFFFFF !important;
	transform: none !important;
}

body.single-product .mspc-accordion .mspc-variations .mspc-variation:hover {
	border-color: var(--ncs-gold) !important;
	box-shadow: 0 6px 18px rgba(11, 23, 51, 0.1) !important;
}

body.single-product .mspc-accordion .mspc-variations .mspc-variation.mspc-active {
	border: 2px solid var(--ncs-navy) !important;
	box-shadow: 0 0 0 3px rgba(201, 164, 92, 0.45) !important;
	background: #FFFFFF !important;
	transform: none !important;
}

body.single-product .mspc-accordion .mspc-variation .mspc-attribute-image {
	aspect-ratio: 3 / 4 !important;
	margin-bottom: 8px !important;
	border-radius: 6px !important;
}

body.single-product .mspc-accordion .mspc-variation .mspc-text-wrapper,
body.single-product .mspc-accordion .mspc-variation .mspc-text-wrapper > strong {
	font-family: var(--ncs-body) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	color: var(--ncs-ink) !important;
}

/* Opções só de texto (moldura, tipo): botões em duas colunas */
body.single-product .mspc-accordion .mspc-content .mspc-variations:not(:has(.mspc-attribute-image)) {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body.single-product .mspc-accordion .mspc-variations:not(:has(.mspc-attribute-image)) .mspc-variation {
	justify-content: center !important;
	min-height: 56px;
	padding: 10px !important;
}

body.single-product .mspc-clear-selection {
	font-family: var(--ncs-body);
	font-size: 13px;
	color: var(--ncs-muted) !important;
}

@media (max-width: 640px) {
	/* Celular: opções com imagem (artes, tamanhos) em 3 colunas; opções só de texto em 2 */
	body.single-product .mspc-accordion .mspc-content .mspc-variations {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 8px !important;
	}
	body.single-product .mspc-accordion .mspc-content .mspc-variations:has(.mspc-attribute-image) {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
	body.single-product .mspc-accordion .mspc-variations .mspc-variation {
		padding: 6px 6px 8px !important;
	}
	body.single-product .mspc-accordion .mspc-variations:has(.mspc-attribute-image) .mspc-text-wrapper,
	body.single-product .mspc-accordion .mspc-variations:has(.mspc-attribute-image) .mspc-text-wrapper > strong {
		font-size: 11.5px !important;
		line-height: 1.25 !important;
	}
}

/* Variações em lista (produtos sem configurador, como o colar) */
body.single-product table.variations th,
body.single-product table.variations th label,
body.single-product table.variations td.label label {
	font-family: var(--ncs-body) !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--ncs-navy) !important;
}

body.single-product table.variations select {
	min-height: 48px;
	padding: 0 14px !important;
	border: 1px solid #D8D1C2 !important;
	border-radius: 10px !important;
	background-color: #FFFFFF !important;
	font-family: var(--ncs-body) !important;
	font-size: 16px !important;
	color: var(--ncs-ink) !important;
}

body.single-product table.variations select:focus {
	border-color: var(--ncs-navy) !important;
	box-shadow: 0 0 0 3px rgba(201, 164, 92, 0.35) !important;
	outline: none !important;
}

/* Formulário do momento (Custom Product Addons) e compra */

body.single-product .summary-purchase .wcpa_form_outer {
	margin: 4px 0 0 !important;
	padding: 22px !important;
	border: 1px solid var(--ncs-line) !important;
	border-radius: 16px !important;
	background: var(--ncs-paper) !important;
}

body.single-product .summary-purchase .wcpa_field_label,
body.single-product .summary-purchase .wcpa_field_label label {
	font-family: var(--ncs-body) !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	color: var(--ncs-navy) !important;
}

body.single-product .summary-purchase .wcpa_form_outer input[type="text"],
body.single-product .summary-purchase .wcpa_form_outer input[type="date"],
body.single-product .summary-purchase .wcpa_form_outer input[type="time"],
body.single-product .summary-purchase .wcpa_form_outer textarea {
	min-height: 48px;
	border: 1px solid #D8D1C2 !important;
	border-radius: 10px !important;
	background: #FFFFFF !important;
	font-family: var(--ncs-body) !important;
	font-size: 16px !important;
	color: var(--ncs-ink) !important;
}

body.single-product .summary-purchase .wcpa_form_outer input:focus,
body.single-product .summary-purchase .wcpa_form_outer textarea:focus {
	border-color: var(--ncs-navy) !important;
	box-shadow: 0 0 0 3px rgba(201, 164, 92, 0.35) !important;
	outline: none !important;
}

body.single-product .single_variation_wrap .woocommerce-variation-price .price {
	font-family: var(--ncs-body);
	font-size: 26px !important;
	font-weight: 700;
	color: var(--ncs-navy) !important;
}

body.single-product .single_variation_wrap .price del {
	font-size: 16px !important;
	color: var(--ncs-muted) !important;
	opacity: 0.8;
}

/* O botão e a lista de garantias ficam no mesmo container flex: cada um numa linha */
body.single-product .woocommerce-variation-add-to-cart,
body.single-product form.cart:not(.variations_form) {
	flex-wrap: wrap !important;
}

body.single-product .woocommerce-variation-add-to-cart .nc-trust,
body.single-product form.cart .nc-trust {
	flex: 1 1 100%;
}

body.single-product .single_add_to_cart_button {
	flex: 1 1 100% !important;
	width: 100% !important;
	min-height: 56px;
	margin-top: 14px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--ncs-navy) !important;
	color: var(--ncs-cream) !important;
	font: 700 17px/1 var(--ncs-body) !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	box-shadow: 0 12px 26px -14px rgba(11, 23, 51, 0.7);
}

body.single-product .single_add_to_cart_button:hover {
	background: var(--ncs-night) !important;
}

body.single-product .single_add_to_cart_button.disabled {
	opacity: 0.55 !important;
}

/* Garantias logo abaixo do botão (functions.php: nc_product_trust) */
.nc-trust {
	display: grid;
	gap: 8px;
	margin: 16px 0 0 !important;
	padding: 0 !important;
	list-style: none;
	font: 500 14px/1.45 var(--ncs-body);
	color: var(--ncs-muted);
}

.nc-trust li {
	position: relative;
	margin: 0 !important;
	padding-left: 24px !important;
}

.nc-trust li::before {
	content: "✦";
	position: absolute;
	left: 0;
	top: 0;
	color: var(--ncs-gold);
}

.nc-trust strong {
	color: var(--ncs-navy);
}

/* Avaliações e selo de oferta */
body.single-product .summary-purchase .woocommerce-product-rating {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 8px 0 14px !important;
	font-family: var(--ncs-body);
	font-size: 14px;
}

/* As estrelas ficavam por cima do texto "(106 avaliações)": cada um no seu lugar */
body.single-product .summary-purchase .woocommerce-product-rating .star-rating {
	position: relative !important;
	float: none !important;
	flex: 0 0 auto;
	margin: 0 !important;
}

body.single-product .summary-purchase .woocommerce-review-link {
	color: var(--ncs-muted) !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.single-product .summary-purchase .star-rating {
	color: var(--ncs-gold) !important;
}

body.single-product .onsale {
	border-radius: 999px !important;
	background: var(--ncs-gold) !important;
	color: var(--ncs-night) !important;
	font: 700 12px/1 var(--ncs-body) !important;
	letter-spacing: 0.04em;
}

/* Abas de descrição e avaliações (o tema pintava a aba inativa de azul, com texto azul-escuro em cima) */
body.single-product .woocommerce-tabs ul.tabs {
	gap: 8px;
	margin: 0 0 24px !important;
	padding: 0 !important;
	border-bottom: 1px solid var(--ncs-line) !important;
	background: transparent !important;
}

body.single-product .woocommerce-tabs ul.tabs li,
body.single-product .woocommerce-tabs ul.tabs li a {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

body.single-product .woocommerce-tabs ul.tabs li a {
	padding: 14px 18px !important;
	font-family: var(--ncs-body) !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--ncs-muted) !important;
	border-bottom: 3px solid transparent !important;
}

body.single-product .woocommerce-tabs ul.tabs li.active a,
body.single-product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--ncs-navy) !important;
	border-bottom-color: var(--ncs-gold) !important;
}

/* Lupa da galeria: redonda, nas cores da marca */
body.single-product .woocommerce-product-gallery__trigger {
	border-radius: 50% !important;
	background: var(--ncs-paper) !important;
	color: var(--ncs-navy) !important;
	box-shadow: 0 4px 14px rgba(11, 23, 51, 0.18) !important;
}

body.single-product .woocommerce-tabs .panel {
	font-family: var(--ncs-body);
	font-size: 16px;
	line-height: 1.7;
	color: var(--ncs-ink);
}

body.single-product .woocommerce-tabs .panel h2,
body.single-product .woocommerce-tabs .panel h3,
body.single-product .related > h2 {
	font-family: var(--ncs-display) !important;
	font-weight: 600 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	color: var(--ncs-navy) !important;
}

/* Barra fixa do tema no desktop ("Você está vendo"): mesmas cores */
.sticky-add-to-cart {
	background: rgba(251, 248, 243, 0.97) !important;
	border-bottom: 1px solid var(--ncs-line) !important;
	font-family: var(--ncs-body) !important;
}

.sticky-add-to-cart .button,
.sticky-add-to-cart button {
	border-radius: 999px !important;
	background: var(--ncs-navy) !important;
	color: var(--ncs-cream) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-family: var(--ncs-body) !important;
	font-weight: 700 !important;
}

/* Celular: botão fixo "Adicionar ao carrinho" na barra de baixo (nc-site.js) */
.mobile-app-bar .nc-app-buy {
	display: none;
}

@media (max-width: 768px) {
	body.single-product .mobile-app-bar.nc-has-buy .app-item {
		display: none !important;
	}
	body.single-product .mobile-app-bar.nc-has-buy .nc-app-buy {
		display: flex;
		flex: 1 1 auto;
		align-items: center;
		justify-content: center;
		gap: 8px;
		min-height: 48px;
		margin: 0 12px;
		border: 0;
		border-radius: 999px;
		background: var(--ncs-gold);
		color: var(--ncs-night);
		font: 700 16px/1 var(--ncs-body);
		letter-spacing: 0;
		text-transform: none;
		cursor: pointer;
	}
}

/* ---------------------------------------------------------
   Página 404: atalhos para os produtos (functions.php: nc_404_links)
   --------------------------------------------------------- */

.nc-404-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 24px 0 0 !important;
	padding: 0 !important;
	list-style: none;
}

.nc-404-links li {
	margin: 0 !important;
}

.nc-404-links a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 18px;
	border: 1px solid var(--ncs-line);
	border-radius: 999px;
	background: var(--ncs-paper);
	font: 600 15px/1 var(--ncs-body);
	color: var(--ncs-navy) !important;
	text-decoration: none !important;
}

.nc-404-links a:hover {
	border-color: var(--ncs-gold);
}

.error-404 + .nc-404-links,
.error-404 p {
	font-family: var(--ncs-body);
}
