/* --- GLOBALS & TYPO --- */
.cb-admin-wrap, 
.cb-card, 
.cb-public-v {
    font-family: "neulis-sans", sans-serif !important;
    color: #222;
    box-sizing: border-box;
}

/* --- TOOLBAR ADMIN --- */
.cb-toolbar {
    background: #fff;
    padding: 20px;
    border: 1px solid #ebebeb;
    border-radius: 12px;
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 30px;
}

/* --- CONTAINER CALENDRIER --- */
.cb-card {
    max-width: 400px;
    background: #fff;
    border: 1px solid #ebebeb;
    padding: 25px;
    border-radius: 12px;
}

/* --- NAVIGATION & CHEVRONS --- */
.cb-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
}

.cb-month-title {
    font-weight: 600;
    font-size: 16px;
    text-transform: capitalize;
}

.cb-nav-btn {
    background: none;
    border: none;
    cursor: pointer;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease;
    position: relative;
    text-indent: -9999px; /* Cache le texte Précédent/Suivant */
}

.cb-nav-btn:hover {
    background-color: rgba(0, 0, 0, 0.05);
}

/* Dessin du Chevron Gauche */
.cb-nav-btn:first-child::before {
    content: "";
    width: 8px;
    height: 8px;
    border-left: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg);
    position: absolute;
    left: 12px;
}

/* Dessin du Chevron Droit */
.cb-nav-btn:last-child::before {
    content: "";
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    transform: rotate(45deg);
    position: absolute;
    right: 12px;
}

/* --- GRILLES (HEADER & JOURS) --- */
.cb-week-header, 
.cb-grid {
    display: grid !important;
    grid-template-columns: repeat(7, 1fr) !important;
    text-align: center;
}

.cb-week-header {
    font-weight: 600;
    font-size: 12px;
    color: #717171;
    margin-bottom: 15px;
}

.cb-grid {
    gap: 2px;
}

.cb-day {
    aspect-ratio: 1/1;
    display: flex !important;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 600;
    border-radius: 50%;
    transition: all 0.2s;
    border: 1px solid transparent;
}

/* --- ÉTAT OCCUPÉ (COMMUN) --- */
.cb-day.is-busy {
    text-decoration: line-through !important;
    color: #b0b0b0 !important;
    background: transparent !important;
    cursor: default !important;
}

/* --- COMPORTEMENT ADMIN --- */
.cb-admin-wrap .cb-card {
    box-shadow: 0 6px 16px rgba(0,0,0,0.05);
}

.cb-admin-wrap .cb-nav-btn {
    color: #222;
}

.cb-admin-wrap .cb-day:not(.is-busy) {
    cursor: pointer;
}

.cb-admin-wrap .cb-day:not(.is-busy):hover {
    background: #f7f7f7;
    border: 1px solid #222;
}

/* --- COMPORTEMENT FRONT (PUBLIC) --- */
.cb-public-v .cb-card {
    background: var(--secondaire-4) !important;
    border: none !important;
    box-shadow: none !important;
}

.cb-public-v .cb-month-title,
.cb-public-v .cb-week-header,
.cb-public-v .cb-nav-btn,
.cb-public-v .cb-day:not(.is-busy) {
    color: var(--primaire-2) !important;
}

.cb-public-v .cb-day {
    cursor: default !important;
}

.cb-public-v .cb-day:hover {
    background: none !important;
    border: 1px solid transparent !important;
}

/* --- INFOS SAVE ADMIN --- */
#save-status {
    font-weight: 600;
    font-size: 13px;
    margin-left: 10px;
}

/* --- NEUTRALISATION DES EFFETS NATIFS --- */
.cb-nav-btn, 
.cb-day, 
button, 
select {
    outline: none !important; /* Supprime le contour bleu/violet au clic */
    -webkit-tap-highlight-color: transparent; /* Supprime le flash gris/bleu sur mobile */
}

/* --- ÉTAT ACTIVE DES CHEVRONS --- */
.cb-nav-btn:active {
    transform: scale(0.95); /* Petit effet d'enfoncement discret au lieu de la couleur */
    background-color: rgba(0, 0, 0, 0.1);
}

/* --- COMPORTEMENT FRONT (PUBLIC) --- */
.cb-public-v .cb-nav-btn:focus,
.cb-public-v .cb-nav-btn:active {
    background: none !important; /* Pas de fond au clic en front */
    box-shadow: none !important;
}