.neko-wrapper{
    max-width:1100px;
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:30px;
    align-items:start;
    font-family:inherit;
}

/* responsive */
@media (max-width:900px){
    .neko-wrapper{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:600px){
    .neko-wrapper{grid-template-columns:1fr;}
}

.neko-month{
    padding:10px;
    border:1px solid rgba(0,0,0,0.06);
    background: #ffffff;
    border-radius:10px;
}

.neko-title{
    font-size:18px;
    margin-bottom:10px;
}

/* GRID CALENDAR */
.neko-grid{
    display:grid;
    grid-template-columns:repeat(7, 1fr);
    gap:4px;
}

.neko-head{
    text-align:center;
    font-size:14px;
    opacity:0.6;
}

/* DAYS */
.neko-day{
    text-align:center;
    font-size:14px;
    padding:6px;
    position:relative;
}

/* DOT BASE */
.neko-dot{
    width:15px;
    height:15px;
    border-radius:50%;
    display:block;
    margin:0 auto 2px;
}

/* NUM */
.neko-num{
    font-size:14px;
}

/* =========================
   STATES (VISUAL ONLY)
========================= */

/* libre = vert (injecté via PHP inline color) */

/* occupé = rouge forcé si tu veux override */
.neko-busy .neko-dot{
    background:#ff0000 !important;
}

/* today = bleu + cercle autour du chiffre */
.neko-today{
    font-weight:600;
}

.neko-today .neko-num{
    border:2px solid #624f41;
    border-radius:50%;
    width:20px;
    height:20px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:2px;
}
.neko-past{
    opacity:0.7;
}
.neko-dot-hidden{
    display:none;
}