/* ============================================================
   Heron Lakes — Main Styles
   ============================================================ */

/* CSS Custom Properties */
:root {
  /* === Brand Palette — Neutrals === */
  --color-white:        #FFFFFF;
  --color-black-pure:   #000000;
  --color-black:        #1A1A1A;
  --color-black-soft:   #111111;
  --color-gray:         #707070;
  --color-blue-grey:    #607D8B;

  /* === Brand Palette — Blues === */
  --color-navy:         #012C55;
  --color-blue:         #0989C4;
  --color-blue-bright:  #029DE5;
  --color-blue-deep:    #0288D1;

  /* === Brand Palette — Accents === */
  --color-gold:         #FFC72C;
  --color-red:          #DD042C;
  --color-peach:        #FFC98B;

  /* === Overlays === */
  --color-transparent:  #00000000;
  --overlay-black-07:   #00000012;
  --overlay-black-16:   #00000029;
  --overlay-navy-20:    #012C5534;
  --overlay-navy-94:    #012C55F0;

  /* === Semantic Aliases ===
     Placeholder mapping — adjust once the visual design is finalized. */
  --color-primary:      var(--color-navy);
  --color-secondary:    var(--color-blue);
  --color-accent:       var(--color-gold);
  --color-background:   var(--color-white);
  --color-text:         var(--color-black);

  /* Typography
     --font-display  → Advercase Regular (local)   — logo, títulos decorativos
     --font-heading   → Montserrat (Google Fonts)   — headings h1–h6, weight 600/700
     --font-body      → Montserrat (Google Fonts)   — texto, nav, UI, weight 400
  */
  --font-display:  'Advercase Regular', sans-serif;
  --font-heading:  'Montserrat', sans-serif;
  --font-body:     'Montserrat', sans-serif;

  /* Spacing scale */
  --space-xs:   0.25rem;
  --space-sm:   0.5rem;
  --space-md:   1rem;
  --space-lg:   1.5rem;
  --space-xl:   2rem;
  --space-2xl:  3rem;
  --space-3xl:  4rem;

  /* Layout */
  --container-max: 1680px;
  --container-pad: clamp(1rem, 5vw, 2rem);

  /* Border radius */
  --radius-sm:  4px;
  --radius-md:  8px;
  --radius-lg:  16px;
  --radius-full: 9999px;

  /* Shadows */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.10);
  --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.12);

  /* Transitions */
  --transition-fast:   150ms ease;
  --transition-base:   250ms ease;
  --transition-slow:   400ms ease;
}

/* Base */
body {
  font-family: var(--font-body);
  font-size: 1rem;
  color: var(--color-text);
  background-color: var(--color-background);
}

/* Container */
.container {
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad);
}
