/*
 * fonts.css - Memzur marketing site (memzur.com)
 * v2.0.0 - 19 Aug 2026
 * Changelog: v2.0.0 - rebrand to Forest/Portland Stone palette; Plus Jakarta Sans heading + Inter body
 *
 * Deploy to: /var/www/memzur.com/public/assets/css/fonts.css
 * Self-hosted fonts at: /var/www/memzur.com/public/assets/fonts/
 * Required font files (download from Google Fonts or use @font-face below):
 *   plus-jakarta-sans-600.woff2
 *   plus-jakarta-sans-700.woff2
 *   plus-jakarta-sans-800.woff2
 *   inter-400.woff2
 *   inter-500.woff2
 *   inter-600.woff2
 */

/* =============================================
   SELF-HOSTED FONT FACES
   ============================================= */

@font-face {
    font-family: 'Plus Jakarta Sans';
    src: url('../fonts/plus-jakarta-sans-600.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Plus Jakarta Sans';
    src: url('../fonts/plus-jakarta-sans-700.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Plus Jakarta Sans';
    src: url('../fonts/plus-jakarta-sans-800.woff2') format('woff2');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('../fonts/inter-400.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('../fonts/inter-500.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('../fonts/inter-600.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}


/* =============================================
   CSS CUSTOM PROPERTIES
   ============================================= */

:root {

    /* Font families */
    --font-heading: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-body:    'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

    /* Type scale */
    --text-xs:   0.75rem;    /* 12px */
    --text-sm:   0.875rem;   /* 14px */
    --text-base: 1rem;       /* 16px */
    --text-lg:   1.125rem;   /* 18px */
    --text-xl:   1.25rem;    /* 20px */
    --text-2xl:  1.5rem;     /* 24px */
    --text-3xl:  1.875rem;   /* 30px */
    --text-4xl:  2.25rem;    /* 36px */

    /* Font weights */
    --weight-regular:   400;
    --weight-medium:    500;
    --weight-semibold:  600;
    --weight-bold:      700;
    --weight-extrabold: 800;

    /* Line heights */
    --lh-tight:   1.2;
    --lh-snug:    1.35;
    --lh-normal:  1.5;
    --lh-relaxed: 1.625;

    /* Letter spacing */
    --tracking-tight:  -0.02em;
    --tracking-normal: 0em;
    --tracking-wide:   0.025em;

    /* Forest and Portland Stone - light theme */
    --bg-main:        #FAF9F5;
    --bg-surface:     #FFFFFF;
    --color-text-primary:   #111C16;
    --color-text-muted:     #526359;
    --color-border:         #E2E0D8;
    --primary:        #1B4D3E;
    --primary-hover:  #143A2E;
    --primary-light:  #E8F0EC;
    --signal:         #2563EB;
    --signal-light:   #EFF6FF;
}

[data-theme="dark"] {
    /* Forest and Portland Stone - dark theme */
    --bg-main:        #0D1410;
    --bg-surface:     #16221B;
    --color-text-primary:   #F4F6F4;
    --color-text-muted:     #94A398;
    --color-border:         #26362C;
    --primary:        #347A64;
    --primary-hover:  #42957B;
    --primary-light:  #1C2E25;
    --signal:         #4080FF;
    --signal-light:   #162238;
}


/* =============================================
   BASE TYPOGRAPHY
   ============================================= */

*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    font-family: var(--font-body);
    font-size: var(--text-base);
    font-weight: var(--weight-regular);
    line-height: var(--lh-normal);
    color: var(--color-text-primary);
    background-color: var(--bg-main);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Headings */
h1, h2, h3, h4, h5, h6,
.font-heading {
    font-family: var(--font-heading);
    letter-spacing: var(--tracking-tight);
    color: var(--color-text-primary);
    margin-top: 0;
}

h1 {
    font-size: var(--text-4xl);
    font-weight: var(--weight-extrabold);
    line-height: var(--lh-tight);
}

h2 {
    font-size: var(--text-3xl);
    font-weight: var(--weight-bold);
    line-height: var(--lh-tight);
}

h3 {
    font-size: var(--text-2xl);
    font-weight: var(--weight-semibold);
    line-height: var(--lh-snug);
}

h4 {
    font-size: var(--text-xl);
    font-weight: var(--weight-semibold);
    line-height: var(--lh-snug);
}

h5 {
    font-size: var(--text-lg);
    font-weight: var(--weight-semibold);
    line-height: var(--lh-snug);
}

h6 {
    font-size: var(--text-base);
    font-weight: var(--weight-semibold);
    line-height: var(--lh-normal);
}

p {
    margin-top: 0;
    margin-bottom: 1rem;
}

p.lead {
    font-size: var(--text-lg);
    line-height: var(--lh-relaxed);
}

a {
    color: var(--primary);
    text-decoration: underline;
    text-underline-offset: 2px;
}

a:hover {
    color: var(--primary-hover);
}


/* =============================================
   UTILITY CLASSES
   ============================================= */

.text-muted      { color: var(--color-text-muted); }
.text-xs         { font-size: var(--text-xs); line-height: var(--lh-normal); }
.text-sm         { font-size: var(--text-sm); line-height: var(--lh-normal); }
.text-lg         { font-size: var(--text-lg); line-height: var(--lh-relaxed); }
.font-medium     { font-weight: var(--weight-medium); }
.font-semibold   { font-weight: var(--weight-semibold); }
.font-bold       { font-weight: var(--weight-bold); }


/* =============================================
   CMS / APP COMPONENT TYPOGRAPHY
   ============================================= */

/* Memory card heading */
.memory-title {
    font-family: var(--font-heading);
    font-size: var(--text-lg);
    font-weight: var(--weight-semibold);
    color: var(--color-text-primary);
    margin: 0;
}

/* Memory metadata line (platform, date, category) */
.memory-meta {
    font-family: var(--font-body);
    font-size: var(--text-xs);
    font-weight: var(--weight-medium);
    color: var(--color-text-muted);
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
}

/* Status and category badges */
.badge {
    font-family: var(--font-body);
    font-size: var(--text-xs);
    font-weight: var(--weight-medium);
    line-height: 1;
}

/* Buttons */
.btn {
    font-family: var(--font-body);
    font-size: var(--text-sm);
    font-weight: var(--weight-semibold);
}

/* Navigation links */
.nav-link {
    font-family: var(--font-body);
    font-size: var(--text-sm);
    font-weight: var(--weight-medium);
}

/* Section labels and overlines */
.overline {
    font-family: var(--font-body);
    font-size: var(--text-xs);
    font-weight: var(--weight-semibold);
    letter-spacing: var(--tracking-wide);
    text-transform: uppercase;
    color: var(--color-text-muted);
}

/* Code and monospace */
code,
pre {
    font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
    font-size: 0.9em;
}
