/* Début du fichier calendar.css */

.rl-month {
    margin-bottom: 50px;
}

.rl-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0,1fr));
    gap: 8px;
    margin-top: 15px;
    text-align: center;
}

.rl-day {
    border: 1px solid #ddd;
    padding: 8px;
    text-align: center;
    border-radius: 8px;
	background:#eeeeee;
    transition: 0.2s;
    cursor: pointer;
    min-height: 60px;
	height:60px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: relative;
}

.rl-day:hover::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 150, 255, 0.2);
	pointer-events: none;
}

.rl-day-number {
    font-weight: bold;
    font-size: 16px;
}

.rl-day-price{
	font-size:12px;
	margin-top:2px;
	line-height:1;
}

.rl-past{
	background:#444;
	color:#eeeeee;
	cursor:not-allowed;
}

/* STRUCTURE 3 ZONES */
.rl-sticky-bar{
	position:fixed;
	bottom:8px; /* espace avec le bas écran */
	left:8px;
	width:calc(100% - 16px); /* marges gauche/droite */
	z-index:9999;

	background:rgba(43,43,43,0.85);
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);

	padding:10px 12px; /* marge interne */
	border-radius:12px; /* effet carte flottante */

	display:grid;
	grid-template-columns: 1fr auto auto;
	align-items:center;
	gap:10px;

	border-top:none; /* inutile avec radius */

	opacity:0;
	pointer-events:none;
	transition:opacity .25s;
}

/* cachée par défaut */
.rl-sticky-bar.rl-hidden{
	opacity:0;
	pointer-events:none;
}

/* résumé à gauche */
.rl-summary-text{
	color:#fff;
	justify-self:start;
	white-space:nowrap;
	font-size:14px;
}
/* résumé à gauche lorsqu'il est en attente de sélection de séjour */
.rl-summary-text--placeholder{
	color:rgba(255,255,255,0.7);
	font-style:italic;
}

/* prix parfaitement centré */
.rl-total{
	justify-self:center;
	margin-left:0;
	font-size:16px;
	font-weight:bold;
	color:#fff;
}

/* bouton à droite */
#rl-reserve-btn{
	justify-self:end;

	background:rgba(0,150,0,0.85);
	backdrop-filter:blur(4px);
	-webkit-backdrop-filter:blur(4px);

	color:white;
	border:none;

	padding:8px 8px; /* réduit */
	border-radius:8px;

	font-size:14px;
	line-height:1.2;

	white-space:normal; /* AUTORISE 2 LIGNES */
	text-align:center;

	width:110px; /* CONTRÔLE LARGEUR */
	min-width:100px;
	max-width:120px;
	
	flex-shrink:0;

	cursor:pointer;
}

#rl-reserve-btn:disabled {
    background:rl-days-sticky #ccc;
    cursor: not-allowed;
}

@media(max-width:480px){

	.rl-sticky-bar{
		grid-template-columns: 1fr 60px auto;
		gap:8px;
	}

	.rl-sticky-bar .rl-texte{
		font-size:13px;
		max-width:50%;
	}

	.rl-total{
		font-size:14px;
	}

	#rl-reserve-btn{
		padding:6px 8px;
		font-size:12px;
		width:100px;
		min-width:90px;
		max-width:110px;
	}
}

.rl-upload-btn{
    display:inline-block;
    padding:2px 5px;
    border:2px dashed #999;
    border-radius:10px;
    background:#ffffff;
    cursor:pointer;
    transition:all .2s;
}

.rl-upload-btn:hover{
    border-color:#333;
    background:#ffffff;
}

.rl-upload-btn input{
    display:none;
}

.rl-pack,
.rl-texte{
	margin-right:6px;
}


.rl-load-more {
    display: block;
    margin: 30px auto;
}

.elementor-element-2d6210d,
.elementor-element-2d6210d .e-con-inner{
	max-width:none!important;
	width:100%!important;
}

body{
	overflow-x:hidden;
	background:#eeeeee;
}

.rl-days-sticky {
    position: sticky;
    top: 50px; /* hauteur du menu via plugin */
    z-index: 1000;
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    text-align: center;
    font-size:14px;
    font-weight: bold;
    padding: 4px 0;
 	background:rgba(255,255,255,0.85); /* IMPORTANT */
	backdrop-filter:blur(6px);
	-webkit-backdrop-filter:blur(6px);
	border-bottom:1px solid rgba(0,0,0,0.08);
}

.rl-split{
	display:flex;
	flex-direction:column;
	height:100%;
	width:100%;
}

.rl-top{
	display:flex;
	justify-content:center;
	align-items:flex-start;
	height:50%;
}

.rl-bottom{
	display:flex;
	justify-content:center;
	align-items:flex-end;
	height:50%;
}

.rl-bottom-right{
	display:flex;
	justify-content:flex-end;
	align-items:flex-end;
	height:50%;
	padding-right:4px;
}

html,body{
	overflow-x:hidden;
}

.archive .ast-article-post .ast-article-inner,
.blog .ast-article-post .ast-article-inner,
.archive .ast-article-post .ast-article-inner:hover,
.blog .ast-article-post .ast-article-inner:hover {
	overflow: visible !important;
}

#rl-calendar{
	position:relative;
	max-height:none;
	min-width:300px;
	width:100%;
	overflow:visible!important;
	padding-bottom: 60px; /* ajuste selon la hauteur réelle de ta barre */
}

#rl-calendar-wrapper{
	position:relative;
	overflow:visible!important;
}

.rl-sticky-wrapper{
	/* plus rien ici, ou supprimer la règle */
}

/* Correction overflow Elementor qui casse position:sticky */
body.page-id-275 {
    overflow: visible !important;
}

/* Fin du fichier calendar.css */
