/* ==========================================================================
   Recarga iUniTV — base e paleta central
   --------------------------------------------------------------------------
   Toda a identidade visual do site sai das custom properties abaixo.
   Para trocar a cor do site inteiro, mexa apenas neste :root.
   ========================================================================== */
:root {
  /* --- marca: magenta -> violeta -> azul (amostrada dos gift cards) --- */
  --brand-300: #F58ACB;
  --brand-400: #EE4BA6;
  --brand-500: #DD1487;
  --brand-600: #C2117E;   /* primária */
  --brand-700: #9A1272;   /* hover / primária escura */
  --brand-800: #6D1276;
  --brand-900: #3A1670;

  --brand-gradient: linear-gradient(135deg, #EE4BA6 0%, #A614B4 48%, #3A2BD4 100%);
  --brand-soft: #FDF2F9;  /* fundo de badge/ícone */
  --brand-soft-2: #FAD9EE;

  /* triplas RGB para brilhos e bordas translúcidas —
     mude só estas duas linhas para recolorir todos os glows do site */
  --brand-rgb: 238, 75, 166;
  --brand-deep-rgb: 88, 30, 190;

  --on-brand: #ffffff;    /* texto sobre o gradiente da marca */

  /* --- superfícies escuras (header, footer) --- */
  --ink-950: #120833;
  --ink-900: #1A0B45;
  --ink-800: #2A1063;
  --ink-700: #3D1A88;

  /* --- neutros --- */
  --text-main: #1B1229;
  --text-body: #574B63;
  --text-muted: #928AA0;
  --white: #ffffff;
  --surface: #FAF7FC;     /* fundo alternado de seção */
  --surface-2: #F2ECF7;
  --border: #E6DEEE;
  --border-strong: #CFC2DC;

  /* --- semânticos --- */
  --success: #16A34A;
  --success-soft: #DCFCE7;
  --warning: #D97706;
  --warning-soft: #FEF3C7;
  --danger: #DC2626;
  --info: #2563EB;
  --info-soft: #DBEAFE;
  --whatsapp: #25D366;
  --whatsapp-dark: #128C7E;
  --pix: #32BCAD;

  /* --- forma --- */
  --radius-sm: 8px;
  --radius: 14px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --radius-pill: 999px;

  --shadow-sm: 0 1px 2px rgba(27, 18, 41, .06), 0 1px 3px rgba(27, 18, 41, .04);
  --shadow: 0 4px 16px -4px rgba(27, 18, 41, .10);
  --shadow-lg: 0 18px 40px -18px rgba(27, 18, 41, .28);
  --shadow-brand: 0 12px 28px -12px rgba(var(--brand-deep-rgb), .55);

  --font-body: 'Plus Jakarta Sans', 'Segoe UI', system-ui, -apple-system, sans-serif;
  --font-display: 'Sora', 'Plus Jakarta Sans', system-ui, sans-serif;

  --transition: all .22s cubic-bezier(.4, 0, .2, 1);

  /* compatibilidade com regras antigas que ainda usam estes nomes */
  --primary: var(--brand-600);
  --primary-dark: var(--brand-800);
  --secondary: var(--brand-600);
  --bg-main: var(--surface);
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--font-body);
  background: var(--white);
  color: var(--text-main);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5 {
  font-family: var(--font-display);
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -.02em;
  color: var(--text-main);
}

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

::selection { background: var(--brand-400); color: #fff; }

:where(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--brand-400);
  outline-offset: 2px;
  border-radius: 4px;
}

.container {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 20px;
}

/* utilitário de acessibilidade */
.sr-only {
  position: absolute; width: 1px; height: 1px;
  padding: 0; margin: -1px; overflow: hidden;
  clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

.skip-link {
  position: absolute; left: -9999px; top: 0; z-index: 10001;
  background: var(--brand-700); color: #fff;
  padding: 12px 20px; border-radius: 0 0 var(--radius-sm) 0; font-weight: 700;
}
.skip-link:focus { left: 0; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
