/* ============================================
   Purple Dog Technologies - Typography
   File: css/base/typography.css
   ============================================ */
@font-face {
    font-family: 'Lastica';
    src: url('../../fonts/Lastica.woff2') format('woff2'),
    url('../../fonts/Lastica.woff') format('woff'),
    url('../../fonts/Lastica.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Audiowide';
    src: url('../../fonts/Audiowide-Regular.woff2') format('woff2'),
    url('../../fonts/Audiowide-Regular.woff') format('woff'),
    url('../../fonts/Audiowide-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('../../fonts/Montserrat-Regular.woff2') format('woff2'),
    url('../../fonts/Montserrat-Regular.woff') format('woff'),
    url('../../fonts/Montserrat-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}


/* Heading Styles */
h1, h2, h3, h4, h5, h6 {
    font-weight: 700;
    line-height: 1.2;
}

/* Display Font - Audiowide */
.font-display {
    font-family: 'Audiowide', cursive;
}

/* Accent Font - Lastica */
.font-lastica {
    font-family: 'Lastica', 'Audiowide', cursive;
    letter-spacing: 0.15em;  /* relative to font size */
}

/* Body Font - Lato */
.font-body {
    font-family: 'Montserrat', sans-serif;
}

/* Base Font - Montserrat */
.font-base {
    font-family: 'Montserrat', sans-serif;
}

/* Text Gradient */
.text-gradient {
    background: var(--gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Text Colors */
.text-primary { color: var(--primary); }
.text-white { color: var(--white); }
.text-gray { color: var(--gray); }

/* Text Sizes */
.text-xs { font-size: 0.75rem; }
.text-sm { font-size: 0.875rem; }
.text-base { font-size: 1rem; }
.text-lg { font-size: 1.125rem; }
.text-xl { font-size: 1.25rem; }
.text-2xl { font-size: 1.5rem; }
.text-3xl { font-size: 2rem; }
.text-4xl { font-size: 2.5rem; }

/* Text Alignment */
.text-left { text-align: left; }
.text-center { text-align: center; }
.text-right { text-align: right; }

/* Font Weights */
.font-light { font-weight: 300; }
.font-normal { font-weight: 400; }
.font-medium { font-weight: 500; }
.font-semibold { font-weight: 600; }
.font-bold { font-weight: 700; }

/* Letter Spacing */
.tracking-tight { letter-spacing: -0.025em; }
.tracking-normal { letter-spacing: 0; }
.tracking-wide { letter-spacing: 0.025em; }
.tracking-wider { letter-spacing: 0.05em; }
.tracking-widest { letter-spacing: 0.1em; }

/* Line Clamp */
.line-clamp-1 {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.line-clamp-3 {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}