/*
Theme Name:        Agentech Blog
Theme URI:         https://agentech.app/blog
Author:            Agentech Engineering
Author URI:        https://agentech.app
Description:       Tema clássico, hand-coded e self-contained para o "Portal Agentech" — o blog da Agentech, o SaaS de agendamento online nº 1 do Brasil. Foco absoluto em performance (Core Web Vitals), SEO, GEO/AIO (Google AI Overviews, ChatGPT, Perplexity, Gemini) e leitura long-form. Sem page builder, sem ACF, sem plugins externos. Identidade visual alinhada ao tema de marketing da Agentech (roxo #4439BD + Plus Jakarta Sans/Inter).
Version:           1.0.0
Requires at least: 6.0
Tested up to:      7.0
Requires PHP:      7.4
License:           Proprietária / Commercial
License URI:       https://agentech.app/license
Text Domain:       agentech-blog
Tags:              blog, one-column, right-sidebar, custom-colors, custom-logo, featured-images, translation-ready, rtl-language-support, full-width-template, threaded-comments
*/

/* ============================================================================
 * AGENTECH BLOG — CAMADA DE TOKENS (single source of truth)
 * ----------------------------------------------------------------------------
 * Este arquivo registra o tema no WordPress, declara as fontes self-hosted
 * e expõe TODOS os tokens de design como CSS custom properties.
 *
 * >>> PARA TROCAR A MARCA: edite apenas o bloco :root abaixo. <<<
 * Nenhum componente (assets/css/main.css) usa hex direto — tudo referencia
 * estas variáveis, então o rebrand é uma operação de um único lugar.
 *
 * Cores espelham o Template 3 (assets/css/t3.css), que é a ÚNICA identidade
 * pública do tema de marketing da Agentech: --t3-brand #4439BD,
 * --t3-brand-700 #382FA0, --t3-hero-bg #5650E6, --t3-cyan #21D4FD.
 * Quando aquele arquivo mudar, este bloco :root é o espelho a atualizar.
 * ========================================================================== */

/* --- Fontes self-hosted (woff2, variável, subset latin + latin-ext) -------- */
/* Variable fonts: 1 arquivo cobre toda a faixa de peso → menos requests/CLS. */

