/**
 * HR Board Meetings — Frontend Styles
 *
 * Designed to work within Avada Layout Sections.
 * Uses Hunt Regional purple (#4F2D8F) for accents.
 * Focus styles deferred to hr-wcag-enhancements.css.
 */

/* -----------------------------------------------------------------------
   Info block
   ----------------------------------------------------------------------- */

.hr-bm-info {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 1.5rem;
}

.hr-bm-type-badge,
.hr-bm-status-badge {
    display: inline-block;
    padding: 0.25rem 0.75rem;
    border-radius: 4px;
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 1.4;
}

.hr-bm-type-badge {
    background-color: #4F2D8F;
    color: #fff;
}

.hr-bm-status-badge {
    background-color: #e8e8e8;
    color: #333;
}

.hr-bm-status--scheduled {
    background-color: #E3F2FD;
    color: #1565C0;
}

.hr-bm-status--completed,
.hr-bm-status--minutes-approved {
    background-color: #E8F5E9;
    color: #2E7D32;
}

.hr-bm-status--minutes-pending {
    background-color: #FFF8E1;
    color: #F57F17;
}

.hr-bm-status--cancelled {
    background-color: #FFEBEE;
    color: #C62828;
}

.hr-bm-status--postponed {
    background-color: #FFF3E0;
    color: #E65100;
}

/* Details definition list */
.hr-bm-details {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 2rem;
    margin-top: 0.75rem;
    padding: 1rem;
    background-color: #f9f9f9;
    border-radius: 4px;
}

.hr-bm-detail {
    display: flex;
    gap: 0.5rem;
}

.hr-bm-detail dt {
    font-weight: 600;
    color: #333;
}

.hr-bm-detail dd {
    margin: 0;
    color: #555;
}

/* -----------------------------------------------------------------------
   Section headings
   ----------------------------------------------------------------------- */

.hr-bm-section-heading {
    font-size: 1.4rem;
    font-weight: 700;
    color: #333;
    margin-top: 2rem;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #4F2D8F;
}

.hr-bm-subsection-heading {
    font-size: 1.15rem;
    font-weight: 600;
    color: #333;
    margin-top: 1.25rem;
    margin-bottom: 0.75rem;
}

/* -----------------------------------------------------------------------
   Document links
   ----------------------------------------------------------------------- */

.hr-bm-doc-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.hr-bm-doc-item {
    padding: 0.75rem 0;
    border-bottom: 1px solid #eee;
}

.hr-bm-doc-item:last-child {
    border-bottom: none;
}

.hr-bm-file-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    text-decoration: none;
    color: #4F2D8F;
    font-weight: 600;
}

.hr-bm-file-link:hover,
.hr-bm-file-link:focus {
    text-decoration: underline;
}

.hr-bm-file-meta {
    font-weight: 400;
    font-size: 0.85rem;
    color: #777;
}

.hr-bm-doc-description {
    margin: 0.25rem 0 0;
    font-size: 0.9rem;
    color: #666;
}

/* -----------------------------------------------------------------------
   Agenda items
   ----------------------------------------------------------------------- */

.hr-bm-agenda-list,
.hr-bm-minutes-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.hr-bm-agenda-item,
.hr-bm-minutes-item {
    padding: 1rem 0;
    border-bottom: 1px solid #eee;
}

.hr-bm-agenda-item:last-child,
.hr-bm-minutes-item:last-child {
    border-bottom: none;
}

.hr-bm-agenda-item-header,
.hr-bm-minutes-item-header {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.5rem;
}

.hr-bm-item-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2rem;
    height: 2rem;
    padding: 0 0.4rem;
    border-radius: 4px;
    background-color: #4F2D8F;
    color: #fff;
    font-size: 0.85rem;
    font-weight: 700;
    flex-shrink: 0;
}

.hr-bm-item-title {
    font-size: 1.1rem;
    font-weight: 600;
    color: #333;
    margin: 0;
}

.hr-bm-item-type {
    display: inline-block;
    padding: 0.15rem 0.5rem;
    border-radius: 3px;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

.hr-bm-item-type--information    { background-color: #E3F2FD; color: #1565C0; }
.hr-bm-item-type--discussion     { background-color: #F3E5F5; color: #6A1B9A; }
.hr-bm-item-type--action         { background-color: #FFF8E1; color: #F57F17; }
.hr-bm-item-type--consent        { background-color: #E8F5E9; color: #2E7D32; }
.hr-bm-item-type--executive_session { background-color: #FFEBEE; color: #C62828; }

.hr-bm-item-presenter {
    margin: 0.25rem 0 0;
    font-size: 0.9rem;
    color: #666;
    font-style: italic;
}

.hr-bm-item-description {
    margin-top: 0.5rem;
}

.hr-bm-item-attachment {
    margin-top: 0.5rem;
}

/* -----------------------------------------------------------------------
   Minutes — attendance
   ----------------------------------------------------------------------- */

.hr-bm-attendance {
    margin-bottom: 1.5rem;
    padding: 1rem;
    background-color: #f9f9f9;
    border-radius: 4px;
}

.hr-bm-attendance-group {
    margin-bottom: 0.75rem;
}

.hr-bm-attendance-group:last-child {
    margin-bottom: 0;
}

.hr-bm-attendance-group h4 {
    font-size: 0.95rem;
    font-weight: 600;
    color: #333;
    margin: 0 0 0.25rem;
}

.hr-bm-name-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 1rem;
}

.hr-bm-name-list li {
    font-size: 0.9rem;
    color: #555;
}

.hr-bm-approved-date {
    font-size: 0.9rem;
    color: #555;
    margin-bottom: 1rem;
}

/* -----------------------------------------------------------------------
   Minutes — motions
   ----------------------------------------------------------------------- */

.hr-bm-motion {
    margin-top: 0.75rem;
    padding: 0.75rem 1rem;
    background-color: #f5f0fa;
    border-left: 3px solid #4F2D8F;
    border-radius: 0 4px 4px 0;
}

.hr-bm-motion-text {
    margin: 0 0 0.5rem;
    font-weight: 500;
}

.hr-bm-motion-details {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
    font-size: 0.875rem;
    color: #555;
}

.hr-bm-vote-result {
    font-weight: 600;
}

.hr-bm-vote--approved_unanimously,
.hr-bm-vote--approved {
    color: #2E7D32;
}

.hr-bm-vote--failed {
    color: #C62828;
}

.hr-bm-vote--tabled,
.hr-bm-vote--withdrawn {
    color: #F57F17;
}

/* -----------------------------------------------------------------------
   Minutes — action items
   ----------------------------------------------------------------------- */

.hr-bm-action-items {
    margin-top: 0.75rem;
}

.hr-bm-action-items-heading {
    font-size: 0.9rem;
    font-weight: 600;
    color: #333;
    margin: 0 0 0.25rem;
}

.hr-bm-action-items ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.hr-bm-action-item {
    font-size: 0.9rem;
    padding: 0.25rem 0;
    color: #555;
}

.hr-bm-action-responsible {
    color: #666;
}

.hr-bm-action-due {
    color: #888;
    font-size: 0.85rem;
}

/* -----------------------------------------------------------------------
   Responsive
   ----------------------------------------------------------------------- */

@media (max-width: 768px) {
    .hr-bm-details {
        flex-direction: column;
        gap: 0.5rem;
    }

    .hr-bm-detail {
        flex-direction: column;
        gap: 0.15rem;
    }

    .hr-bm-motion-details {
        flex-direction: column;
        gap: 0.25rem;
    }

    .hr-bm-name-list {
        flex-direction: column;
        gap: 0.15rem;
    }
}
