/* ==========================================================================
   Gouveia — base: tokens de design, reset e utilitários.
   Breakpoints (max-width), herdados do layout original:
     1120px (desktop estreito) · 991px (tablet) · 767px (celular deitado) · 479px (celular)
   ========================================================================== */

/* Fontes locais (antes servidas pelo plugin Use Any Font). */
@font-face {
	font-family: "Aestetico Informal";
	src: url("../fonts/aestetico-informal-bold.woff2") format("woff2");
	font-weight: 700;
	font-display: swap;
}

@font-face {
	font-family: "Aestetico Informal";
	src: url("../fonts/aestetico-informal-light.woff2") format("woff2");
	font-weight: 300;
	font-display: swap;
}

@font-face {
	font-family: "Calibri Web";
	src: url("../fonts/calibri-normal.woff2") format("woff2");
	font-weight: 400;
	font-display: swap;
}

@font-face {
	font-family: "Calibri Web";
	src: url("../fonts/calibri-bold.woff2") format("woff2");
	font-weight: 700;
	font-display: swap;
}

/* Fontes do Google hospedadas no tema (subconjunto latino, cobre o português).
   Licenças: SIL OFL 1.1 (Lato, Montserrat, Open Sans, Roboto, Source Sans 3)
   e Ubuntu Font Licence (Ubuntu) — ver assets/fonts/LICENCAS.txt. */
@font-face {
	font-family: Montserrat;
	src: url("../fonts/montserrat-variable.woff2") format("woff2");
	font-weight: 400 800;
	font-display: swap;
}

@font-face {
	font-family: "Open Sans";
	src: url("../fonts/open-sans-variable.woff2") format("woff2");
	font-weight: 400 700;
	font-stretch: 100%;
	font-display: swap;
}

@font-face {
	font-family: Lato;
	src: url("../fonts/lato-400.woff2") format("woff2");
	font-weight: 400;
	font-display: swap;
}

@font-face {
	font-family: Roboto;
	src: url("../fonts/roboto-400.woff2") format("woff2");
	font-weight: 400;
	font-display: swap;
}

@font-face {
	font-family: "Source Sans 3";
	src: url("../fonts/source-sans-3-700.woff2") format("woff2");
	font-weight: 700;
	font-display: swap;
}

@font-face {
	font-family: Ubuntu;
	src: url("../fonts/ubuntu-700.woff2") format("woff2");
	font-weight: 700;
	font-display: swap;
}

:root {
	/* Fontes */
	--gv-font-display: "Aestetico Informal", var(--gv-font-alt);
	--gv-font-benefit: "Calibri Web", Calibri, Arial, sans-serif;
	--gv-font-card-label: Lato, Arial, sans-serif;
	--gv-font-body: "Open Sans", Arial, sans-serif;
	--gv-font-alt: Montserrat, Arial, sans-serif;
	--gv-font-account: Ubuntu, Arial, sans-serif;
	--gv-font-legal: Roboto, Arial, sans-serif;
	--gv-font-field: Arial, sans-serif;

	/* Cores */
	--gv-text: #404040;
	--gv-link: #0074db;
	--gv-white: #fff;
	--gv-black: #000;
	--gv-gray-bar: #707070;       /* barra do menu, faixa da newsletter, contador do carrinho */
	--gv-gray-hover: #848484;     /* item do menu em hover */
	--gv-gray-submenu: #939393;   /* fundo dos submenus */
	--gv-graphite: #2f3132;       /* caixa da newsletter */
	--gv-footer: #4c5255;         /* faixa das categorias */
	--gv-divider: #5e6466;        /* linhas abaixo dos títulos do rodapé */
	--gv-heading-dark: #424242;
	--gv-light: #efefef;          /* faixa de pagamentos */
	--gv-legal-bg: #ddd;
	--gv-legal-text: #6d6d6d;
	--gv-field-border: #e1e5e9;
	--gv-field-text: #333;
	--gv-field-placeholder: #999;
	--gv-field-icon: #666;
	--gv-button-dark: #303030;
	--gv-accent: #ea1919;         /* hover do ícone "início" */

	/* Fundo com anéis concêntricos (cabeçalho e faixa institucional) */
	--gv-rings: radial-gradient(circle, #fafafa, #fff), repeating-radial-gradient(circle, #fafafa, #fafafa, 40px, transparent 80px, transparent 40px);

	/* Larguras */
	--gv-width-wide: 1321px;
	--gv-width-content: 1090px;
	--gv-width-legal: 1120px;

	/* Espaçamento: escala única (4, 8, 12, 16, 24, 32, 48, 64, 96) */
	--gv-space-1: 4px;
	--gv-space-2: 8px;
	--gv-space-3: 12px;
	--gv-space-4: 16px;
	--gv-space-5: 24px;
	--gv-space-6: 32px;
	--gv-space-7: 48px;
	--gv-space-8: 64px;
	--gv-space-9: 96px;

	/* Cantos: selos, controles (botões/campos), blocos (cards/faixas) */
	--gv-radius-sm: 6px;
	--gv-radius: 8px;
	--gv-radius-lg: 12px;

	/* Linhas e superfícies (sem sombras: separação por fundo e borda) */
	--gv-line: #e4e2e2;
	--gv-line-strong: #c9c6c6;
	--gv-surface: #f5f4f4;
	--gv-ink: #2f3132;
	--gv-ink-muted: #6b7075;
	--gv-brand: #d7193d;
	--gv-pix: #16804a;
	--gv-pix-bg: #e9f6ee;
}

/* Reset enxuto ------------------------------------------------------------ */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	font-family: var(--gv-font-body);
	font-size: 16px;
	line-height: 1.6;
	color: var(--gv-text);
	background: var(--gv-white);
	-webkit-font-smoothing: antialiased;
}

