/* ==========================================================================
   PRO CORRE — Base (reset leve, tipografia, utilitários de layout)
   ========================================================================== */

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

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

body {
	margin: 0;
	background: var(--pc-bg);
	color: var(--pc-text);
	font-family: var(--pc-font-body);
	font-size: var(--pc-text-base);
	line-height: var(--pc-leading-normal);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}

img, svg, video { display: block; max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; color: inherit; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
a:hover { text-decoration-color: var(--pc-yellow-600); }
p { margin: 0 0 var(--pc-space-4); }
ul, ol { margin: 0 0 var(--pc-space-4); padding-left: 1.25rem; }
hr { border: 0; border-top: var(--pc-border-w) solid var(--pc-border); margin: var(--pc-space-8) 0; }

:focus-visible { outline: 3px solid var(--pc-focus); outline-offset: 2px; border-radius: 2px; }

::selection { background: var(--pc-yellow); color: var(--pc-black); }

/* Tipografia */
h1, h2, h3, h4, .pc-h1, .pc-h2, .pc-h3, .pc-h4, .pc-display {
	margin: 0 0 var(--pc-space-4);
	font-family: var(--pc-font-display);
	font-stretch: var(--pc-stretch-display);
	font-weight: 800;
	line-height: var(--pc-leading-tight);
	letter-spacing: -0.01em;
	text-wrap: balance;
}
h1, .pc-h1, .pc-display { font-size: var(--pc-text-4xl); text-transform: uppercase; font-weight: 900; }
h2, .pc-h2 { font-size: var(--pc-text-3xl); }
h3, .pc-h3 { font-size: var(--pc-text-xl); line-height: var(--pc-leading-snug); }
h4, .pc-h4 { font-size: var(--pc-text-lg); line-height: var(--pc-leading-snug); }

.pc-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: var(--pc-space-2);
	margin-bottom: var(--pc-space-3);
	font-family: var(--pc-font-display);
	font-stretch: var(--pc-stretch-display);
	font-size: var(--pc-text-xs);
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.pc-eyebrow::before { content: ""; width: 20px; height: 3px; background: var(--pc-yellow); border-radius: 2px; }

.pc-lead { font-size: var(--pc-text-lg); color: var(--pc-text-muted); max-width: 60ch; }
.pc-small { font-size: var(--pc-text-sm); }
.pc-muted { color: var(--pc-text-muted); }
.pc-highlight { background: linear-gradient(transparent 58%, var(--pc-yellow) 58%, var(--pc-yellow) 92%, transparent 92%); padding: 0 0.1em; }

.screen-reader-text, .pc-sr-only {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.pc-skip-link:focus { position: fixed; top: 8px; left: 8px; z-index: 999; width: auto; height: auto; clip: auto; padding: 0.75rem 1rem; background: var(--pc-yellow); color: var(--pc-black); font-weight: 700; }

/* Layout */
.pc-container { width: 100%; max-width: var(--pc-container); margin-inline: auto; padding-inline: var(--pc-gutter); }
.pc-container--narrow { max-width: var(--pc-container-narrow); }
.pc-section { padding-block: var(--pc-section); }
.pc-section--tight { padding-block: calc(var(--pc-section) * 0.6); }
.pc-section__header { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: var(--pc-space-4); margin-bottom: var(--pc-space-8); }
.pc-section__header > * { margin-bottom: 0; }

.pc-stack > * + * { margin-top: var(--pc-stack-gap, var(--pc-space-4)); }
.pc-cluster { display: flex; flex-wrap: wrap; gap: var(--pc-cluster-gap, var(--pc-space-2)); align-items: center; }

.pc-grid { display: grid; gap: var(--pc-grid-gap, var(--pc-space-5)); grid-template-columns: 1fr; }
/* Produtos: 2 colunas compactas no mobile, 3 no tablet, 4 no desktop */
.pc-grid--products { --pc-grid-gap: var(--pc-space-3); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 600px) {
	.pc-grid--2, .pc-grid--3, .pc-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 768px) {
	.pc-grid--products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 960px) {
	.pc-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.pc-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.pc-grid--products { --pc-grid-gap: var(--pc-space-5); grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.pc-split { display: grid; gap: var(--pc-space-8); }
@media (min-width: 960px) { .pc-split { grid-template-columns: 1fr 1fr; align-items: center; gap: var(--pc-space-12); } }

/* Conteúdo editorial (posts/páginas) */
.pc-prose { max-width: 70ch; }
.pc-prose > * + * { margin-top: var(--pc-space-4); }
.pc-prose img { border-radius: var(--pc-radius-md); }

/* WordPress core */
.alignleft { float: left; margin: 0 var(--pc-space-4) var(--pc-space-4) 0; }
.alignright { float: right; margin: 0 0 var(--pc-space-4) var(--pc-space-4); }
.aligncenter { margin-inline: auto; }
.wp-caption-text, .wp-element-caption { font-size: var(--pc-text-sm); color: var(--pc-text-muted); }

/* Itens de grid nunca estouram a largura (conteúdo com rolagem horizontal, tabelas etc.) */
.pc-grid > *, .pc-split > *, .pc-ds-filters > *, .pc-footer__grid > * { min-width: 0; }
