/* ==========================================================================
   Guvnor Calendar — view-specific styles
   Extends guvnor-core.css card and grid components.
   ========================================================================== */

/* ── Month headings ───────────────────────────────────────────────────── */
.guvnor-calendar-month {
    margin-top: var(--guvnor-space-xl);
}

.guvnor-calendar-month:first-child {
    margin-top: var(--guvnor-space-md);
}

.guvnor-calendar-month__heading {
    display: flex;
    align-items: baseline;
    gap: var(--guvnor-space-md);
    border-bottom: 2px solid var(--guvnor-border-light);
    padding-bottom: var(--guvnor-space-sm);
}

.guvnor-calendar-month--urgent .guvnor-calendar-month__heading {
    border-bottom-color: var(--guvnor-critical);
}

.guvnor-calendar-month__count {
    font-size: 14px;
    font-weight: 400;
    color: var(--guvnor-text-muted);
}

/* ── Calendar cards ───────────────────────────────────────────────────── */
.guvnor-calendar-card {
    flex-direction: row;
}

.guvnor-calendar-card__urgency-bar {
    width: 4px;
    flex-shrink: 0;
}

.guvnor-calendar-card[data-urgency="overdue"] .guvnor-calendar-card__urgency-bar {
    background: var(--guvnor-critical);
}

.guvnor-calendar-card[data-urgency="imminent"] .guvnor-calendar-card__urgency-bar {
    background: var(--guvnor-warning);
}

.guvnor-calendar-card[data-urgency="upcoming"] .guvnor-calendar-card__urgency-bar {
    background: var(--guvnor-info);
}

.guvnor-calendar-card[data-urgency="future"] .guvnor-calendar-card__urgency-bar {
    background: var(--guvnor-border);
}

/* Card background tints for urgent items */
.guvnor-calendar-card[data-urgency="overdue"] {
    background: var(--guvnor-critical-bg);
}

.guvnor-calendar-card[data-urgency="imminent"] {
    background: var(--guvnor-warning-bg);
}

/* ── Date display ─────────────────────────────────────────────────────── */
.guvnor-calendar-card__date {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: var(--guvnor-text-muted);
    margin-bottom: var(--guvnor-space-xs);
    letter-spacing: 0.01em;
}

.guvnor-calendar-card[data-urgency="overdue"] .guvnor-calendar-card__date {
    color: var(--guvnor-critical);
    font-weight: 600;
}

.guvnor-calendar-card[data-urgency="imminent"] .guvnor-calendar-card__date {
    color: #b84c00;
    font-weight: 600;
}

/* ── Recommended Read link ────────────────────────────────────────────── */
.guvnor-calendar-card__read-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: var(--guvnor-space-md);
    padding: 6px 14px;
    border: 1px solid var(--guvnor-accent);
    border-radius: var(--guvnor-radius);
    color: var(--guvnor-accent);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.15s, color 0.15s;
}

.guvnor-calendar-card__read-link:hover {
    background: var(--guvnor-accent);
    color: #fff;
    text-decoration: none;
}

/* ── Urgency badges ───────────────────────────────────────────────────── */
.guvnor-badge--overdue {
    background: var(--guvnor-critical-bg);
    color: var(--guvnor-critical);
    font-weight: 700;
}

.guvnor-badge--imminent {
    background: var(--guvnor-warning-bg);
    color: #b84c00;
    font-weight: 700;
}

.guvnor-badge--upcoming {
    background: var(--guvnor-info-bg);
    color: var(--guvnor-info);
}

/* ── Hero stat colour modifiers for calendar ──────────────────────────── */
.guvnor-hero-stat--overdue .guvnor-hero-stat__number {
    color: var(--guvnor-critical);
}

.guvnor-hero-stat--imminent .guvnor-hero-stat__number {
    color: var(--guvnor-warning);
}

.guvnor-hero-stat--next .guvnor-hero-stat__number {
    color: var(--guvnor-info);
}