img,
svg {
	display: block;
	max-width: 100%;
}

img {
	height: auto;
}

a {
	color: var(--gv-link);
	text-decoration: none;
}

button {
	font: inherit;
	color: inherit;
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
}

input,
select {
	font: inherit;
}

/* Utilitários ------------------------------------------------------------- */

.gv-sprite {
	position: absolute;
	width: 0;
	height: 0;
	overflow: hidden;
}

.gv-icon {
	width: 1em;
	height: 1em;
	fill: currentColor;
	flex-shrink: 0;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.skip-link:focus {
	position: fixed !important;
	top: 8px;
	left: 8px;
	z-index: 100000;
	width: auto;
	height: auto;
	padding: 12px 16px;
	clip: auto;
	color: var(--gv-black);
	background: var(--gv-white);
	border: 1px solid var(--gv-ink);
}

:focus-visible {
	outline: 2px solid var(--gv-link);
	outline-offset: 2px;
}

.container {
	width: 100%;
	max-width: var(--gv-width-legal);
	margin-inline: auto;
	padding-inline: 20px;
}

.content-area {
	padding-block: 40px 90px; /* espaço para a caixa da newsletter, que sobe 50px sobre o conteúdo */
}

.content-area--pending {
	min-height: 320px;
	color: #888;
	text-align: center;
}

/* Trava a rolagem quando um painel (menu/busca) está aberto. */
html.gv-lock {
	overflow: hidden;
}

/* Avisos do WooCommerce (vitrines e produto; nas telas de compra o shop.css
   refina). O CSS padrão do WooCommerce não é carregado pelo tema. */
.woocommerce-notices-wrapper:empty {
	display: none;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	display: flex;
	flex-wrap: wrap;
	gap: var(--gv-space-2) var(--gv-space-4);
	align-items: center;
	justify-content: space-between;
	padding: var(--gv-space-3) var(--gv-space-4);
	margin: 0 0 var(--gv-space-4);
	font-size: 14px;
	line-height: 1.5;
	color: var(--gv-ink);
	list-style: none;
	background: var(--gv-pix-bg);
	border: 1px solid #c6e6d3;
	border-radius: var(--gv-radius);
}

.woocommerce-info {
	background: var(--gv-surface);
	border-color: var(--gv-line);
}

.woocommerce-error {
	flex-direction: column;
	align-items: flex-start;
	background: #fdf0f2;
	border-color: #f3c7cf;
}

.woocommerce-message .button,
.woocommerce-info .button {
	order: 2;
	padding: var(--gv-space-2) var(--gv-space-4);
	font-size: 12px;
	font-weight: 700;
	color: var(--gv-white);
	text-transform: uppercase;
	background: var(--gv-ink);
	border-radius: var(--gv-radius);
}

.woocommerce-message a:not(.button),
.woocommerce-info a:not(.button) {
	font-weight: 700;
	text-decoration: underline;
}
