/* =============================================================================
   BASE.CSS — Reset, variáveis CSS (design tokens) e tipografia global
   ============================================================================= */

/* Fontes via Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Inter:wght@300;400;500;600&family=DM+Sans:wght@300;400;500&display=swap');

/* ---------- Design Tokens ---------- */
:root {
  /* Cores */
  --gold:       #C9A84C;
  --gold-light: #E2C97E;
  --gold-dark:  #A07A2E;
  --offwhite:   #F9F7F2;
  --black:      #0D0D0D;
  --emerald:    #1A4A3A;
  --emerald-dk: #0F2D23;
  --grey:       #6B6B6B;
  --grey-light: #D4D0C8;
  --white:      #FFFFFF;

  /* Tipografia */
  --font-serif: 'Playfair Display', Georgia, serif;
  --font-sans:  'Inter', 'DM Sans', sans-serif;

  /* Bordas e sombras */
  --radius:      12px;
  --radius-lg:   24px;
  --shadow:      0 4px 32px rgba(0,0,0,.10);
  --shadow-gold: 0 8px 40px rgba(201,168,76,.22);

  /* Transição padrão */
  --transition: .35s cubic-bezier(.4,0,.2,1);
}

/* ---------- Reset ---------- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html {
  scroll-behavior: smooth;
  font-size: 16px;
}

body {
  font-family: var(--font-sans);
  background: var(--offwhite);
  color: var(--black);
  line-height: 1.7;
  overflow-x: hidden;
}

img    { max-width: 100%; display: block; }
a      { color: inherit; text-decoration: none; }
ul     { list-style: none; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }

/* ---------- Helpers de tipografia ---------- */
.serif   { font-family: var(--font-serif); }
.gold    { color: var(--gold); }
.em-text { font-style: italic; }
