/* GuardaMais brand — Geologica fonts + scoped palette
   Active only inside .gm-brand wrappers (Auth page for now).
   Overrides shadcn HSL tokens within the scope so existing
   primitives (Button, Input, Card) inherit the new identity. */

@font-face { font-family: "Geologica"; font-style: normal; font-weight: 300; font-display: swap; src: url("/lp/0841fb39-fd68-4b4c-98af-0187efa6c666.ttf") format("truetype"); }
@font-face { font-family: "Geologica"; font-style: normal; font-weight: 400; font-display: swap; src: url("/lp/087ae2cb-0bc1-43ce-b970-70d26c3f5393.ttf") format("truetype"); }
@font-face { font-family: "Geologica"; font-style: normal; font-weight: 500; font-display: swap; src: url("/lp/e79f4bd2-6ff7-4a47-8721-e3d67c62aa38.ttf") format("truetype"); }
@font-face { font-family: "Geologica"; font-style: normal; font-weight: 600; font-display: swap; src: url("/lp/ecb8e5e7-767b-4523-85e5-52ee26218516.ttf") format("truetype"); }
@font-face { font-family: "Geologica"; font-style: normal; font-weight: 700; font-display: swap; src: url("/lp/84778a34-b8ac-4a97-8b46-36e58b4dba05.ttf") format("truetype"); }
@font-face { font-family: "Geologica"; font-style: normal; font-weight: 800; font-display: swap; src: url("/lp/944b8cab-17aa-43b5-97aa-e3de62a121f6.ttf") format("truetype"); }

.gm-brand {
  /* Brand palette mapped to shadcn HSL tokens */
  --background: 180 100% 86%;    /* #B6FFFF blue-200 */
  --foreground: 207 100% 23%;    /* #004173 blue-700 */
  --card: 0 0% 100%;
  --card-foreground: 207 100% 23%;
  --popover: 0 0% 100%;
  --popover-foreground: 207 100% 23%;
  --primary: 79 92% 62%;         /* #BEF842 lime-500 */
  --primary-foreground: 207 100% 23%;
  --secondary: 0 0% 100%;
  --secondary-foreground: 207 100% 23%;
  --muted: 180 60% 94%;
  --muted-foreground: 207 25% 35%;
  --accent: 79 92% 62%;
  --accent-foreground: 207 100% 23%;
  --border: 180 30% 80%;
  --input: 180 30% 80%;
  --ring: 207 100% 23%;
  --radius: 1.25rem;

  font-family: "Geologica", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  background: hsl(var(--background));
  color: hsl(var(--foreground));
  letter-spacing: -0.005em;
}

.gm-brand * { font-family: inherit; }

/* Card surface (overrides .stat-card inside the scope) */
.gm-brand .stat-card {
  background: #fff;
  border-radius: 28px;
  border: 1px solid rgba(0, 65, 115, 0.08);
  box-shadow: 0 24px 60px rgba(0, 65, 115, 0.14);
}

/* Headings: tighter + bolder per brand */
.gm-brand h1, .gm-brand h2, .gm-brand h3 {
  letter-spacing: -0.02em;
  font-weight: 700;
}

/* Primary CTA: pill + lime, dark blue ink */
.gm-brand button[type="submit"],
.gm-brand .btn-primary-brand {
  border-radius: 999px;
  font-weight: 700;
  letter-spacing: -0.01em;
  box-shadow: 0 8px 24px rgba(190, 248, 66, 0.35);
}

/* Inputs: rounded + soft border */
.gm-brand input,
.gm-brand textarea,
.gm-brand [role="combobox"] {
  border-radius: 14px;
}

/* Subtle decorative aqua bloom in the background */
.gm-brand::before {
  content: "";
  position: fixed;
  inset: 0;
  background:
    radial-gradient(900px 600px at 85% -10%, rgba(12, 183, 242, 0.25), transparent 60%),
    radial-gradient(700px 500px at -10% 110%, rgba(190, 248, 66, 0.25), transparent 60%);
  pointer-events: none;
  z-index: 0;
}

.gm-brand > * { position: relative; z-index: 1; }
