/* ============================================================
   Choir Repertoire Pro — Frontend CSS
   ============================================================ */

/* ── Variáveis ─────────────────────────────────────────────── */
:root {
    /* Cores base — sobrescritas via Definições → Cores */
    --crp-primary:     #1e3a5f;
    --crp-accent:      #c8a951;
    --crp-light:       #f4f6f9;
    --crp-border:      #d0d7e3;
    --crp-text:        #2c2c2c;
    --crp-muted:       #6b7280;
    --crp-success:     #16a34a;
    /* Tabela */
    --crp-thead-bg:    #1e3a5f;
    --crp-thead-text:  #ffffff;
    --crp-row-hover:   #f4f6f9;
    --crp-link:        #1e3a5f;
    --crp-link-hover:  #c8a951;
    /* Outros */
    --crp-radius:      6px;
    --crp-shadow:      0 2px 8px rgba(0, 0, 0, .08);
    --crp-font:        inherit;
}

/* ── Acessos negados ────────────────────────────────────────── */
.crp-access-denied {
    background: var(--crp-light);
    border: 1px solid var(--crp-border);
    border-left: 4px solid var(--crp-accent);
    border-radius: var(--crp-radius);
    padding: 1.5rem 2rem;
    text-align: center;
    margin: 1.5rem 0;
}
.crp-lock-icon {
    display: block;
    font-size: 2rem;
    margin-bottom: .5rem;
}
.crp-access-message {
    color: var(--crp-text);
    margin-bottom: 1rem;
    font-size: 1rem;
}

