:root {
    --color-primary: #4A5D43;
    --color-accent: #B85C38;
    --color-accent-hover: #A04B2A;
    --color-text-main: #2C3630;
    --color-text-muted: #58665E;
    --color-bg-main: #FAF9F6;
    --color-bg-card: #FFFFFF;
    --color-bg-alt: #F0ECE4;
    --color-success-bg: rgba(74, 93, 67, 0.12);
    --color-success-text: #35503a;
    --color-warning-bg: rgba(184, 92, 56, 0.14);
    --color-warning-text: #7d432b;
    --color-error-bg: rgba(143, 58, 58, 0.12);
    --color-error-text: #7c3030;
    --font-heading: 'Merriweather', serif;
    --font-body: 'Open Sans', sans-serif;
    --border-radius: 12px;
    --box-shadow: 0 8px 24px rgba(74, 93, 67, 0.08);
    --max-width: 1080px;
}

.btn,
.btn-primary,
.btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    padding: 14px 32px;
    border: none;
    border-radius: 999px;
    cursor: pointer;
    text-align: center;
    text-decoration: none;
    font: inherit;
    font-weight: 700;
    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease,
        background-color 0.2s ease,
        border-color 0.2s ease,
        color 0.2s ease,
        opacity 0.2s ease;
}

.btn:hover,
.btn-primary:hover,
.btn-secondary:hover {
    transform: translateY(-2px);
}

.btn:disabled,
.btn-primary:disabled,
.btn-secondary:disabled {
    opacity: 0.7;
    cursor: wait;
    transform: none;
}

.btn-primary {
    background: var(--color-accent);
    color: #fff;
    box-shadow: 0 8px 20px rgba(184, 92, 56, 0.22);
}

.btn-primary:hover {
    background: var(--color-accent-hover);
    color: #fff;
    box-shadow: 0 4px 12px rgba(184, 92, 56, 0.3);
}

.btn-secondary {
    background: rgba(250, 249, 246, 0.92);
    color: var(--color-primary);
    border: 1px solid rgba(74, 93, 67, 0.34);
    box-shadow: 0 6px 18px rgba(74, 93, 67, 0.1);
}

.btn-secondary:hover {
    background: #fff;
    color: var(--color-primary);
    border-color: rgba(74, 93, 67, 0.5);
    box-shadow: 0 8px 22px rgba(74, 93, 67, 0.16);
}
