/* ------------------------------------------------------------
   Edaphia Theme Tokens
   /assets/css/garden-theme.css

   Light-mode foundation:
   - Parchment canvas
   - Deep forest actions
   - Soft sage secondary surfaces
   - Terracotta accent
   - Calm, readable operational states
   ------------------------------------------------------------ */

:root {
    /* --------------------------------------------------------
       Core palette
       -------------------------------------------------------- */

    --garden-ink: #1d2b20;
    --garden-ink-soft: #314034;
    --garden-muted: #667361;
    --garden-muted-soft: #7e897a;

    --garden-page: #f7f4ed;
    --garden-surface: #ffffff;
    --garden-surface-soft: #f0f4eb;
    --garden-surface-sage: #e3ecdc;
    --garden-surface-warm: #fbf8f2;

    --garden-line: rgba(35, 55, 38, .14);
    --garden-line-strong: rgba(35, 55, 38, .24);

    /* Forest: primary brand/action color. */
    --garden-primary: #285238;
    --garden-primary-hover: #1d402b;
    --garden-primary-active: #163521;
    --garden-primary-text: #ffffff;

    /* Sage: secondary actions and quiet plant-related surfaces. */
    --garden-sage: #9ab68c;
    --garden-sage-deep: #66845b;
    --garden-sage-soft: #e7efe1;

    --garden-secondary-bg: #eef4e9;
    --garden-secondary-border: #91aa85;
    --garden-secondary-text: #294b32;

    /* Terracotta: small accents, harvest, seasonal emphasis. */
    --garden-terra: #bf6546;
    --garden-terra-hover: #a95237;
    --garden-terra-soft: #f6e4dc;
    --garden-terra-text: #7c3723;

    /* Functional states. */
    --garden-warning-bg: #fff3d2;
    --garden-warning-border: #d9ad4c;
    --garden-warning-text: #664a08;

    --garden-danger-bg: #fdeceb;
    --garden-danger-border: #d98f8c;
    --garden-danger-text: #8a2926;

    --garden-success-bg: #e8f4e9;
    --garden-success-border: #9dc7a1;
    --garden-success-text: #1d6135;

    /* Quiet task-card states. */
    --garden-task-overdue-bg: #faefed;
    --garden-task-overdue-border: #ddb9b2;
    --garden-task-overdue-text: #713b35;
    --garden-task-overdue-action: #874b43;
    --garden-task-overdue-action-hover: #713b35;
    --garden-task-today-bg: #fbf4df;
    --garden-task-today-border: #dccb91;
    --garden-task-upcoming-bg: #edf4e9;
    --garden-task-upcoming-border: #b7caaa;
    --garden-task-snoozed-bg: #f0eef3;
    --garden-task-snoozed-border: #c8c0cf;

    --garden-focus: rgba(40, 82, 56, .28);

    --garden-text-on-dark: #f6f4ed;
    --garden-text-on-dark-muted: rgba(237, 245, 232, .82);

    /* --------------------------------------------------------
       Shape and elevation
       -------------------------------------------------------- */

    --garden-radius-xs: 8px;
    --garden-radius-sm: 10px;
    --garden-radius-md: 16px;
    --garden-radius-lg: 22px;
    --garden-radius-xl: 30px;

    --garden-shadow-card: 0 12px 30px rgba(28, 48, 31, .08);
    --garden-shadow-raised: 0 18px 42px rgba(28, 48, 31, .12);

    /* --------------------------------------------------------
       Compatibility aliases
       These let newer components use the garden token names
       while older CSS continues to work unchanged.
       -------------------------------------------------------- */

    --garden-text-display: var(--garden-ink);
    --garden-text: var(--garden-ink-soft);
    --garden-text-muted: var(--garden-muted);
    --garden-text-soft: var(--garden-muted-soft);
}


/* ------------------------------------------------------------
   Shared Buttons
   ------------------------------------------------------------ */

.garden-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    min-height: 44px;
    padding: .7rem 1rem;
    border: 1px solid transparent;
    border-radius: var(--garden-radius-sm);
    font: inherit;
    font-weight: 700;
    line-height: 1.15;
    text-decoration: none;
    cursor: pointer;
}

.garden-button-primary {
    color: var(--garden-primary-text);
    background: var(--garden-primary);
    border-color: var(--garden-primary);
}

.garden-button-primary:hover,
.garden-button-primary:focus-visible {
    color: var(--garden-primary-text);
    background: var(--garden-primary-hover);
    border-color: var(--garden-primary-hover);
}

.garden-button-secondary {
    color: var(--garden-secondary-text);
    background: var(--garden-secondary-bg);
    border-color: var(--garden-secondary-border);
}

.garden-button-secondary:hover,
.garden-button-secondary:focus-visible {
    color: var(--garden-secondary-text);
    background: var(--garden-sage-soft);
    border-color: var(--garden-primary);
}

.garden-button-on-light {
    color: var(--garden-ink);
    background: var(--garden-surface);
    border-color: var(--garden-line-strong);
}

.garden-button-on-light:hover,
.garden-button-on-light:focus-visible {
    color: var(--garden-primary);
    background: var(--garden-surface-warm);
    border-color: var(--garden-primary);
}


/* ------------------------------------------------------------
   Admin Buttons
   ------------------------------------------------------------ */

.garden-admin-button {
    border-radius: var(--garden-radius-sm);
    color: var(--garden-ink);
    background: var(--garden-surface);
    border-color: var(--garden-line-strong);
}

.garden-admin-button-primary {
    color: var(--garden-primary-text);
    background: var(--garden-primary);
    border-color: var(--garden-primary);
}

.garden-admin-button-danger {
    color: var(--garden-danger-text);
    background: var(--garden-danger-bg);
    border-color: var(--garden-danger-border);
}
