/* =========================================================
   Silva Design System — Colors & Type
   B2B marketplace de mudas nativas para restauração ecológica
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&display=swap');
/* Georgia is system-installed everywhere; no @import needed.       */
/* Lato Mono is not on Google Fonts — Courier New is the doc'd      */
/* fallback per the brandbook ("Lato Mono ou Courier").             */

:root {
  /* ---------- BRAND COLORS ---------- */
  /* Primary greens — Verde Silva is THE dominant brand color (~55%) */
  --silva-green:        #1E5B3A;   /* Verde Silva — dominante     */
  --silva-green-medium: #3D8B5E;   /* Verde Médio                 */
  --silva-green-mint:   #6AB187;   /* Verde Menta                 */
  --silva-green-light:  #2a7a4f;   /* hover/lighter primary       */
  --silva-green-dark:   #143d27;   /* pressed / dark text on tint */

  /* Tints derived from Verde Silva — used for badge bg, focus ring */
  --silva-green-10:     #e8f2ec;
  --silva-green-30:     #a8cdb6;

  /* Accents — used sparingly (~10% combined) */
  --silva-terracotta:   #C1600F;   /* Terracota — urgência       */
  --silva-amber:        #E8A020;   /* Âmbar — em análise         */
  --silva-gray-dark:    #3C3A37;   /* Cinza Dark                 */
  --silva-gray-mid:     #8C8680;   /* Cinza Mid                  */

  /* Institutional secondary — uniforms, board decks, formal docs */
  --silva-navy:         #0D1B2A;   /* Marinho Noite              */

  /* Neutrals */
  --silva-white:        #FFFFFF;
  --silva-offwhite:     #F7F5F1;   /* Off White — fundo padrão   */
  --silva-cream:        #EDE9E1;   /* Creme                      */
  --silva-gray-light:   #D4CFC6;   /* Cinza Claro                */

  /* ---------- SEMANTIC TOKENS — light surface ---------- */
  --color-bg:               var(--silva-offwhite);
  --color-bg-elevated:      #ffffff;
  --color-bg-secondary:     var(--silva-cream);
  --color-bg-inverse:       var(--silva-green);

  --color-fg:               #1a1a18;          /* primary text   */
  --color-fg-muted:         #6b6b65;          /* secondary text */
  --color-fg-subtle:        #9c9a92;          /* tertiary text  */
  --color-fg-on-dark:       var(--silva-offwhite);

  --color-border:           rgba(13, 27, 42, 0.12);
  --color-border-subtle:    rgba(13, 27, 42, 0.07);
  --color-border-strong:    rgba(13, 27, 42, 0.25);

  /* Status / semantic */
  --color-success:          var(--silva-green);
  --color-warning:          var(--silva-amber);
  --color-danger:           var(--silva-terracotta);
  --color-info:             var(--silva-navy);

  /* Bioma (categorical) — used in badges/pills only */
  --bioma-mata:             #143d27;
  --bioma-mata-bg:          #e8f2ec;
  --bioma-mata-border:      var(--silva-green-30);
  --bioma-cerrado:          #7a5000;
  --bioma-cerrado-bg:       #fef8e7;
  --bioma-cerrado-border:   #f5d680;
  --bioma-amazonia:         #0d2a1a;
  --bioma-amazonia-bg:      #e8edf2;
  --bioma-amazonia-border:  #a8c0b6;

  /* ---------- TYPOGRAPHY ---------- */
  --font-display: Georgia, 'Times New Roman', Times, serif;
  --font-body:    'Lato', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --font-mono:    'Courier New', Courier, ui-monospace, monospace;

  /* Type scale (px values match brandbook spec) */
  --fs-display:  48px;   /* hero — Georgia Bold       */
  --fs-h1:       36px;   /* H1     — Georgia Bold     */
  --fs-h2:       22px;   /* H2     — Georgia Regular  */
  --fs-h3:       18px;   /* H3     — Georgia Regular  */
  --fs-body:     13px;   /* corpo  — Lato Regular     */
  --fs-body-lg:  15px;   /* corpo grande              */
  --fs-small:    11px;   /* aux                       */
  --fs-label:    9px;    /* label  — Lato 700 caps    */
  --fs-data:     13px;   /* dados  — Lato Mono/Courier */

  --lh-tight:    1.1;
  --lh-snug:     1.3;
  --lh-normal:   1.6;

  --ls-tight:    -0.01em;
  --ls-normal:   0;
  --ls-label:    0.12em;   /* uppercase labels  */
  --ls-tracked:  0.07em;

  /* ---------- SPACING ---------- */
  --space-1:  4px;
  --space-2:  8px;
  --space-3:  12px;
  --space-4:  16px;
  --space-5:  24px;
  --space-6:  32px;
  --space-7:  48px;
  --space-8:  64px;

  /* ---------- RADII ---------- */
  --radius-sm:  4px;     /* badges, inline tags          */
  --radius-md:  8px;     /* default — buttons, fields    */
  --radius-lg:  12px;    /* cards, panels                */
  --radius-xl:  20px;    /* pill / bioma chips           */
  --radius-full: 9999px;

  /* ---------- STROKES ---------- */
  --stroke-hairline: 0.5px;   /* default — quiet, technical */
  --stroke-emphasis: 1.5px;   /* emphasized borders         */

  /* ---------- ELEVATION ---------- */
  /* Silva is a quiet system — shadows are restrained. */
  --shadow-sm:  0 1px 2px rgba(13, 27, 42, 0.04);
  --shadow-md:  0 2px 8px rgba(13, 27, 42, 0.06), 0 1px 2px rgba(13, 27, 42, 0.04);
  --shadow-lg:  0 8px 24px rgba(13, 27, 42, 0.08), 0 2px 6px rgba(13, 27, 42, 0.04);
  --shadow-focus: 0 0 0 3px rgba(30, 91, 58, 0.18);
}

