/*
Theme Name: Maurício Menezes
Theme URI: https://eightgroup.com.br/
Author: Eight Group
Author URI: https://eightgroup.com.br/
Description: Tema institucional para Dr. Maurício Menezes Soares, Ortopedia e Terapia Regenerativa. Captação de pacientes e agendamento por WhatsApp, com SEO/GEO nativo, performance extrema e acessibilidade WCAG 2.2 AA.
Version: 1.1.0
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: mauricio-menezes
Tags: medical, one-page, custom-colors, custom-logo, custom-menu, featured-images, translation-ready, accessibility-ready

Projeto Gerado pelo Prompt Mestre do Desenvolvedor e Vibe Coder Dante Testa · www.dantetesta.com.br
*/

/* =========================================================================
   TOKENS · Direção de Arte vinculante (estudo-de-caso-direcao-de-arte.md)
   O builder consome SOMENTE estes valores. Divergencia = bug.
   ========================================================================= */
:root {
  /* Paleta · 60 neutros / 30 navy / 10 aqua */
  --navy-900: #151D3D;
  --navy-800: #1E2A52;
  --navy-700: #2C3B6E;
  --aqua-500: #00FED2;
  --aqua-600: #00C9A7;
  --teal-700: #0A6F60;
  --ink-900: #0E1424;
  --slate-600: #5B6478;
  --surface-0: #FFFFFF;
  --surface-50: #F4F7FA;
  --mist-100: #E7EDF3;
  --success: #1B9C6B;
  --error: #D64545;
  --warning: #E0A100;

  /* Papeis semanticos */
  --bg: var(--surface-0);
  --bg-alt: var(--surface-50);
  --text: var(--ink-900);
  --text-soft: var(--slate-600);
  --heading: var(--navy-900);
  --accent: var(--teal-700);          /* texto/links/icone sobre claro (AA) */
  --accent-pure: var(--aqua-500);     /* fills/detalhes sobre dark */
  --border: var(--mist-100);
  --on-dark: #EAF1F8;
  --on-dark-soft: #A9B6CC;

  /* Tipografia */
  --font-head: "Sora", "Segoe UI", system-ui, sans-serif;
  --font-body: "Manrope", system-ui, -apple-system, sans-serif;
  --fs-eyebrow: .8125rem;
  --fs-body: 1.0625rem;
  --fs-lead: 1.25rem;
  --lh-body: 1.65;

  /* Espacamento · escala 4/8pt */
  --sp-1: 4px;  --sp-2: 8px;  --sp-3: 12px; --sp-4: 16px;
  --sp-5: 24px; --sp-6: 32px; --sp-7: 48px; --sp-8: 64px;
  --sp-9: 96px; --sp-10: 128px;

  /* Layout */
  --container: 1200px;
  --container-wide: 1320px;
  --gutter: 24px;
  --radius: 14px;
  --radius-lg: 20px;
  --radius-pill: 999px;

  /* Efeitos contidos */
  --shadow-soft: 0 10px 30px -12px rgba(21, 29, 61, .18);
  --shadow-card: 0 4px 14px -8px rgba(21, 29, 61, .16);
  --ring-aqua: 0 0 0 1px rgba(0, 254, 210, .25);

  /* Motion */
  --ease: cubic-bezier(.22, .61, .36, 1);
  --dur-1: .2s;
  --dur-2: .35s;
  --dur-3: .45s;
}

/* =========================================================================
   RESET enxuto
   ========================================================================= */
*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .001ms !important; transition-duration: .001ms !important; }
}
body {
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  color: var(--text);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img, picture, svg, video { display: block; max-width: 100%; height: auto; }
input, button, textarea, select { font: inherit; color: inherit; }
button { cursor: pointer; }
a { color: var(--accent); text-decoration-thickness: 1px; text-underline-offset: 3px; }
ul, ol { padding-left: 1.1em; }

h1, h2, h3, h4 {
  font-family: var(--font-head);
  color: var(--heading);
  line-height: 1.12;
  font-weight: 700;
  letter-spacing: -.01em;
}

/* Acessibilidade · foco visivel inviolavel (WCAG 2.2) */
:where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--aqua-600);
  outline-offset: 2px;
  border-radius: 4px;
}
.skip-link {
  position: absolute; left: -9999px; top: 0; z-index: 1000;
  background: var(--navy-900); color: #fff; padding: 12px 18px; border-radius: 0 0 8px 0;
}
.skip-link:focus { left: 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;
}

/* Primitivas de layout */
.container { width: 100%; max-width: var(--container); margin-inline: auto; padding-inline: var(--gutter); }
.container--wide { max-width: var(--container-wide); }
.section { padding-block: clamp(var(--sp-8), 8vw, var(--sp-10)); }
.section--alt { background: var(--bg-alt); }
.section--dark { background: var(--navy-900); color: var(--on-dark); }
.section--dark h1, .section--dark h2, .section--dark h3 { color: #fff; }

/* Icones (sprite Lucide) · fill/stroke herdados do host .mm-icon */
.mm-icon {
  width: 24px; height: 24px; flex: none;
  fill: none; stroke: currentColor; stroke-width: 2;
  stroke-linecap: round; stroke-linejoin: round;
}
.mm-icon.is-filled { fill: currentColor; }
