/* ============================================================
   ArtProPact — Foundations: Color & Type
   Artistic events for companies & private clients.
   Aesthetic: monochrome ink-on-cream gallery, single gilt accent.
   ------------------------------------------------------------
   FONT NOTE: No brand font files were supplied. These are
   Google Fonts approximations chosen to match the logo:
     - Bodoni Moda  -> the high-contrast Didone of "PRO / PACT"
     - Pinyon Script-> the flowing "Art" script flourish
     - Jost         -> clean geometric sans for UI / body
   Swap for licensed brand faces if/when provided.
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,400..900;1,6..96,400..900&family=Jost:ital,wght@0,300..700;1,300..600&family=Pinyon+Script&family=JetBrains+Mono:wght@400;500&display=swap');

:root {
  /* ---- Brand neutrals (warm) ---- */
  --ink:        #16130F;  /* primary ink / brand black */
  --stone-900:  #2A241E;
  --stone-700:  #4A4138;
  --stone-500:  #776B5D;  /* secondary text */
  --stone-400:  #9C9082;
  --stone-300:  #C4B9AB;  /* hairline borders on light */
  --stone-200:  #E3DBCE;
  --stone-100:  #EFE9DD;
  --paper:      #F6F1E8;  /* primary background, "carta" */
  --alabaster:  #FBF8F2;  /* raised surfaces / cards */
  --midnight:   #181410;  /* dramatic dark sections */
  --midnight-2: #221C16;  /* dark surface */

  /* ---- Gilt accent ---- */
  --gold:       #B68A3E;  /* primary accent / gilt */
  --gold-soft:  #D9BC7E;  /* highlights, hovers on dark */
  --gold-deep:  #876327;  /* pressed / text on light */
  --gold-wash:  #F0E6D2;  /* tint fill */

  /* ---- Semantic (kept warm & muted) ---- */
  --success:    #5E7D54;
  --warning:    #C08A2E;
  --danger:     #A23B2D;
  --info:       #5A6B7A;

  /* ---- Foreground / background roles (light theme default) ---- */
  --bg:         var(--paper);
  --surface:    var(--alabaster);
  --fg1:        var(--ink);       /* primary text */
  --fg2:        var(--stone-500); /* secondary text */
  --fg3:        var(--stone-400); /* tertiary / meta */
  --border:     var(--stone-300);
  --border-soft:var(--stone-200);
  --accent:     var(--gold);
  --accent-ink: var(--gold-deep);

  /* ---- Type families ---- */
  --font-display: 'Bodoni Moda', 'Times New Roman', serif;
  --font-sans:    'Jost', ui-sans-serif, system-ui, sans-serif;
  --font-script:  'Pinyon Script', 'Bodoni Moda', serif;
  --font-mono:    'JetBrains Mono', ui-monospace, monospace;

  /* ---- Type scale (fluid-ish, fixed here) ---- */
  --text-xs:   0.75rem;   /* 12 */
  --text-sm:   0.875rem;  /* 14 */
  --text-base: 1rem;      /* 16 */
  --text-md:   1.125rem;  /* 18 */
  --text-lg:   1.375rem;  /* 22 */
  --text-xl:   1.75rem;   /* 28 */
  --text-2xl:  2.25rem;   /* 36 */
  --text-3xl:  3rem;      /* 48 */
  --text-4xl:  4rem;      /* 64 */
  --text-5xl:  5.5rem;    /* 88 */

  /* ---- Tracking ---- */
  --track-label: 0.22em;  /* all-caps sans labels (signature motif) */
  --track-tight: -0.01em;
  --track-display: -0.015em;

  /* ---- Spacing (8pt base, with a 4px half-step) ---- */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;
  --space-9: 96px;
  --space-10:128px;

  /* ---- Radii (restrained — editorial, near-square) ---- */
  --radius-xs: 2px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 14px;
  --radius-pill: 999px;

  /* ---- Borders ---- */
  --hair: 1px solid var(--border);
  --hair-soft: 1px solid var(--border-soft);
  --rule: 1px solid var(--ink);

  /* ---- Shadows (soft, warm, low — gallery light) ---- */
  --shadow-sm: 0 1px 2px rgba(22,19,15,0.06);
  --shadow-md: 0 8px 24px -12px rgba(22,19,15,0.18);
  --shadow-lg: 0 24px 60px -24px rgba(22,19,15,0.28);
  --shadow-gold: 0 8px 30px -12px rgba(182,138,62,0.45);

  /* ---- Motion ---- */
  --ease: cubic-bezier(0.22, 0.61, 0.36, 1); /* @kind other */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1); /* @kind other */
  --dur-fast: 140ms; /* @kind other */
  --dur: 240ms; /* @kind other */
  --dur-slow: 520ms; /* @kind other */
}

/* Dark theme: invert roles to the midnight/gilt pairing */
.theme-dark, [data-theme="dark"] {
  --bg:        var(--midnight);
  --surface:   var(--midnight-2);
  --fg1:       var(--paper);
  --fg2:       #B9AE9D;
  --fg3:       #8A8071;
  --border:    #3A322A;
  --border-soft:#2C261F;
  --accent:    var(--gold-soft);
  --accent-ink:var(--gold-soft);
}

/* ============================================================
   Semantic element styles — apply with classes or @extend-style
   ============================================================ */

.apt-display,
.apt-h1 {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: var(--text-4xl);
  line-height: 1.02;
  letter-spacing: var(--track-display);
  color: var(--fg1);
  text-wrap: balance;
}

.apt-h2 {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: var(--text-2xl);
  line-height: 1.08;
  letter-spacing: var(--track-display);
  color: var(--fg1);
  text-wrap: balance;
}

.apt-h3 {
  font-family: var(--font-display);
  font-weight: 500;
  font-size: var(--text-xl);
  line-height: 1.15;
  color: var(--fg1);
}

.apt-script {
  font-family: var(--font-script);
  font-weight: 400;
  font-style: italic;
  font-size: var(--text-3xl);
  line-height: 1;
  color: var(--accent-ink);
}

/* Signature: tracked all-caps sans label (kicker / eyebrow) */
.apt-label {
  font-family: var(--font-sans);
  font-weight: 500;
  font-size: var(--text-xs);
  letter-spacing: var(--track-label);
  text-transform: uppercase;
  color: var(--fg2);
}

.apt-lead {
  font-family: var(--font-sans);
  font-weight: 300;
  font-size: var(--text-lg);
  line-height: 1.55;
  color: var(--fg2);
}

.apt-body {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: var(--text-base);
  line-height: 1.65;
  color: var(--fg1);
}

.apt-small {
  font-family: var(--font-sans);
  font-weight: 400;
  font-size: var(--text-sm);
  line-height: 1.5;
  color: var(--fg2);
}

.apt-meta {
  font-family: var(--font-mono);
  font-weight: 400;
  font-size: var(--text-xs);
  letter-spacing: 0.04em;
  color: var(--fg3);
}