/* ---------- DARK SURFACE OVERRIDE ---------- */
/* Marinho Noite as ground when on dark surfaces (uniforms-mode) */
.silva-dark, [data-silva-theme="dark"] {
  --color-bg:            var(--silva-navy);
  --color-bg-elevated:   #142436;
  --color-bg-secondary:  #1a2c40;
  --color-fg:            var(--silva-offwhite);
  --color-fg-muted:      #a8b4c0;
  --color-fg-subtle:     #6f7d8c;
  --color-border:        rgba(247, 245, 241, 0.14);
  --color-border-subtle: rgba(247, 245, 241, 0.08);
}

/* =========================================================
   SEMANTIC TYPE STYLES — apply via class
   ========================================================= */

.silva-h1, h1.silva {
  font-family: var(--font-display);
  font-size: var(--fs-h1);
  font-weight: 700;
  line-height: var(--lh-tight);
  letter-spacing: var(--ls-tight);
  color: var(--silva-green);
}

.silva-h2, h2.silva {
  font-family: var(--font-display);
  font-size: var(--fs-h2);
  font-weight: 400;
  line-height: var(--lh-snug);
  color: var(--silva-navy);
}

.silva-h3, h3.silva {
  font-family: var(--font-display);
  font-size: var(--fs-h3);
  font-weight: 400;
  line-height: var(--lh-snug);
  color: var(--silva-navy);
}

.silva-display {
  font-family: var(--font-display);
  font-size: var(--fs-display);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: var(--ls-tight);
  color: var(--silva-green);
}

.silva-body, p.silva {
  font-family: var(--font-body);
  font-size: var(--fs-body);
  font-weight: 400;
  line-height: var(--lh-normal);
  color: var(--color-fg);
  text-wrap: pretty;
}

.silva-body-lg {
  font-family: var(--font-body);
  font-size: var(--fs-body-lg);
  line-height: var(--lh-normal);
  color: var(--color-fg);
}

.silva-label {
  font-family: var(--font-body);
  font-size: var(--fs-label);
  font-weight: 700;
  letter-spacing: var(--ls-label);
  text-transform: uppercase;
  color: var(--color-fg-muted);
}

.silva-data, code.silva {
  font-family: var(--font-mono);
  font-size: var(--fs-data);
  color: var(--color-fg);
  font-feature-settings: "tnum";
}

.silva-caption {
  font-family: var(--font-body);
  font-size: var(--fs-small);
  color: var(--color-fg-subtle);
}