/* ── Botões ─────────────────────────────────────────────────── */
.crp-btn {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .55rem 1.2rem;
    border-radius: var(--crp-radius);
    font-size: .9rem;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    transition: background .2s, transform .1s;
}
.crp-btn:hover { transform: translateY(-1px); }
.crp-btn-login {
    background: var(--crp-primary);
    color: #fff;
}
.crp-btn-login:hover { background: #15304f; color: #fff; }
.crp-btn-download {
    background: var(--crp-accent);
    color: #fff;
}
.crp-btn-download:hover { background: #b8952e; color: #fff; }
.crp-btn-midi {
    background: var(--crp-primary);
    color: #fff;
}
.crp-btn-midi:hover { background: #15304f; color: #fff; }

/* ── Partitura PDF ──────────────────────────────────────────── */
.crp-score-wrap {
    border: 1px solid var(--crp-border);
    border-radius: var(--crp-radius);
    overflow: hidden;
    box-shadow: var(--crp-shadow);
    margin: 1.5rem 0;
}
.crp-score-viewer iframe {
    display: block;
    width: 100%;
}
.crp-score-actions {
    padding: .75rem 1rem;
    background: var(--crp-light);
    border-top: 1px solid var(--crp-border);
    display: flex;
    gap: .75rem;
}

/* ── Audio players ──────────────────────────────────────────── */
.crp-audio-wrap,
.crp-satb-wrap {
    margin: 1rem 0;
}
.crp-audio-player {
    display: block;
    width: 100%;
    margin-top: .5rem;
}
.crp-audio-label {
    color: var(--crp-primary);
    margin-bottom: .25rem;
}
.crp-voice-track {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: .5rem 0;
    border-bottom: 1px solid var(--crp-border);
}
.crp-voice-track:last-child { border-bottom: none; }
.crp-voice-label {
    min-width: 90px;
    font-weight: 700;
    color: var(--crp-primary);
}
.crp-voice-track audio { flex: 1; }

/* ── MIDI ───────────────────────────────────────────────────── */
.crp-midi-wrap { margin: 1rem 0; }

/* ── Tabela de info ─────────────────────────────────────────── */
.crp-info-table {
    border-collapse: collapse;
    width: 100%;
    margin: 1rem 0;
    font-size: .9rem;
}
.crp-info-table th,
.crp-info-table td {
    padding: .5rem .75rem;
    border: 1px solid var(--crp-border);
    text-align: left;
}
.crp-info-table th {
    background: var(--crp-light);
    font-weight: 600;
    color: var(--crp-primary);
    width: 35%;
}
.crp-info-table tr:nth-child(even) td {
    background: rgba(0,0,0,.02);
}

/* ── Lista de músicas ───────────────────────────────────────── */
.crp-list-wrap { margin: 1.5rem 0; }

.crp-search-form {
    display: flex;
    gap: .5rem;
    margin-bottom: 1.25rem;
    align-items: center;
}
.crp-search-form input[type="search"] {
    flex: 1;
    padding: .5rem .75rem;
    border: 1px solid var(--crp-border);
    border-radius: var(--crp-radius);
    font-size: .95rem;
}
.crp-search-form button {
    padding: .5rem 1rem;
    background: var(--crp-primary);
    color: #fff;
    border: none;
    border-radius: var(--crp-radius);
    cursor: pointer;
    font-size: .9rem;
}
.crp-search-form button:hover { background: #15304f; }
.crp-search-form a {
    color: var(--crp-muted);
    font-size: 1.1rem;
    text-decoration: none;
}

.crp-repertoire-table {
    width: 100%;
    border-collapse: collapse;
    font-size: .9rem;
    box-shadow: var(--crp-shadow);
    border-radius: var(--crp-radius);
    overflow: hidden;
}
.crp-repertoire-table thead {
    background: var(--crp-thead-bg);
    color: var(--crp-thead-text);
}
.crp-repertoire-table thead th {
    padding: .75rem 1rem;
    text-align: left;
    font-weight: 600;
}
.crp-repertoire-table tbody tr {
    border-bottom: 1px solid var(--crp-border);
    transition: background .15s;
}
.crp-repertoire-table tbody tr:hover {
    background: var(--crp-row-hover);
}
.crp-repertoire-table td {
    padding: .65rem 1rem;
    vertical-align: middle;
}
.crp-col-num { text-align: center; font-weight: 700; width: 50px; }
.crp-col-title a {
    color: var(--crp-link);
    font-weight: 600;
    text-decoration: none;
}
.crp-col-title a:hover { color: var(--crp-link-hover); }
.crp-col-files { text-align: center; white-space: nowrap; }

.crp-badge {
    display: inline-block;
    padding: .15rem .45rem;
    border-radius: 3px;
    font-size: .75rem;
    font-weight: 700;
    margin: 0 .1rem;
}
.crp-badge-pdf  { background: #fee2e2; color: #b91c1c; }
.crp-badge-mp3  { background: #d1fae5; color: #065f46; }
.crp-badge-midi { background: #dbeafe; color: #1d4ed8; }

.crp-no-results {
    text-align: center;
    color: var(--crp-muted);
    padding: 2rem;
}

/* Paginação */
.page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin: .25rem .1rem;
    border: 1px solid var(--crp-border);
    border-radius: var(--crp-radius);
    text-decoration: none;
    color: var(--crp-primary);
    font-size: .9rem;
    transition: background .15s;
}
.page-numbers.current,
.page-numbers:hover {
    background: var(--crp-primary);
    color: #fff;
    border-color: var(--crp-primary);
}
.page-numbers.dots { border: none; }

/* ── Notices ────────────────────────────────────────────────── */
.crp-notice {
    color: var(--crp-muted);
    font-style: italic;
    margin: .75rem 0;
}

/* ── Responsivo ─────────────────────────────────────────────── */
@media (max-width: 640px) {
    .crp-repertoire-table thead th:nth-child(4),
    .crp-repertoire-table tbody td:nth-child(4),
    .crp-repertoire-table thead th:nth-child(5),
    .crp-repertoire-table tbody td:nth-child(5) {
        display: none;
    }
    .crp-voice-track {
        flex-direction: column;
        align-items: flex-start;
    }
    .crp-voice-track audio { width: 100%; }
}
