/* Shared record component styles (unified across education / experience / honors / publications)
   - Provides consistent heading, list, item, meta styling
   - Page specific files may extend or lightly override spacing if needed */

/* Variables for record system */
:root {
    --record-heading-size: 1.14rem;
    --record-heading-top: 1rem;
    /* non-first group top margin */
    --record-heading-top-first: .4rem;
    /* first group tighter */
    --record-heading-bottom: .3rem;
    --record-item-gap: .55rem;
    --record-item-pad-y: .8rem;
    --record-item-pad-x: .85rem;
}

/* Headings inside grouped record sections */
.record-heading {
    font-size: var(--record-heading-size);
    margin: var(--record-heading-top) 0 var(--record-heading-bottom);
    font-family: var(--font-serif);
    font-weight: 600;
    line-height: 1.25;
}

/* First group override */
.record-group:first-of-type .record-heading {
    margin-top: var(--record-heading-top-first);
}

/* Generic ordered/ unordered list reset for records */
.record-list {
    list-style: none;
    margin: 0 0 .6rem;
    padding: 0;
}

.record-list:last-of-type {
    margin-bottom: 0;
}

.record-list.ordered {
    counter-reset: item;
}

/* Base record item (applies to ordered & unordered lists) */
.record-item {
    position: relative;
    background: transparent;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    padding: .85rem .85rem .9rem;
    /* default (no number) */
    margin: 0 0 .55rem;
}

.record-item:last-child {
    margin-bottom: 0;
}

.record-list.ordered>.record-item {
    display: grid;
    grid-template-columns: 0.8rem 1fr;
    column-gap: .25rem;
    align-items: baseline;
    padding: var(--record-item-pad-y) var(--record-item-pad-x) calc(var(--record-item-pad-y) + .05rem);
}

.record-list.ordered>.record-item>* {
    grid-column: 2;
}

.record-list.ordered>.record-item:last-child {
    margin-bottom: 0;
}

.record-list.ordered>.record-item:before {
    counter-increment: item;
    content: counter(item) ".";
    grid-column: 1;
    grid-row: 1;
    font-size: .75rem;
    font-weight: 600;
    color: var(--color-secondary);
    text-align: right;
}

/* Shared title inside item */
.record-item h3 {
    margin: 0 0 .18rem;
    font-size: .95rem;
    font-weight: 400;
}

/* Meta variants */
.record-meta-level {
    font-size: .77rem;
    font-weight: 400;
    color: var(--color-secondary);
    letter-spacing: .4px;
}

.record-meta-period {
    font-size: .6rem;
    color: var(--color-muted);
    letter-spacing: 0;
    margin-bottom: .25rem;
}

.record-meta-advisor {
    font-size: .72rem;
    font-weight: 400;
    color: var(--color-secondary);
}

/* Additional text block inside record */
.record-item p {
    margin: .35rem 0 0;
    font-size: .85rem;
    line-height: 1.5;
}

/* Utility tighter list inside a record */
.record-points,
.record-item .tight-points {
    margin: .3rem 0 0 1rem;
    padding: 0;
    font-size: .82rem;
    line-height: 1.45;
}

.record-points li {
    margin: 0 0 .2rem;
}

.record-points li:last-child {
    margin-bottom: 0;
}

.citation {
    font-size: .95rem;
    line-height: 1.5;
    margin: .15rem 0 0;
}

.record-list.pubs>.record-item {
    padding: .9rem .9rem 1rem;
    margin: 0 0 .7rem;
}