/* ---- Disponibilités Répèts — frontend ---- */

#disporepets-formulaire,
#disporepets-visu {
    font-family: inherit;
    max-width: 100%;
}

.dispo-btn {
    display: inline-block;
    padding: 8px 16px;
    background: #2271b1;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.95em;
    text-decoration: none;
}
.dispo-btn:hover { background: #135e96; color: #fff; }

/* Navigation mois */
#dispo-visu-controls {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 12px 0;
}
#dispo-month-label {
    font-weight: bold;
    font-size: 1.1em;
    text-transform: capitalize;
    min-width: 160px;
    text-align: center;
}
.dispo-btn-nav {
    background: #f0f0f0;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 4px 12px;
    cursor: pointer;
    font-size: 1em;
    line-height: 1.6;
}
.dispo-btn-nav:hover:not(:disabled) { background: #ddd; }
.dispo-btn-nav:disabled { opacity: 0.4; cursor: default; }

/* Titre de mois formulaire */
.dispo-month-title {
    background: #f0f0f0;
    font-weight: bold;
    padding: 6px 10px;
    margin-top: 20px;
    margin-bottom: 4px;
    border-left: 4px solid #2271b1;
    font-size: 1em;
    text-transform: capitalize;
}

/* Scroll horizontal */
.dispo-table-scroll {
    overflow-x: auto;
    margin-bottom: 20px;
}

/* Tables */
.dispo-table {
    border-collapse: collapse;
    width: 100%;
    margin-bottom: 16px;
    font-size: 0.92em;
}
.dispo-table th,
.dispo-table td {
    border: 1px solid #ccc;
    padding: 5px 8px;
    text-align: center;
}
.dispo-table thead th {
    background: #f7f7f7;
    font-weight: 600;
}
.dispo-table tr:nth-child(even) { background: #fafafa; }
.dispo-table td:first-child      { text-align: left; white-space: nowrap; }

/* Dates officielles — fond vert (couvre thème + nth-child) */
.dispo-table tr.dispo-row-officielle,
.dispo-table tr.dispo-row-officielle > td,
.dispo-table tr.dispo-row-officielle:nth-child(even),
.dispo-table tr.dispo-row-officielle:nth-child(even) > td,
.dispo-table tr.dispo-row-officielle:nth-child(odd),
.dispo-table tr.dispo-row-officielle:nth-child(odd) > td {
    background-color: #dcfce7 !important;
    background: #dcfce7 !important;
}
.dispo-badge-off {
    font-size: 0.85em;
    margin-left: 4px;
}

/* Note vacances/férié */
.dispo-note { color: #888; font-size: 0.85em; }

/* Non prononcé */
.dispo-np {
    color: #999;
    font-style: italic;
    font-size: 0.85em;
}

/* Total colonne visu */
.dispo-total { font-weight: bold; color: #2271b1; }

/* Select disponibilité */
.dispo-sel {
    padding: 3px 6px;
    border-radius: 3px;
    border: 1px solid #ccc;
}

/* Statut save */
#dispo-status { margin-top: 10px; font-weight: 500; min-height: 1.4em; }

/* Chart */
#dispo-chart-wrap { margin-top: 24px; max-width: 900px; }

/* Bouton actions formulaire */
#dispo-actions { margin-top: 16px; }

/* Message non connecté */
#dispo-not-logged {
    background: #fff3cd;
    border-left: 4px solid #ffc107;
    padding: 12px 16px;
    border-radius: 2px;
}
