/* ============================================================
   MAIN FRONTEND WRAPPER
============================================================ */
.prj-setlist-wrapper {
    width: 100%;
}

/* ============================================================
   HEADER
============================================================ */
.prj-setlist-header {}

.prj-setlist-title {
    margin-bottom: 4px;
}

.prj-setlist-meta {
    opacity: 0.8;
    font-size: 0.9rem;
}

/* ============================================================
   STATUS MESSAGE
============================================================ */
.prj-setlist-message {
    margin: 10px 0 20px 0;
    font-size: 0.95rem;
}

/* ============================================================
   TABLE WRAPPER
============================================================ */
.prj-setlist-table-wrapper {
    overflow-x: auto;
}

/* ============================================================
   SONGS TABLE
============================================================ */
.prj-setlist-table {
    width: 100%;
    border-collapse: collapse;
}

.prj-setlist-table th,
.prj-setlist-table td {
    padding: 6px 10px;
    border-bottom: 1px solid rgba(255,255,255,0.10);
    vertical-align: middle;
}

/* Center all instrument cells */
.prj-col-gtr1,
.prj-col-gtr2,
.prj-col-bass,
.prj-col-drums,
.prj-col-keys,
.prj-col-bvox,
.prj-col-other {
    text-align: center;
    min-width: 80px;
}

/* Highlight when a slot is filled (not just "-") */
.prj-setlist-table td:not(:empty):not(:contains("-")) {
    font-weight: 600;
}

/* ============================================================
   INSTRUMENT DROPDOWN + LABEL LOGIC
============================================================ */

/* Default: show label, hide select */
.prj-setlist-wrapper .prj-instr-label {
    display: inline-block;
}

.prj-setlist-wrapper .prj-instr-select {
    display: none;
    min-width: 110px;
}

/* Edit mode: show select, hide label */
.prj-setlist-wrapper.prj-edit-mode .prj-instr-label {
    display: none;
}

.prj-setlist-wrapper.prj-edit-mode .prj-instr-select {
    display: inline-block;
}

/* ------------------------------------------------------------
   SINGERS VISIBILITY
   Visible ONLY in: Open for Songs, Open for Instruments
   Hidden in: Planning, Voting, Final, Archived
------------------------------------------------------------ */

html.prj-status-planning .prj-hide-singers-class,
html.prj-status-voting .prj-hide-singers-class,
html.prj-status-final .prj-hide-singers-class,
html.prj-status-archived .prj-hide-singers-class {
    display: none !important;
}

/* ------------------------------------------------------------
   INSTRUMENTALISTS VISIBILITY
   Visible ONLY in Open for Instruments
   Hidden in: Planning, Open for Songs, Voting, Final, Archived
------------------------------------------------------------ */

html.prj-status-planning .prj-hide-instrumentalists-class,
html.prj-status-open_songs .prj-hide-instrumentalists-class,
html.prj-status-voting .prj-hide-instrumentalists-class,
html.prj-status-final .prj-hide-instrumentalists-class,
html.prj-status-archived .prj-hide-instrumentalists-class {
    display: none !important;
}

/* Make sure they actually show in Open for Instruments */
html.prj-status-open_instruments .prj-hide-instrumentalists-class {
    display: block !important;
}

/* Make sure this actually shows in Open for Songs also */
html.prj-status-open_songs .prj-hide-singers-class  {
    display: block !important;
}


/* Slight polish for the select box inside table */
.prj-instr-select {
    padding: 3px 4px;
    font-size: 0.85rem;
}

.prj-backup-tooltip {
    background: #1a1a1a;
    color: #ff59bf;
    padding: 6px 10px;
    border-radius: 4px;
    font-size: 11px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.4);
    max-width: 260px;
    display: none;
}


/* ============================================================
   SHOWCASE MODE
============================================================ */
/* Hide ALL instrument columns completely */
.prj-showcase-instruments .prj-col-gtr1,
.prj-showcase-instruments .prj-col-gtr2,
.prj-showcase-instruments .prj-col-bass,
.prj-showcase-instruments .prj-col-drums,
.prj-showcase-instruments .prj-col-keys,
.prj-showcase-instruments .prj-col-bvox,
.prj-showcase-instruments .prj-col-other {
    display: none !important;
}

