/* Additions (v2) — loaded after _drow.css */
.alertable-drow {
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: min(440px, calc(100vw - 32px));
    z-index: 100000;
}
.alertable-drow .alert-text { white-space: pre-line; }

.calendar td { cursor: default; user-select: none; }
.calendar td.available { cursor: pointer; font-weight: 600; }
.calendar td.available:hover,
.calendar td.available:focus { background: var(--secondary); outline: none; }
.calendar td.past { opacity: .45; }
.hours .list-group-item { cursor: pointer; margin-top: 4px; }
.hours .list-group-item:hover,
.hours .list-group-item:focus { background: var(--secondary); outline: none; }
#getrdv input[readonly] { background-color: transparent; }

.sms-optin {
    background: var(--secondary);
    padding: 12px 12px 12px 2.2em;
    border-radius: 6px;
}
.sms-optin label { color: var(--text); }

.btn:disabled { opacity: .6; transform: none !important; }

/* admin */
.admin-day .rdv { display: flex; justify-content: space-between; align-items: center; gap: 6px; font-size: .9rem; }
.admin-day .rdv.booked { background: #fff3cd; }
.admin-day .rdv .who { font-size: .8rem; color: #555; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-day .buttons a { margin-right: 4px !important; }
.semainesTarget .semaine { padding: 4px 8px; margin: 2px; min-width: 38px; letter-spacing: 0; }
.sms-badge { font-size: .75rem; }
.week-nav .btn { padding: 6px 10px; font-size: 12px; letter-spacing: 0; }
