/*
Theme Name: Eurekan
Theme URI: https://eurekan.com
Author: Eurekan
Author URI: https://eurekan.com
Description: A premium minimalist WordPress theme for cannabis consulting, featuring generous whitespace, clean typography with Figtree font, and content-focused design.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: eurekan
Tags: blog, one-column, two-columns, three-columns, custom-logo, featured-images, full-width-template, translation-ready

Eurekan WordPress Theme, (C) 2024 Eurekan
Eurekan is distributed under the terms of the GNU GPL v2 or later.
*/

/* CSS Custom Properties */
:root {
    /* Colors */
    --color-background: #FAFAF9;
    --color-text-primary: #171717;
    --color-text-secondary: #737373;
    --color-text-muted: #A3A3A3;
    --color-accent: #15803d;
    --color-accent-hover: #166534;
    --color-border: #E5E5E5;
    --color-card-bg: #FFFFFF;
    --color-footer-bg: #1a2e1a;
    --color-footer-border: rgba(21, 128, 61, 0.2);
    --color-footer-text: #A3A3A3;
    --color-footer-muted: #525252;

    /* Charcoal Green */
    --charcoal-green: #1a2e1a;
    --charcoal-green-light: #243524;
    --charcoal-green-dark: #141f14;

    /* Typography */
    --font-family: 'Figtree', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --font-weight-light: 300;
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;

    /* Spacing */
    --spacing-xs: 8px;
    --spacing-sm: 12px;
    --spacing-md: 16px;
    --spacing-lg: 24px;
    --spacing-xl: 32px;
    --spacing-2xl: 48px;
    --spacing-3xl: 64px;
    --spacing-4xl: 80px;
    --spacing-5xl: 96px;

    /* Layout */
    --max-width: 1200px;
    --max-width-content: 680px;
    --max-width-article: 800px;
    --max-width-featured: 1000px;
    --padding-horizontal: 24px;
    --padding-horizontal-desktop: 48px;

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

    /* Transitions */
    --transition-fast: 200ms ease;
    --transition-normal: 300ms ease;
    --transition-slow: 500ms ease;

    /* Header */
    --header-height: 80px;
}

/* Reset & Base */
*,
*::before,
*::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    scroll-behavior: smooth;
}

body {
    font-family: var(--font-family);
    font-weight: var(--font-weight-light);
    font-size: 16px;
    line-height: 1.6;
    color: var(--color-text-primary);
    background-color: var(--color-background);
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    color: inherit;
    text-decoration: none;
    transition: color var(--transition-fast);
}

ul, ol {
    list-style: none;
}

button {
    font-family: inherit;
    cursor: pointer;
    border: none;
    background: none;
}

input, textarea {
    font-family: inherit;
    border: none;
    outline: none;
}

/* Typography */
h1, h2, h3, h4, h5, h6 {
    font-weight: var(--font-weight-medium);
    letter-spacing: -0.025em;
    line-height: 1.2;
}

h1 {
    font-size: clamp(40px, 5vw, 64px);
}

h2 {
    font-size: clamp(28px, 4vw, 40px);
}

h3 {
    font-size: clamp(22px, 3vw, 28px);
}

h4 {
    font-size: clamp(18px, 2.5vw, 24px);
}

p {
    margin-bottom: var(--spacing-lg);
}

p:last-child {
    margin-bottom: 0;
}

/* Utility Classes */
.container {
    width: 100%;
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0 var(--padding-horizontal);
}

@media (min-width: 768px) {
    .container {
        padding: 0 var(--padding-horizontal-desktop);
    }
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Labels/Eyebrows */
.label {
    font-size: 12px;
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: var(--color-text-muted);
}

/* Pills/Tags */
.pill {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    font-size: 12px;
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--color-text-secondary);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-full);
    transition: all var(--transition-fast);
}

.pill:hover {
    border-color: var(--color-accent);
    color: var(--color-accent);
}

/* Screen Reader Text */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    word-wrap: normal !important;
}
