#rl-calendar {
    max-width: 1200px;
}

.rl-month {
    margin-bottom: 50px;
}

.rl-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 8px;
    margin-top: 15px;
    text-align: center;
}

.rl-day {
    border: 1px solid #ddd;
    padding: 8px;
    text-align: center;
    border-radius: 8px;
    background: #f9f9f9;
    transition: 0.2s;
    cursor: pointer;
    min-height: 60px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rl-day-number {
    font-weight: bold;
    font-size: 16px;
}

.rl-day-price {
    font-size: 13px;
    margin-top: 5px;
}

@media (hover: hover) {
    .rl-day:not(.rl-booked-full):not(.rl-unavailable):not(.rl-past):hover {
    background: #e0f3ff;
	}
}

.rl-half-left-red {
    background: linear-gradient(to right,
        #ff4d4d 50%,
        #f9f9f9 50%);
}

/* Date réservée mais autorisée en checkout */
.rl-half-right-red {
    background: linear-gradient(to right,
        #f9f9f9 50%,
        #ff4d4d 50%);
}

/* Date réservée sélectionnée comme checkout */
.rl-half-right-red.rl-checkout-selected {
    background: linear-gradient(to right,
        #2ecc71 50%,
        #ff4d4d 50%);
    color: white;
}

/* Date sélection normale */
.rl-selected {
    background: #2ecc71;
    color: white;
}

.rl-booked.rl-allowed-checkout {
    cursor: pointer;
}

.rl-past {
    background: #cccccc;
    color: #666;
    cursor: not-allowed;
}

.rl-sticky-bar {
    position: sticky;
    bottom: 0;
    background: #ffffff;
    padding: 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #eee;
    box-shadow: 0 -2px 8px rgba(0,0,0,0.05);
    z-index: 999;
}

.rl-total {
    font-size: 20px;
    font-weight: bold;
}

#rl-reserve-btn {
    background: #2e7d32;
    color: white;
    border: none;
    padding: 12px 10px;
    border-radius: 10px;
    cursor: pointer;
}

#rl-reserve-btn:disabled {
    background: #ccc;
    cursor: not-allowed;
}

.rl-header-day {
    text-align: center;
    font-weight: bold;
}

.rl-popup{
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.6);
    display:flex;
    justify-content:center;
    align-items:center;
    z-index:10000;
}

.rl-popup-content{
    background:white;
    padding:30px;
    border-radius:10px;
    text-align:center;
    max-width:400px;
}

.rl-half-right-green {
    background: linear-gradient(to right,
        #f9f9f9 50%,
        #2ecc71 50%);
}

.rl-half-left-green {
    background: linear-gradient(to right,
        #2ecc71 50%,
        #f9f9f9 50%);
}

.rl-checkout-red-green{
    background:linear-gradient(to right,
        #ff4d4d 50%,
        #2ecc71 50%);
    color:white;
}

.rl-booked-full{
	background:#ff4d4d;
	color:white;
}

.rl-ongoing{
	background:#ff9800;
	color:white;
}

.rl-unavailable{
	background:#ff4d4d;
	color:white;
}

.rl-half-left-green-right-red{
	background:linear-gradient(to right,
		#2ecc71 50%,
		#ff4d4d 50%);
	color:white;
}

.rl-booked-full,
.rl-unavailable,
.rl-past,
.rl-disabled{
    cursor:not-allowed;
}

.rl-upload-btn input[type=file]{
	display:none;
}

.rl-upload-btn{
    display:inline-block;
    padding:2px 5px;
    border:2px dashed #999;
    border-radius:10px;
    background:#fafafa;
    cursor:pointer;
    transition:all .2s;
}

.rl-upload-btn:hover{
    border-color:#333;
    background:#f0f0f0;
}

.rl-upload-btn input{
    display:none;
}

.rl-show-more{
    display:block;
    margin:30px auto;
    padding:12px 20px;
    font-size:16px;
    cursor:pointer;
}

.rl-ongoing-full{
	background:#ff9800;
	color:white;
}

.rl-half-left-orange{
	background:linear-gradient(to right,
		#ff9800 50%,
		#f9f9f9 50%);
	color:white;
}

.rl-half-right-orange{
	background:linear-gradient(to right,
		#f9f9f9 50%,
		#ff9800 50%);
	color:white;
}