/* Hide Artist + Song columns */
.prj-showcase-songs .prj-col-artist,
.prj-showcase-songs .prj-col-title {
    display: none !important;
}

/* PRJ - jQuery UI Autocomplete for Singer Form */
.ui-autocomplete {
    position: absolute;
    z-index: 999999;
    background: #050505;
    border: 1px solid #444;
    max-height: 260px;
    overflow-y: auto;
    overflow-x: hidden;
    list-style: none;
    margin: 2px 0 0 0;
    padding: 4px 0;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.6);
    font-size: 14px;
}

.ui-autocomplete li {
    margin: 0;
    padding: 0;
}

.ui-menu-item-wrapper {
    display: block;
    padding: 6px 10px;
    color: #f0f0f0;
    cursor: pointer;
}

.ui-menu-item-wrapper.ui-state-active {
    background: #ff59bf;
    color: #050505;
}


/* ============================================================
CSS FOR FRONTEND SHORTCODE
============================================================ */
.prj-upcoming-list {
    max-width: 750px;
    margin: 2rem auto;
}

.prj-upcoming-item {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 32px;
}

/* LEFT: image */
.prj-upcoming-img-wrap {
    flex: 0 0 auto;
}

.prj-upcoming-img {
    width: 110px;
    height: 110px;
    object-fit: cover;
    border-radius: 50% !important;
}

/* RIGHT: content */
.prj-upcoming-content {
    flex: 1 1 auto;
}

/* Title */
.prj-upcoming-title {
    font-size: 16px;
    font-weight: 700;
    color: #ff59bf;
    text-decoration: none;
    display: block;
    margin-bottom: 4px;
}

.prj-upcoming-title:hover {
    text-decoration: underline;
}

/* META: DATE + VENUE (KEEP UPPERCASE) */
.prj-upcoming-meta {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #eee;
    opacity: 0.85;
}

/* STATUS ROW */
.prj-upcoming-status-row {
    margin-top: 6px;
}

/* "Status:" label (NOT uppercase) */
.prj-upcoming-status-label {
    color: #ffffff;
    font-weight: 600;
    opacity: 0.7;
    margin-right: 6px;
    text-transform: none !important; 
}

/* Status value (uppercase + bigger) - default color */
.prj-upcoming-status {
    font-weight: 700;
    font-size: 16px;
    text-transform: uppercase;
    color: #eee; /* default */
}

/* GREEN only for OPEN FOR SONGS / OPEN FOR INSTRUMENTS */
.prj-upcoming-status.prj-status-open_songs,
.prj-upcoming-status.prj-status-open_instruments {
    color: #beff01;
}

@media (max-width: 600px) {
    .prj-upcoming-list {
        padding: 0 16px;
    }
}

/* 2-column layout when columns="2" */
.prj-upcoming-list.prj-list-grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px 24px;
}

.prj-upcoming-list.prj-list-grid-2 .prj-upcoming-item {
    margin-bottom: 0;
}

/* Stack to 1 column on small screens */
@media (max-width: 700px) {
    .prj-upcoming-list.prj-list-grid-2 {
        grid-template-columns: 1fr;
    }
}

.prj-setlists-pagination {
    margin: 2rem auto 0;
    display: flex;
    align-items: center;
    justify-content: center;  /* center horizontally */
    gap: 16px;
    text-align: center;
}

.prj-setlists-page-link {
    display: inline-block;
    padding: 6px 10px;
    border-radius: 999px;
    border: 1px solid #444;
    text-decoration: none;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #eee;
}

.prj-setlists-page-link:hover {
    border-color: #beff01;
    color: #beff01;
}

.prj-setlists-page-info {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #aaa;
}

.prj-upcoming-venue-address-link {
	font-size: 13px;
	opacity: 0.8;
}

.prj-setlist-venue-address {
	font-size: 13px;
}

.prj-venue-info-link {
	font-size: 15px;
	text-transform: capitalize;
}