/* ============================================================
   Baker Holidays Page
   ============================================================ */

.baker-holidays-container {
    background: #faf5f0;
    padding: var(--LR-padding);
    margin: 0 auto;
    min-height: 100vh;
}

.baker-holidays-header {
    margin-bottom: 2rem;
}

.baker-holidays-title {
    font-family: var(--font-serif);
    font-size: 2rem;
    font-weight: 700;
    color: var(--color-text);
    margin: 0 0 0.25rem;
}

.baker-holidays-subtitle {
    color: var(--color-muted);
    margin: 0;
}

/* ── Add Holiday Form ──────────────────────────────────── */

.baker-holidays-form {
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}

.baker-holidays-form h3 {
    font-family: var(--font-serif);
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--color-text);
    margin: 0 0 1rem;
}

.baker-holidays-form-row {
    display: flex;
    gap: 0.75rem;
    align-items: flex-end;
    flex-wrap: wrap;
}

.baker-holidays-form-field {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
}

.baker-holidays-form-field.field-date {
    flex: 0 0 auto;
}

.baker-holidays-form-field.field-name {
    flex: 1;
    min-width: 12rem;
}

.baker-holidays-form-field label {
    font-size: 0.8125rem;
    font-weight: 600;
    color: var(--color-text);
}

.baker-holidays-form-field input {
    width: 100%;
}

.baker-holidays-form-field.field-date input {
    width: 11rem;
}

.baker-holidays-form-btn {
    white-space: nowrap;
}

.baker-holidays-form-error {
    margin: 0.75rem 0 0;
    font-size: 0.875rem;
    color: #b91c1c;
}

/* ── Holiday List ──────────────────────────────────────── */

.baker-holidays-list {
    padding: 0;
    overflow: hidden;
}

.baker-holidays-list-header {
    padding: 1.25rem 1.5rem;
    border-bottom: 1px solid var(--color-border);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.baker-holidays-list-title {
    font-family: var(--font-serif);
    font-size: 1.125rem;
    font-weight: 700;
    color: var(--color-text);
    margin: 0;
}

.baker-holidays-list-count {
    font-family: var(--font-sans, sans-serif);
    font-size: 0.8125rem;
    font-weight: 500;
    color: var(--color-muted);
    margin-left: 0.5rem;
}

.baker-holidays-loading,
.baker-holidays-empty {
    padding: 3rem;
    text-align: center;
    color: var(--color-muted);
}

.baker-holidays-empty-subtitle {
    font-size: 0.8125rem;
    color: var(--color-muted);
    margin: 0;
}

/* ── Year Toggle ───────────────────────────────────────── */

.baker-holidays-year-btn {
    width: 100%;
    padding: 0.5rem 1.5rem;
    background: var(--color-bg-light);
    border: none;
    border-bottom: 1px solid var(--color-border);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    text-align: left;
}

.baker-holidays-year-label {
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--color-muted);
}

.baker-holidays-year-icon {
    transition: transform 0.2s;
}

/* ── Holiday Item ──────────────────────────────────────── */

.baker-holiday-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.875rem 1.5rem;
    border-bottom: 1px solid var(--color-border);
}

.baker-holiday-item-info {
    display: flex;
    align-items: center;
    gap: 1.25rem;
}

.baker-holiday-date {
    font-size: 0.875rem;
    color: var(--color-muted);
    font-variant-numeric: tabular-nums;
    min-width: 6.5rem;
}

.baker-holiday-name {
    font-size: 0.9375rem;
    font-weight: 600;
    color: var(--color-text);
}

/* ── Error Alert ───────────────────────────────────────── */

.baker-holidays-error {
    margin-top: 1rem;
    padding: 0.875rem 1rem;
    border-radius: 0.75rem;
    background: #fef2f2;
    color: #991b1b;
    border: 1px solid #fca5a5;
    font-size: 0.875rem;
}
