/*
Theme Name: Oxford
Theme URI: https://inglesoxfordmg.com.br
Description: Tema mínimo para o site da Oxford. Toda a UI vem de shortcodes nos plugins (oxford-core, oxford-reports, Lizzy etc.), este tema serve como shell leve com design system centralizado.
Version: 1.0.0
Author: Oxford MG
Text Domain: oxford
Requires at least: 6.1
Requires PHP: 8.0
*/

/* ==========================================================================
   CSS Reset
   ========================================================================== */
*, *::before, *::after {
  box-sizing: border-box;
}

* {
  margin: 0;
  padding: 0;
}

html {
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
  scrollbar-width: thin;
  scrollbar-color: rgba(69, 123, 157, 0.5) rgba(0, 0, 0, 0.08);
}

body {
  min-height: 100dvh;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}

input, button, textarea, select {
  font: inherit;
}

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

/* ==========================================================================
   Design System, Oxford CSS Variables (FONTE ÚNICA DE VERDADE)
   Tokens de marca extraídos de oxford-core/includes/Shortcodes/LandingPages/
   Styles.php (shortcode [oxford_lp_styles]). Os nomes e valores são os MESMOS
   que as LPs usam hoje: quando a LP injeta o <style> dela, redefine com os
   mesmos valores, sem drift.
   ========================================================================== */
:root {
  /* Cores Principais (paleta LP: #e63946, #f1faee, #a8dadc, #457b9d, #1d3557) */
  --ox-red:        #e63946;
  --ox-red-dark:   #c62f3b;
  --ox-red-light:  #ff4d5a;
  --ox-cream:      #f1faee;
  --ox-cyan:       #a8dadc;
  --ox-cyan-dark:  #8bc4c6;
  --ox-blue:       #457b9d;
  --ox-blue-dark:  #1d3557;

  /* Verde para CTA, cor de ação positiva */
  --ox-green:       #22c55e;
  --ox-green-dark:  #16a34a;
  --ox-green-light: #4ade80;

  /* Cores Neutras */
  --ox-white:    #ffffff;
  --ox-black:    #111827;
  --ox-gray-50:  #f9fafb;
  --ox-gray-100: #f3f4f6;
  --ox-gray-200: #e5e7eb;
  --ox-gray-300: #d1d5db;
  --ox-gray-400: #9ca3af;
  --ox-gray-500: #6b7280;
  --ox-gray-600: #4b5563;
  --ox-gray-700: #374151;

  /* Semânticos LIGHT (derivados: fundo claro, texto escuro).
     .ox-lp usa background --ox-white e color --ox-black; headings --ox-blue-dark;
     parágrafos --ox-gray-600; links --ox-blue. Aliases abaixo espelham isso. */
  --ox-bg:             var(--ox-white);
  --ox-bg-soft:        var(--ox-gray-50);
  --ox-bg-cream:       var(--ox-cream);
  --ox-text:           var(--ox-black);
  --ox-text-secondary: var(--ox-gray-600);
  --ox-text-muted:     var(--ox-gray-500);
  --ox-heading:        var(--ox-blue-dark);
  --ox-link:           var(--ox-blue);
  --ox-link-hover:     var(--ox-blue-dark);
  --ox-border:         var(--ox-gray-200);

  /* Tipografia (Styles.php). O tema NÃO carrega Google Fonts: hoje o <link>
     de Inter/Poppins é injetado pelo shortcode [oxford_lp_styles].
     TODO-IGOR: decidir se o tema deve enfileirar Inter/Poppins globalmente. */
  --ox-font-main: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --ox-font-display: 'Poppins', var(--ox-font-main);
  --ox-font-size-base: 1rem;

  /* Espaçamentos (Styles.php) */
  --ox-space-xs:  0.25rem;
  --ox-space-sm:  0.5rem;
  --ox-space-md:  1rem;
  --ox-space-lg:  1.5rem;
  --ox-space-xl:  2rem;
  --ox-space-2xl: 3rem;
  --ox-space-3xl: 4.5rem;
  --ox-space-4xl: 7rem;
  --ox-space-5xl: 9rem;

  /* Sombras (Styles.php) */
  --ox-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
  --ox-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  --ox-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
  --ox-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
  --ox-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);

  /* Transições (Styles.php) */
  --ox-transition: all 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ox-transition-fast: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);

  /* Border Radius (Styles.php) */
  --ox-radius-sm:   0.375rem;
  --ox-radius:      0.5rem;
  --ox-radius-md:   0.75rem;
  --ox-radius-lg:   1rem;
  --ox-radius-xl:   1.5rem;
  --ox-radius-full: 9999px;

  /* Front-end é claro uniforme: informa o UA p/ widgets nativos (popup de
     <select>, date pickers) renderizarem no tema claro. */
  color-scheme: light;
}

