/* Concert Dates plugin */

.concert-dates-section {
    margin-top: 2.5em;
    text-align: left;
}

/* ── Public table ─────────────────────────────────────── */

.concert-public-table h3 {
    margin-bottom: 0.75em;
    font-size: 1.4em;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.concert-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1.5em;
    font-size: 1em;
}

.concert-table th,
.concert-table td {
    padding: 0.6em 0.9em;
    text-align: left;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.concert-table th {
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.78em;
    letter-spacing: 0.08em;
    border-bottom: 2px solid rgba(255, 255, 255, 0.3);
}

.concert-table tbody tr:nth-child(even) {
    background: rgba(255, 255, 255, 0.05);
}

.concert-table a {
    color: inherit;
    text-decoration: underline;
}

/* Past concerts (collapsed) */

.concert-past {
    margin-top: 1em;
    opacity: 0.65;
}

.concert-past summary {
    cursor: pointer;
    font-size: 0.9em;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 0.5em;
    user-select: none;
}

.concert-past summary:hover {
    opacity: 1;
}

.concert-table-past {
    font-size: 0.9em;
}

/* ── Admin panel ──────────────────────────────────────── */

.concert-admin-panel {
    background: #f8f8f8;
    border: 1px solid #ddd;
    border-radius: 4px;
    padding: 1em 1.25em;
    margin-bottom: 1.75em;
    color: #333;
}

.concert-admin-panel h4 {
    margin: 0 0 0.75em;
    font-size: 1em;
    color: #333;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.concert-admin-panel h4 small {
    font-size: 0.75em;
    font-weight: normal;
    color: #888;
    text-transform: none;
    letter-spacing: 0;
}

.concert-form-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em 0.75em;
    align-items: flex-end;
    margin-bottom: 1em;
}

.concert-form-row label {
    display: flex;
    flex-direction: column;
    font-size: 0.8em;
    font-weight: 600;
    color: #555;
    gap: 3px;
}

.concert-form-row input[type="date"],
.concert-form-row input[type="time"],
.concert-form-row input[type="text"],
.concert-form-row input[type="url"] {
    padding: 0.35em 0.5em;
    border: 1px solid #ccc;
    border-radius: 3px;
    font-size: 1.1em;
    min-width: 120px;
}

.concert-form-row input[name="venue"] {
    min-width: 200px;
}

.concert-form-row input[name="ticketUrl"] {
    min-width: 200px;
}

/* Admin list table */

.concert-admin-panel .concert-admin-list {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9em;
    color: #333;
}

.concert-admin-panel .concert-admin-list th,
.concert-admin-panel .concert-admin-list td {
    padding: 0.4em 0.6em;
    border-bottom: 1px solid #eee;
    text-align: left;
    color: #333;
}

.concert-admin-panel .concert-admin-list th {
    font-size: 0.78em;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #888;
    border-bottom: 2px solid #ddd;
}

.concert-admin-actions {
    white-space: nowrap;
}