@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("assets/fonts/inter-latin.woff2") format("woff2");
	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";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("assets/fonts/inter-latin-ext.woff2") format("woff2");
	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: "Plus Jakarta Sans";
	font-style: normal;
	font-weight: 500 800;
	font-display: swap;
	src: url("assets/fonts/jakarta-latin.woff2") format("woff2");
	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: "Plus Jakarta Sans";
	font-style: normal;
	font-weight: 500 800;
	font-display: swap;
	src: url("assets/fonts/jakarta-latin-ext.woff2") format("woff2");
	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 {

	/* ====================================================================
	 * BRAND — valores REAIS do tema Agentech (Template 3, assets/css/t3.css).
	 * Espelham 1:1 os tokens do site de marketing:
	 *   --t3-brand      #4439BD  → --brand
	 *   --t3-brand-700  #382FA0  → --brand-hover
	 *   --t3-hero-bg    #5650E6  → --brand-lift  (indigo claro dos gradientes)
	 *   --t3-cyan       #21D4FD  → --accent-cyan (acento da marca no logo)
	 * O roxo antigo (#8B5CF6 / purple-500 do Tailwind) foi APOSENTADO em
	 * 16/09/2026: não existia no tema de marketing e desalinhava as duas
	 * propriedades. Troque estes valores e a marca inteira muda.
	 * ==================================================================== */
	--brand:            #4439BD;                 /* roxo Agentech (t3-brand)     */
	--brand-hover:      #382FA0;                 /* t3-brand-700                 */
	--brand-active:     #2C2580;                 /* pressionado / texto forte    */
	--brand-lift:       #5650E6;                 /* t3-hero-bg — topo do grad.   */
	--accent-cyan:      #21D4FD;                 /* t3-cyan — acento do lockup   */
	--brand-soft:       rgba(68, 57, 189, 0.10);
	--brand-soft-h:     rgba(68, 57, 189, 0.16);
	--brand-grad:       linear-gradient(135deg, #382FA0 0%, #4439BD 50%, #5650E6 100%);
	/* Gradiente do LOCKUP (marca → ciano), igual ao .t3-brand__mark do tema.
	   Só para superfícies decorativas: não recebe texto por cima. */
	--brand-grad-mark:  linear-gradient(135deg, #4439BD 0%, #21D4FD 100%);
	--brand-grad-cta:   linear-gradient(135deg, #5650E6 0%, #4439BD 100%);
	--brand-grad-cta-h: linear-gradient(135deg, #6A64EA 0%, #4C41CB 100%);

	/* Raw ramp (referenciado por tokens semânticos; evite usar direto).
	   Mesma matiz do --brand (H≈245°), do tint ao tom médio. */
	--purple-50:  #F2F1FD;
	--purple-100: #E6E4FB;
	--purple-200: #CDC9F6;
	--purple-300: #ABA4EF;
	--indigo-500: #5650E6;
	--cyan-400:   #21D4FD;

	/* ====================================================================
	 * TEXTO / TINTA (light theme, leitura confortável, WCAG 2.2 AA)
	 * ==================================================================== */
	--ink:          #0F172A;   /* títulos / texto forte (alias prompt: --ink)   */
	--ink-soft:     #334155;   /* corpo do artigo                               */
	/* #64748B (slate-500) dava 4,76:1 sobre branco — passava raspando — e
	   4,26:1 sobre --bg-tint, reprovando. Como --bg-tint é o fundo da bio do
	   autor, do rodapé e da barra de categorias, o token falhava em três
	   lugares e eu vinha corrigindo um a um. Este valor está FORA da rampa
	   slate de propósito: slate-600 (#475569) passaria, mas fica colado em
	   --ink-soft e colapsaria dois níveis da hierarquia. Assim: 6,4:1 sobre
	   branco, 5,7:1 sobre o tint, e o degrau visual continua existindo. */
	--muted:        #556070;   /* metadados, legendas                           */
	--subtle:       #94A3B8;   /* placeholders, divisores de texto              */
	--text-link:        #4439BD;   /* 8.2:1 sobre branco — AAA em texto normal */
	--text-link-hover:  #382FA0;

	/* ====================================================================
	 * SUPERFÍCIES / FUNDOS
	 * ==================================================================== */
	--surface:        #FFFFFF;   /* cards, corpo do artigo                      */
	--bg:             #F8FAFC;   /* fundo da página                             */
	--bg-tint:        #F2F1FD;   /* tint roxo p/ blocos GEO (TL;DR, takeaways)  */
	--bg-tint-cool:   #F1F5F9;   /* tint neutro alternativo                     */

	/* ====================================================================
	 * LINHAS / BORDAS
	 * ==================================================================== */
	--line:         rgba(15, 23, 42, 0.10);
	--line-soft:    rgba(15, 23, 42, 0.06);
	--line-strong:  rgba(15, 23, 42, 0.16);
	--ring-focus:   0 0 0 3px rgba(68, 57, 189, 0.32);

	/* ====================================================================
	 * STATUS
	 * ==================================================================== */
	--success:      #059669;
	--success-soft: rgba(16, 185, 129, 0.12);
	--warning:      #B45309;
	--danger:       #B91C1C;

	/* ====================================================================
	 * TIPOGRAFIA
	 * ==================================================================== */
	--font-display: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
	--font-body:    "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--font-mono:    "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

	/* Escala fluida de títulos (clamp: min, vw, max) */
	--h1: clamp(2.15rem, 1.4rem + 3vw, 3.3rem);     /* ~34 → 53px */
	--h2: clamp(1.55rem, 1.2rem + 1.4vw, 2rem);     /* ~25 → 32px */
	--h3: clamp(1.25rem, 1.1rem + 0.7vw, 1.5rem);   /* ~20 → 24px */
	--h4: 1.15rem;

	/* Corpo otimizado para leitura: ~18–19px desktop, 1.7 entrelinha */
	--body-size:    1.1875rem;   /* 19px */
	--body-size-mob:1.0625rem;   /* 17px */
	--lead-size:    1.3125rem;   /* 21px — parágrafo de abertura */
	--leading:      1.75;
	--leading-tight:1.18;
	--leading-snug: 1.3;
	--measure:      72ch;        /* largura de leitura ideal (68–75ch) */

	--tracking-tight:  -0.02em;
	--tracking-tighter:-0.035em;

	/* ====================================================================
	 * RAIO / SOMBRA / ESPAÇO
	 * ==================================================================== */
	--r-sm:   8px;
	--r-md:   12px;
	--r-lg:   16px;
	--r-xl:   22px;
	--r-pill: 999px;

	--shadow-xs: 0 1px 2px rgba(15, 23, 42, 0.05);
	--shadow-sm: 0 2px 8px rgba(15, 23, 42, 0.06);
	--shadow-md: 0 10px 30px -12px rgba(15, 23, 42, 0.16);
	--shadow-lg: 0 24px 60px -24px rgba(15, 23, 42, 0.22);
	--shadow-cta:0 10px 24px -10px rgba(68, 57, 189, 0.55);

	--space-1: 4px;
	--space-2: 8px;
	--space-3: 12px;
	--space-4: 16px;
	--space-5: 20px;
	--space-6: 24px;
	--space-8: 32px;
	--space-10:40px;
	--space-12:48px;
	--space-16:64px;
	--space-20:80px;
	--section-y: clamp(48px, 6vw, 88px);

	/* Layout do artigo — shell largo (expansivo, nunca "boxed") */
	--col-content: 780px;   /* coluna de leitura (texto segue capado em --measure) */
	--col-sidebar: 340px;   /* coluna lateral (sticky ads) */
	--col-gap:     64px;
	--max-shell:   1344px;
	--header-h:    68px;   /* barra de marca — mesma altura do .t3-nav do tema */
	/* Altura do CHROME grudado no topo: faixa de marca + barra de categorias.
	   É o offset certo para scroll-margin-top de títulos e para a sidebar
	   sticky. Quando o blog não tem categorias a barra some e sobram ~45px
	   de folga — erro para o lado seguro (título abaixo da barra, nunca
	   escondido atrás dela). */
	--chrome-h:    calc(var(--header-h) + 45px);

	/* ====================================================================
	 * MOTION (restrained — DNA Stripe/Linear)
	 * ==================================================================== */
	--ease:        cubic-bezier(0.22, 1, 0.36, 1);
	--ease-out:    cubic-bezier(0.16, 1, 0.3, 1);
	--dur-fast:    140ms;
	--dur:         240ms;

	/* z-index */
	--z-header: 100;
	--z-progress: 110;
}

/*
 * NOTA DE ARQUITETURA CSS
 * -----------------------
 * Este style.css contém SOMENTE: header do tema, @font-face e tokens.
 * Todos os estilos de componentes vivem em assets/css/main.css (enfileirado
 * via functions.php com versionamento filemtime para cache-busting).
 * Não há `style="..."` inline em nenhum template, exceto o <script> JSON-LD.
 */