/* ==========================================================================
   Base Typography
   ========================================================================== */
body {
  font-family: var(--ox-font-main);
  font-size: var(--ox-font-size-base);
  color: var(--ox-text);
  background-color: var(--ox-bg);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--ox-font-display);
  font-weight: 700;
  line-height: 1.2;
  color: var(--ox-heading);
}

a {
  color: var(--ox-link);
  text-decoration: none;
  transition: var(--ox-transition-fast);
}

a:hover {
  color: var(--ox-link-hover);
}

/* ==========================================================================
   Scrollbar (light, tom do azul da marca)
   ========================================================================== */
::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.08);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb {
  background: rgba(69, 123, 157, 0.5);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(69, 123, 157, 0.7);
}

/* ==========================================================================
   Layout Shell
   ========================================================================== */
#ox-main {
  min-height: 100dvh;
  width: 100%;
  box-sizing: border-box;
  /* padding lateral global (o Elementor fazia isso antes). Seções full-bleed
     escapam via width:100vw + margin calc(50% - 50vw), que cancela este padding. */
  padding-inline: clamp(0.75rem, 2.5vw, 1.25rem);
}

/* ==========================================================================
   Conteúdo simples (páginas WYSIWYG sem [oxford_lp_styles])
   Escopo em FILHOS DIRETOS de #ox-main: pega só o fluxo de topo das páginas de
   conteúdo puro (ex.: /politica-de-privacidade/, /termos-de-servico/). LPs e
   páginas de sistema embrulham tudo em <section>/<div>/.ox-*, então seus p/ul/ol
   ficam aninhados e NÃO casam estes seletores — full-bleed intacto. Repõe a
   largura de leitura, o ritmo vertical e o recuo de lista que o reset global
   (* { margin:0; padding:0 }) zerou; sem isto essas páginas viram parede de
   texto de largura total, ilegível em desktop.
   ========================================================================== */
#ox-main > p,
#ox-main > ul,
#ox-main > ol,
#ox-main > h1,
#ox-main > h2,
#ox-main > h3,
#ox-main > h4,
#ox-main > h5,
#ox-main > h6,
#ox-main > blockquote,
#ox-main > figure,
#ox-main > table,
#ox-main > pre {
  max-width: 72ch;
  margin-inline: auto;
}
#ox-main > p,
#ox-main > ul,
#ox-main > ol,
#ox-main > blockquote,
#ox-main > figure,
#ox-main > table,
#ox-main > pre {
  margin-block: 0 1rem;
}
#ox-main > h1,
#ox-main > h2,
#ox-main > h3,
#ox-main > h4,
#ox-main > h5,
#ox-main > h6 {
  margin-block: 1.5rem 0.5rem;
}
#ox-main > ul,
#ox-main > ol {
  padding-inline-start: 1.5rem;
}
#ox-main > ul { list-style: disc; }
#ox-main > ol { list-style: decimal; }

/* ==========================================================================
   Seções
   Espelha o .ox-section do [oxford_lp_styles] (Styles.php) com os MESMOS
   valores: quando a LP injeta o CSS dela por cima não há conflito de cascata.
   ========================================================================== */
.ox-section {
  padding: var(--ox-space-4xl) 0;
}

.ox-section-sm {
  padding: var(--ox-space-2xl) 0;
}

.ox-section-cream {
  background: var(--ox-cream);
}

.ox-section-gray {
  background: var(--ox-gray-50);
}

@media (max-width: 768px) {
  .ox-section {
    padding: var(--ox-space-2xl) 0;
  }
}
