/* ==========================================================================
   CASA URUSVATI — DESIGN TOKENS & BASE CSS
   Arquitetura Estática Limpa — Zero WordPress / Zero Divi
   ========================================================================== */

/* 1. Reset Global & Normalização */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

:root {
  /* Paleta Canônica Urusvati */
  --color-primary: #0C71C3;
  --color-primary-hover: #2ea3f2;
  --color-accent-purple: #4f027f;
  --color-cosmic-blue: #051884;
  --color-cosmic-purple: #430049;
  --color-cosmic-light: #3b57bf;
  --color-glow-purple: #8300E9;
  
  --color-footer-bg: #003068;
  --color-footer-bottom: #002756;
  --color-footer-text: #b4c7e7;
  --color-footer-text-light: #ffffff;
  
  --color-text-dark: #333333;
  --color-text-body: #666666;
  --color-text-muted: #888888;
  --color-bg-light: #f7f9fc;
  --color-bg-input: #eeeeee;
  --color-white: #ffffff;
  
  /* Gradientes */
  --gradient-cosmic: linear-gradient(180deg, #051884 0%, #430049 49%, #3b57bf 98%);
  --gradient-cosmic-overlay: linear-gradient(180deg, rgba(5,24,132,0.45) 0%, rgba(67,0,73,0.55) 49%, rgba(59,87,191,0.65) 98%);
  --gradient-tara-overlay: linear-gradient(180deg, rgba(5,24,132,0.85) 0%, rgba(67,0,73,0.85) 100%);
  --gradient-btn-pill: linear-gradient(108deg, #7b4397 0%, #dc2430 100%);
  --gradient-btn-cosmic: linear-gradient(90deg, #7c4dff 0%, #d81b60 100%);

  /* Tipografia */
  --font-title: 'Spectral', Georgia, 'Times New Roman', serif;
  --font-body: 'Montserrat', Helvetica, Arial, sans-serif;
  
  /* Sombras & Brilhos */
  --shadow-header: 0 2px 18px rgba(108, 0, 191, 0.25);
  --shadow-cosmic-text: 0 0 0.3em #8300E9;
  --shadow-card: 0 10px 25px rgba(0, 0, 0, 0.07);
  --shadow-card-hover: 0 16px 36px rgba(108, 0, 191, 0.16);
  --shadow-btn: 0 4px 15px rgba(12, 113, 195, 0.35);

  /* Dimensões Estruturais */
  --container-max-width: 1366px;
  --container-width: 90%;
  --header-height: 80px;
  --radius-header: 10px;
  --radius-card: 10px;
  --radius-btn: 30px;
  --radius-input: 6px;
}

/* 2. Fontes Locais FontAwesome */
@font-face {
  font-family: 'FontAwesome';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('/assets/fonts/fontawesome/fa-solid-900.woff2') format('woff2'),
       url('/assets/fonts/fontawesome/fa-solid-900.woff') format('woff'),
       url('/assets/fonts/fontawesome/fa-solid-900.ttf') format('truetype');
}

@font-face {
  font-family: 'FontAwesomeBrands';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/assets/fonts/fontawesome/fa-brands-400.woff2') format('woff2'),
       url('/assets/fonts/fontawesome/fa-brands-400.woff') format('woff'),
       url('/assets/fonts/fontawesome/fa-brands-400.ttf') format('truetype');
}

/* 3. Estilos Base */
html {
  font-size: 16px;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--font-body);
  color: var(--color-text-body);
  background-color: var(--color-white);
  line-height: 1.7;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
  width: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.site-main {
  flex: 1 0 auto;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-title);
  color: var(--color-text-dark);
  font-weight: 600;
  line-height: 1.3;
}

p {
  font-size: 16px;
  line-height: 1.7;
  margin-bottom: 16px;
}

p:last-child {
  margin-bottom: 0;
}

a {
  color: var(--color-primary);
  text-decoration: none;
  transition: color 0.2s ease;
}

a:hover {
  color: var(--color-primary-hover);
}

img, video {
  max-width: 100%;
  height: auto;
  display: block;
}

/* Utilitários Gerais */
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }
.hidden { display: none !important; }
