/* ==========================================================================
   PRO CORRE — Design tokens
   Fonte única de verdade para cores, tipografia, espaçamento e formas.
   ========================================================================== */

@font-face {
	font-family: "Archivo PC";
	font-style: normal;
	font-display: swap;
	font-weight: 100 900;
	font-stretch: 62% 125%;
	src: url("../fonts/archivo-latin-variable.woff2") format("woff2-variations");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Archivo PC";
	font-style: normal;
	font-display: swap;
	font-weight: 100 900;
	font-stretch: 62% 125%;
	src: url("../fonts/archivo-latin-ext-variable.woff2") format("woff2-variations");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Inter PC";
	font-style: normal;
	font-display: swap;
	font-weight: 100 900;
	src: url("../fonts/inter-latin-variable.woff2") format("woff2-variations");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Inter PC";
	font-style: normal;
	font-display: swap;
	font-weight: 100 900;
	src: url("../fonts/inter-latin-ext-variable.woff2") format("woff2-variations");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
	/* Cores da marca */
	--pc-black: #121212;
	--pc-yellow: #FFCC00;
	--pc-white: #FFFFFF;
	--pc-offwhite: #F5F5F2;
	--pc-gray-900: #363636;

	/* Derivadas (neutros e estados) */
	--pc-yellow-600: #E6B800;
	--pc-yellow-100: #FFF5CC;
	--pc-gray-700: #4A4A4A;
	--pc-gray-600: #686866;   /* texto secundário: 5.6:1 sobre branco */
	--pc-gray-400: #A3A39E;
	--pc-gray-300: #D9D9D3;   /* bordas */
	--pc-gray-200: #E8E8E3;
	--pc-success: #1C7A3A;
	--pc-success-bg: #E6F4EA;
	--pc-error: #C0262D;
	--pc-error-bg: #FBE9EA;
	--pc-info: #1F4E8C;
	--pc-info-bg: #E8EFF8;

	/* Papéis semânticos (superfície clara por padrão) */
	--pc-bg: var(--pc-offwhite);
	--pc-surface: var(--pc-white);
	--pc-text: var(--pc-black);
	--pc-text-muted: var(--pc-gray-600);
	--pc-border: var(--pc-gray-300);
	--pc-accent: var(--pc-yellow);
	--pc-on-accent: var(--pc-black);
	--pc-focus: var(--pc-black);

	/* Tipografia */
	--pc-font-display: "Archivo PC", "Arial Black", "Helvetica Neue", Arial, sans-serif;
	--pc-font-body: "Inter PC", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--pc-stretch-display: 118%;

	--pc-text-2xs: 0.6875rem;  /* 11px */
	--pc-text-xs: 0.75rem;     /* 12px */
	--pc-text-sm: 0.875rem;    /* 14px */
	--pc-text-base: 1rem;      /* 16px */
	--pc-text-lg: 1.125rem;    /* 18px */
	--pc-text-xl: 1.25rem;     /* 20px */
	--pc-text-2xl: clamp(1.375rem, 1.2rem + 0.8vw, 1.75rem);
	--pc-text-3xl: clamp(1.75rem, 1.4rem + 1.6vw, 2.375rem);
	--pc-text-4xl: clamp(2.125rem, 1.6rem + 2.4vw, 3.25rem); /* teto intencional: sem títulos gigantes */

	--pc-leading-tight: 1.08;
	--pc-leading-snug: 1.3;
	--pc-leading-normal: 1.55;

	/* Espaçamento (base 4px) */
	--pc-space-1: 0.25rem;
	--pc-space-2: 0.5rem;
	--pc-space-3: 0.75rem;
	--pc-space-4: 1rem;
	--pc-space-5: 1.25rem;
	--pc-space-6: 1.5rem;
	--pc-space-8: 2rem;
	--pc-space-10: 2.5rem;
	--pc-space-12: 3rem;
	--pc-space-16: 4rem;
	--pc-section: clamp(3rem, 2rem + 4vw, 5.5rem);

	/* Layout */
	--pc-container: 1240px;
	--pc-container-narrow: 760px;
	--pc-gutter: clamp(1rem, 0.6rem + 1.6vw, 2rem);
	--pc-header-h: 64px;

	/* Formas */
	--pc-radius-xs: 4px;
	--pc-radius-sm: 6px;
	--pc-radius-md: 10px;
	--pc-radius-lg: 16px;
	--pc-radius-pill: 999px;
	--pc-border-w: 1px;

	/* Elevação (sutil) */
	--pc-shadow-sm: 0 1px 2px rgba(18, 18, 18, 0.06);
	--pc-shadow-md: 0 6px 20px -8px rgba(18, 18, 18, 0.18);
	--pc-shadow-lg: 0 24px 48px -16px rgba(18, 18, 18, 0.28);

	/* Movimento */
	--pc-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
	--pc-duration: 180ms;

	/* Camadas */
	--pc-z-header: 50;
	--pc-z-drawer: 80;
	--pc-z-modal: 90;
}

/* Superfície escura reutilizável (seções pretas) */
.pc-surface-dark {
	--pc-bg: var(--pc-black);
	--pc-surface: #1C1C1C;
	--pc-text: var(--pc-white);
	--pc-text-muted: #B8B8B3;
	--pc-border: #333333;
	--pc-focus: var(--pc-yellow);
	background: var(--pc-bg);
	color: var(--pc-text);
}

.pc-surface-yellow {
	--pc-bg: var(--pc-yellow);
	--pc-text: var(--pc-black);
	--pc-text-muted: #3D3300;
	--pc-border: rgba(18, 18, 18, 0.2);
	background: var(--pc-bg);
	color: var(--pc-text);
}

@media (prefers-reduced-motion: reduce) {
	:root { --pc-duration: 0ms; }
}
