
/* ── Dance page layout ───────────────────────────────────────── */

body.dance {
    font-family: sans-serif;
    max-width: 900px;
    margin: 1em auto;
    padding: 0 1em;
}

.dance-header {
    display: grid;
    grid-template-columns: 1fr 1fr auto;
    gap: 1em;
    align-items: start;
    margin-bottom: 0.75em;
}

.dance-header h1 {
    margin: 0 0 0.2em 0;
    font-size: 1.4em;
}

.source-links a {
    font-size: 0.9em;
}

.byline {
    text-align: center;
    font-size: 0.95em;
    padding-top: 0.3em;
}

.formation {
    font-weight: bold;
    white-space: nowrap;
    padding-top: 0.3em;
}

.dance-body {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2em;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    padding: 0.75em 0;
    margin-bottom: 0.75em;
}

/* ── Figures ─────────────────────────────────────────────────── */

table.figures {
    border-collapse: collapse;
    width: 100%;
}

table.figures td {
    vertical-align: top;
    padding: 1px 4px 1px 0;
    /* font-size: 0.9em; */
}

table.figures .figure-section {
    font-weight: bold;
    white-space: nowrap;
    min-width: 2em;
}

/* ── Calling table ───────────────────────────────────────────── */

details.calling summary {
    cursor: pointer;
    font-weight: bold;
    margin-bottom: 0.5em;
    user-select: none;
}

table.card {
    border-collapse: collapse;
}

table.card td, table.card th  {
    border: 1px solid #DDD;
    padding: 5px;
    font-size: larger;
    min-width: 4em;
    white-space: nowrap;
}

table.card td:nth-of-type(4n + 1):empty::before{
    content: '|';
}

table.card td:empty::before {
    content: "/"
}

/* ── Dance index ─────────────────────────────────────────────── */

table.dance-index {
    border-collapse: collapse;
    width: 100%;
}

table.dance-index td, table.dance-index th {
    border: 1px solid #ddd;
    padding: 6px 12px;
    text-align: left;
}

table.dance-index th {
    background: #f5f5f5;
    font-weight: bold;
}

/* ── Print ───────────────────────────────────────────────────── */

@media print {
    details.calling[open] summary {
        display: none;
    }
}
