/*
Scheme: Planyo Default
Description: Mobile Calendar Sylesheet
*/

/*
CSS STRUCTURE:

1. GENERAL 
        - Google font import & General Style

2. GENERAL CALENDAR STYLES  
        - General
        - Calendar info legend
        - Seasons

3. DAY BASED CALENDAR 
4. HOUR BASED CALENDAR   
5. UPCOMING CALENDAR
*/

/*===============================================*/
/* 1. GENERAL */
/*===============================================*/

/*------------------------------------*/
/* Google font import & General Style */
/*------------------------------------*/ 
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,700);
@import url('https://fonts.googleapis.com/css?family=Lato');
.planyo,html {
    -webkit-font-smoothing: antialiased;
    font-family: 'Lato', Arial, sans-serif;
    font-weight:100;
    font-size:medium;
    -webkit-font-smoothing: antialiased;
}
.planyo, body{
    margin:0px;
    padding:0px;
}
/* Links 
===================================*/

/* Typography
===================================*/


/* Logo
===================================*/

/*===============================================*/
/* 2. GENERAL CALENDAR STYLES                    */
/*===============================================*/

/* Previous/Next Icon and Text
===================================*/
a.earlier{
    float: left;
    background: transparent url("https://www.planyo.com/images/left-arr.png") no-repeat center left;
    padding-left: 20px;
    text-transform: uppercase;
    text-decoration:none
}
a.later{
    float:right;
    background: transparent url("https://www.planyo.com/images/right-arr.png") no-repeat center right;
    padding-right: 25px;
    text-transform: uppercase;
    background-size:initial;
    text-decoration:none
}
a.earlier.singlenav{margin-left:3%;}
a.later.singlenav{margin-right:3%;}
/*------------------------------------*/
/* Calendar info legend */
/*------------------------------------*/ 
#cal_legend_info{
    clear:both;
}

#legend_av,#legend_unav,#legend_stdate {
    display:none;
}
#legend_av_txt{
    color:#333;
}

#legend_mornav_txt{  background: url(https://www.planyo.com/images/diagonal2nox.png);
  background-repeat: no-repeat;
  background-color: #f0c2c2;}
#legend_mornocc_txt  {background: url(https://www.planyo.com/images/diagonal1nox.png);
  background-repeat: no-repeat;
  background-color: #c2dfd0;  }
.cal_legend_seas{
    display:none;
}
.cal_legend_text{
    font-size: 12px;
    float: left;
    padding: 3px 5px 1px 5px;
    margin-right: 5px;
}
#legend_mornav,#legend_mornocc{display:none;}
.cal_legend_partav,.cal_legend_res{float:left;}
#cal_legend_info{
    padding:2%;
}
.legend_and_icon{  
    float: left;
    padding-bottom: 2pt;}
/*------------------------------------*/
/* Seasons                            */
/*------------------------------------*/ 
#cal td.cuscol_33FF33, #calendar_nav td.cuscol_33FF33 {
    border-bottom: 3px solid #33FF33;
}

#cal td.cuscol_A8314F, #calendar_nav td.cuscol_A8314F {
    border-bottom: 3px solid #A8314F;
}

#cal td.cuscol_yellow, #calendar_nav td.cuscol_yellow {
    border-bottom: 3px solid yellow;
}

#cal td.cuscol_81FCF6, #calendar_nav td.cuscol_81FCF6 {
    border-bottom: 3px solid #81FCF6;
}

#cal td.cuscol_FFBAF1, #calendar_nav td.cuscol_FFBAF1 {
    border-bottom: 3px solid #FFBAF1;
}

#cal td.cuscol_999999, #calendar_nav td.cuscol_999999 {
    border-bottom: 3px solid #999999;
}

#cal td.cuscol_B84DFF, #calendar_nav td.cuscol_B84DFF {
    border-bottom: 3px solid #B84DFF;
}

#cal td.cuscol_4D4DFF, #calendar_nav td.cuscol_4D4DFF {
    border-bottom: 3px solid #4D4DFF;
}

#cal td.cuscol_DADAD2, #calendar_nav td.cuscol_DADAD2 {
    border-bottom: 3px solid #DADAD2;
}
#cal td.cuscol_ECDC81, #calendar_nav td.cuscol_ECDC81 {
    border-bottom: 3px solid #ECDC81;
}
#cal td.cuscol_CEF0FF, #calendar_nav td.cuscol_CEF0FF {
    border-bottom: 3px solid #CEF0FF;
}
#cal td.cuscol_D1FFB3, #calendar_nav td.cuscol_D1FFB3 {
    border-bottom: 3px solid #D1FFB3;
}
#cal td.cuscol_FFA4A4, #calendar_nav td.cuscol_FFA4A4 {
    border-bottom: 3px solid #FFA4A4;
}

/*------------------------------------*/
/*Messages,Error,Help                 */
/*------------------------------------*/ 

/*===============================================*/
/* 3. DAY BASED CALENDAR                             */
/*===============================================*/
table.calpicker{
    width:100%;
    font-size:medium;
}
.days,.hours2{
    background: #444;
}
/* Header row - Month
===================================*/
.days th{
    font-weight: initial;
    font-size: 18pt;
    color:white;
    padding:1% 0%;
}
/* Header row - Days 
===================================*/
.hours2 th{
    font-weight:100;
    color:white;
    padding:2%;
    font-size:medium;
}
/* Days
===================================*/
.calpicker td{
    text-align: center;
    vertical-align: middle;
    padding:2%;
}
td.active_day_nox{
    background-color: #cfdfd0;
    color: white;
}

.calpicker .ext_month_day_nox,.calpicker .ext_month_day_nox_u, .calpicker .ext_month_day_nox_r{
    color:#cdcdcd;
}

td.reserved_nox{
    color: #a0a0a0;
    border-bottom: 3px solid #f4f4f4;
}
/*===============================================*/
/* 4. HOUR BASED CALENDAR                             */
/*===============================================*/
/* Header row
===================================*/
.hours.hours1{
    background:#444;
    color:white;
}
.hours.hours1 th{
    font-size:medium;
    font-weight:100;
    padding:1pt;
}
/* Hours column
===================================*/
#cal td.day{
    font-size: 14pt;
    text-align: center;
}
#cal td {
    border: 1px solid #F8F8F8;
    font-size: 10px;
    text-align: center;
    width: 10%;
    padding:1% 0%;
}
#horizontal_calendar .cal_legend{
    margin-left:initial;
}
#horizontal_calendar .reserved{
    background: #f0c2c2;
    font-size:14pt;
}
#horizontal_calendar .unavailable {
    background: #f0c2c2;
}
#horizontal_calendar .available{
    background: #c2dfd0;
    font-size:14pt;
}
#horizontal_calendar caption{padding:10px 0px;}
/*===============================================*/
/* 5. UPCOMING CALENDAR                             */
/*===============================================*/
.upcoming{
    width: 100%;
    display: inline-block;
}
.upcoming .av_nav {
    width: 100%;
    text-align: -webkit-center;
    margin: 7pt 0pt;
    line-height:1.7em;
}
#horizontal_calendar a, #week_contents a, #month_contents a, #day_contents a {
    color: #3D83A8;
    text-decoration:none;
}
.upcoming .av_day_group {
    width: 100%;
    clear:both;
}
.upcoming .av_day_group .av_date {
    clear: left;
    float: left;
    padding:6pt 0pt;
}
.upcoming .av_month{
    font-size: x-large;
    text-align: center;
    text-transform: uppercase;
    color: #444;
}
.upcoming .av_time.av_time_h,span.unav_txt.unav_txt_h{
    width: 50%;
    float: right;
    clear: right;
    padding: 5pt 0pt;
    margin:5pt 0pt;
    text-align: center;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
}
span.unav_txt.unav_txt_h{
    background-color: #f0c2c2;
}
.upcoming .av_day_group .av_time.av_time_day, .result_range,.unav_txt.unav_txt_d {
    display:block;
    clear:both;
    font-size: medium;
    width: 100%;
    color:#333;
    padding: 5pt 0pt;
    margin: 4pt 0pt;
    text-align: center;
    background-color: #c2dfd0;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
}
.upcoming .av_day_group .av_time, .result_range{
    background-color: #c2dfd0; 
}
.upcoming .unav_txt.unav_txt_d{
    background-color: #f0c2c2;
}
.upcoming .av_day_group .av_time:hover {
    text-decoration: none;
    color:#3D83A8;
    cursor:pointer;
}
.upcoming .av_day_group .av_res {
float: left;
clear: left;
color: grey;
padding: 5pt 0pt;
font-size: medium;
margin: 5pt 0pt;
}

/* ================================== */
/* new upcoming availability calendar */
/* ================================== */
#caltop #quick_nav_div{position: absolute;margin-left: 15px; z-index: 1;}
#caltop #quick_nav_div:hover{cursor:pointer;}
#upcoming-top .horiz-shift-month{color: #a9b6c5;margin-left: 30px;}
#upcoming-top .date_container{font-family: 'Open Sans', sans-serif!important;font-size:20px;  color: #a9b6c5;height:30px;white-space:nowrap;}
#upcoming-top .date_container .fa{color:#428bca;}
#upcoming-top .caption.today,#upcoming-top .today{color:#428bca;}
.poweredby{float: right;margin-right: 15px;}
#upcoming-top .caption{font-family: 'Open Sans', sans-serif!important;font-size:20px; padding-bottom: 5px; color: #a9b6c5;font-weight:bold;text-align: center;}
#upcoming-top .caption span {text-transform: uppercase; font-weight: 100; font-size: 14px!important; line-height: 1.428571429;}

#upcoming-top article{    white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}
#upcoming-top .thumbnail {position: relative; cursor:pointer; background-color: #C2DFD0; color: #001e40;  font-size: small; border: 1px solid #b4cfc1; border-radius: 0;padding: 4px 2px 4px 15px; margin:4px 0px; font-size:small;}
#upcoming-top.single-res .thumbnail{text-align: center;
 padding: 4px 0px;}
#upcoming-top .thumbnail:hover {background-color: #428bca; color:white;}
.calendar-fluid#upcoming-top .row {
    margin-left: 0;
    margin-right: 0;
}
#upcoming-top .fa-chevron-right {float: right; margin-top: 5px; color: #428bca;}
#upcoming-top .fa-chevron-left{float: left; margin-top: 5px; color: #428bca;}
#upcoming-top .visible-xssm-block{display:none!important;}
#upcoming-top p.showmore,#upcoming-top p.showprev,#upcoming-top p.shownext {border: 1px solid #a9b6c5; border-radius: 0; padding: 4px 2px; margin: 4px 0px; font-size: small;color:#428bca;cursor:pointer;}
#upcoming-top p.showmore:hover,#upcoming-top p.showprev:hover,#upcoming-top p.shownext:hover {border:1px solid #428bca;}
#upcoming-top.upcoming-day-single .col-xs-10:hover {background-color: #428bca;color:white;cursor:pointer;}
#upcoming-top.upcoming-day-single .row.show-more:hover {background-color:transparent;}
#upcoming-top.upcoming-day-single .row {margin-bottom: 1px;margin-left:0px;margin-right:0px;}
#upcoming-top .upcoming-box.col-xs-2 {width:16%;padding:0px;}
#upcoming-top .upcoming-box.col-xs-2-range {width:33%;}
#upcoming-top .col-xs-10.col-xs-range{
    width: 66.33333333%;
}
#upcoming-top .upcoming-box {background-color:#C2DFD0; font-family: 'Open Sans', sans-serif!important; color: white; text-align: center;}
.upcoming-day{font-size: 22px; font-weight: 600; padding: 8px 0 0 0; line-height: 18px;}
#upcoming-top .upcoming-month{padding-bottom: 6px;}	#upcoming-top .upcoming-content{display: table-cell; vertical-align: middle; height: 50px;padding-left:15px; font-size: 16px; color: white;}
#upcoming-top.upcoming-day-single .col-xs-10 {background: #96c1ab;margin-left: 1px; height: 52px;}
#upcoming-top.upcoming-day-single .row.show-more{margin-right:0px;}
#upcoming-top .fa-chevron-left:hover,#upcoming-top .fa-chevron-right:hover{cursor:pointer;}
#upcoming-top .rows-clip-out {overflow:hidden;width:100%;}
#upcoming-top .rows-clip-days {transition: margin-top 0.6s linear;}
#upcoming-top p.text-center.showprev {
    width: 49.5%;
    float: left;
}
#upcoming-top p.text-center.shownext {
    width: 49.5%;
    float: right;
}
 .visible-xs-planyo,.visible-sm-planyo,.visible-md-planyo,.visible-lg-planyo,.visible-xl-planyo{display:none!important;}
 
.upcoming-day-group{
	float:left;
	position: relative;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px;
	}

.upcoming-day-group{width:100%;}
.single-res .upcoming-day-group{width:50%;}


@media (min-width: 500px){	
	.upcoming-day-group{width:50%;}	
	.single-res .upcoming-day-group{width: 33.33333333%;}
}
		
@media (min-width: 768px){
	.upcoming-day-group{width: 33.33333333%;}		
	.single-res .upcoming-day-group{width:20%;}	
}
	
@media (min-width: 1200px){
	.upcoming-day-group{width: 20%;}	
	.single-res .upcoming-day-group{width:14.2857142857%;}	
}

@media (min-width: 1800px){
	.upcoming-day-group{width: 14.2857142857%;}
	.single-res .upcoming-day-group{width:10%;}	
	.visible-xl-planyo{display: block!important;}
}

@media (max-width: 1799px) and (min-width: 1200px){
	#upcoming-top .planyo-hidden-lg{display: none!important;}
	.visible-lg-planyo{display: block!important;}
}

@media (max-width: 1199px) and (min-width: 768px){
	#upcoming-top .planyo-hidden-md {display: none!important;}
	.visible-md-planyo{display: block!important;}
}
@media (max-width: 767px) and (min-width: 500px){
	#upcoming-top .planyo-hidden-sm {display: none!important;}
	.visible-sm-planyo{display: block!important;}
}
@media (max-width: 499px){	
	.planyo-hidden-xs{display: none!important;}
	.visible-xs-planyo {display: block!important;}
}

/* =============================== */
/* responsive multi-month calendar */
/* =============================== */
.resp-caltop {
    text-align: center;
}
.monthly-fluid .calpicker,.monthly-fluid .calpicker th{font-family: 'Open Sans', sans-serif!important;}
.monthly-fluid .fa-chevron-left:hover, .fa-chevron-right:hover{cursor:pointer;}
.monthly-fluid .fa-chevron-left {
    float: left;
    padding-left: 2%;
    color: #428bca;
}
.monthly-fluid .fa-chevron-right {
    float: right;
    padding-right: 2%;
    color: #428bca;
}
.monthly-fluid .calpicker {
	width:100%;
    margin: 0;
    line-height: 100%;
    clear: both;
    border-collapse: collapse;
    background-color: white;
}
.monthly-fluid table.calpicker {
    width: 100%;
    font-size: 14px;
    text-align: left;
    list-style: none;
}
.monthly-fluid .calpicker td {
    text-align: center;
    vertical-align: middle;
    padding: 2%;
    border: 1px solid white;
}

.monthly-fluid .days th {
    font-size: 20px;
    color: #777;
    text-align: center;
    border: 1px solid white;
    font-weight: 100;
    padding: 3%;
	line-height:20px;
	background: white;
    text-shadow: none;
}

.monthly-fluid .hours2 th {
    font-size: medium;
    text-align: center;
    font-weight: 100;
    padding: 2%;
    border: 1px solid white;
    color: #777;
    background: white;
    text-shadow: none;
}
.monthly-fluid .ext_month_day_nox,.monthly-fluid .ext_month_day_nox_r {
    background-color: rgba(0,0,0,.017);
    color: #a9b6c5;
}
.monthly-fluid .cur_month_day_nox {
    background-color: #C2DFD0;
    color:#333;
}
.monthly-fluid .cur_month_day_nox.arrival_day {
    background-color: #a0e0c0;
      color:#333;
}
.monthly-fluid .cur_month_day_nox:hover {background-color: #428bca; color:white;cursor:pointer;}
.monthly-fluid td.reserved_nox {
    background-color: #f0c2c2;
      color:#333;
}

 .visible-sm-planyo,.visible-md-planyo{display:none!important;}
 .calpicker-box{border: 1px solid rgba(0,0,0,.03);}
.monthly-fluid{
	float:left;
	position: relative;
    background: none;
	padding-left:15px;
	padding-right:15px;	
	width:100%;
}
.monthly-fluid .cur_month_day_nox.arrival_day,.monthly-fluid .ext_month_day_nox.arrival_day{
    background:#a0e0c0;
}
.resp-caltop #cal_legend_info{
    margin: 15px auto;
    padding-left: 15px;
    padding-right: 15px;
}
.resp-caltop .cal_legend_text{height: 23px;}
#legend_av_txt, #cal_legend_partav_2, #legend_avqty_txt {
    background: #c2dfd0;
}
#legend_stdate_txt {
    background: #a0e0c0;
}
#legend_unav_txt, #legend_res_txt {
    background: #f0c2c2;
}
#legend_mornav_txt{    background: url(https://www.planyo.com/images/diagonal2nox.png);
    background-repeat: no-repeat;
    background-color: #f0c2c2;}
#legend_mornocc_txt{ background: url(https://www.planyo.com/images/diagonal1nox.png);
    background-repeat: no-repeat;
    background-color: #c2dfd0;}
@media (min-width: 600px){	
	.monthly-fluid{width: 50%;}	
	.monthly-fluid .ext_month_day_nox, .monthly-fluid .ext_month_day_nox_r,.monthly-fluid .ext_month_day_nox:hover, .monthly-fluid .ext_month_day_nox_r:hover,	.monthly-fluid .ext_month_day_nox_r.morning_av_nox,.monthly-fluid .ext_month_day_nox_r.morning_av_nox:hover,.monthly-fluid .ext_month_day_nox.morning_occ_nox,.monthly-fluid .ext_month_day_nox.morning_occ_nox:hover{color: rgba(0,0,0,.017);background-color: rgba(0,0,0,.017);    border-bottom: 1px solid white!important;  background-image: none;}
}
		
@media (min-width: 890px){
	.monthly-fluid{width: 33.33333333%;  }	
}
	
@media (min-width: 1220px){
	.monthly-fluid{max-width: 400px;display: inline-block; float: none;}
	.resp-caltop #cal_legend_info{width: 1200px;
    float:none;}
}

@media (max-width: 889px) and (min-width: 600px){
	.monthly-fluid.planyo-hidden-md{display: none!important;}
	.monthly-fluid .visible-md-planyo{display: block!important;}
}

@media (max-width: 599px){	
	.monthly-fluid.planyo-hidden-sm{display: none!important;}
	.monthly-fluid .visible-sm-planyo {display: block!important;}
}
/*===============================================*/
/* 4. DROP-DOWN CALENDAR                             */
/*===============================================*/
table.calpicker{
width: 239px;
    margin-top: 6px;
    margin-left: 12px;
    font-size: 14px;
    text-align: left;
    list-style: none;
    background-color: #fff;
    -webkit-box-shadow: 0 6px 12px rgba(0,0,0,.175);
    box-shadow: 0 6px 12px rgba(0,0,0,.175);
    border: 0px;}

.calpicker .no_start:hover{
    background: #f0f0f0;
    cursor:default;
    color:black;
}

.calpicker .arrival_day{
    font-weight:bold;
}

.calpicker td.morning_av,.calpicker td.morning_av:hover{
    background: url(https://www.planyo.com/images/diagonal2.png);
    background-repeat: no-repeat;
}

.calpicker td.morning_av_nox,.calpicker td.morning_av_nox:hover{
    background: url(https://www.planyo.com/images/diagonal2nox.png);
    background-repeat: no-repeat;
    background-color: #f0c2c2;
}

.calpicker td.morning_occ{
    background: url(https://www.planyo.com/images/diagonal1.png);
    background-repeat: no-repeat;
}

.calpicker td.morning_occ_nox{
    background: url(https://www.planyo.com/images/diagonal1nox.png);
    background-repeat: no-repeat;
    background-color: #c2dfd0;
}

.calpicker .active_day{
    background: #bbbbbb;
    color:white;
}

.calpicker .reserved_nox_u{
    background:#e8e8e8;
}

.calpicker .reserved_nox{
    background:#f0c2c2;
}

.calpicker .reserved{
    color: red;
    font-weight: bold;
}

.calpicker .reserved_u{
    color: red;
    font-weight: bold;
}

.calpicker .reserved:hover{
    cursor:auto;
    background:white;
    color:red;
}

.calpicker .reserved_u:hover{
    cursor:auto;
    background:white;
}

.calpicker .reserved_nox:hover{
    cursor:auto;
    background:#f0c2c2;
}

.calpicker .reserved_nox_u:hover{
    cursor:auto;
    background:#e8e8e8;
}

.calpicker .cur_month_day_nox{
    background: #c2dfd0;
}

.calpicker .active_day_nox{
    text-decoration:underline;
    background: #cfdfd0;
}

.calpicker .ext_month_day_nox{
    background: #c2dfd0;
    color:#a0a0a0;
}

.calpicker .ext_month_day_nox_u{
    background:#e8e8e8;
    color:#a0a0a0;
}

.calpicker .ext_month_day_nox_r{
    background:#f0c2c2;
    color:#a0a0a0;
}

.calpicker .cur_month_day{
    background: #f0f0f0;
}

.calpicker .ext_month_day{
    background: #ffffff;
    color: #c5c5c5;
}

.calpicker .ext_month_day:hover{
    cursor:auto;
    background:#ffffff;
}

.calpicker .ext_month_day_nox_r:hover{
    cursor:auto;
    background:#f0c2c2;
}

.calpicker .ext_month_day_nox_u:hover{
    cursor:auto;
    background:#e8e8e8;
}

.calpicker .ext_month_day_nox:hover{
    cursor:auto;
    background:#c2dfd0;
}

.calpicker td:hover{
    background: #e77817;
    color: white;
    cursor: pointer;
}

.calpicker td{
    border: 1px solid #fff;
    vertical-align: top;
    font-size: 12px;
    min-width: 10px;
    text-align: center;
    padding: 3%;
}

.float-calpicker,.calpicker{
    font-family: 'Istok Web', sans-serif;
    color:#444;
    border-top: 0px;
    margin-left:1px;
    clear:both;
    border-collapse: collapse;
    background-color:white;
    border-left: 1px solid #c0c0c0;
    border-right: 1px solid #c0c0c0;
}
.calpicker.float-calpicker{width:236px;}
.calpicker{width:225px;}

.calpicker caption{
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
    border-top: 1px solid #fff;
    font-size: 16px;
    padding: 10px 0px;
    background-color: #fff;
    text-align: center;
    -webkit-box-shadow: 0 6px 12px rgba(0,0,0,0.175);
    box-shadow: 1px 6px 12px rgba(0,0,0,0.175);
}
caption .navleft {float:left;}
caption .navright {float:right;}

.float-calpicker th,.calpicker th {
    text-align: center;
    border: 0;
    font-size: 12px;
    font-weight: 100;
    padding:4px;
    background-color:white;
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
}
.float-calpicker .cur_month_day:hover,.calpicker .active_day:hover {
    background: #3D83A8;
}

.float-calpicker caption .navleft {float:left;}
.float-calpicker caption .navright {float:right;}

.float-calpicker .active_day {
    color: #3D83A8;
    border-bottom: 2pt solid #3D83A8 !important;
    background-color:#f0f0f0;
}
/* =============================== */
/* responsive multi-month calendar */
/* =============================== */
.resp-caltop {
    text-align: center;
}
.monthly-fluid .calpicker,.monthly-fluid .calpicker th{font-family: 'Open Sans', sans-serif!important;}
.monthly-fluid .fa-chevron-left:hover, .fa-chevron-right:hover{cursor:pointer;}
.monthly-fluid .fa-chevron-left {
    float: left;
    padding-left: 2%;
    color: #428bca;
}
.monthly-fluid .fa-chevron-right {
    float: right;
    padding-right: 2%;
    color: #428bca;
}
.monthly-fluid .calpicker {
	width:100%;
    margin: 0;
    line-height: 100%;
    clear: both;
    border-collapse: collapse;
    background-color: white;
}
.monthly-fluid table.calpicker {
    width: 100%;
    font-size: 14px;
    text-align: left;
    list-style: none;
}
.monthly-fluid .calpicker td {
    text-align: center;
    vertical-align: middle;
    padding: 2%;
    border: 1px solid white;
}

.monthly-fluid .days th {
    font-size: 20px;
    color: #777;
    text-align: center;
    border: 1px solid white;
    font-weight: 100;
    padding: 3%;
	line-height:20px;
	background: white;
    text-shadow: none;
}

.monthly-fluid .hours2 th {
    font-size: medium;
    text-align: center;
    font-weight: 100;
    padding: 2%;
    border: 1px solid white;
    color: #777;
    background: white;
    text-shadow: none;
}
.monthly-fluid .ext_month_day_nox,.monthly-fluid .ext_month_day_nox_r {
    background-color: rgba(0,0,0,.017);
    color: #a9b6c5;
}
.monthly-fluid .cur_month_day_nox {
    background-color: #C2DFD0;
}
.monthly-fluid .cur_month_day_nox:hover {background-color: #428bca; color:white;cursor:pointer;}
.monthly-fluid td.reserved_nox {
    background-color: #f0c2c2;
}

 .visible-sm-planyo,.visible-md-planyo{display:none!important;}
 .calpicker-box{border: 1px solid rgba(0,0,0,.07);}
.monthly-fluid{
	float:left;
	position: relative;
    background: none;
	padding-left:15px;
	padding-right:15px;	
	width:100%;
}
.resp-caltop #cal_legend_info{
    margin: 15px auto;
    padding-left: 15px;
    padding-right: 15px;
}
.resp-caltop .cal_legend_text{height: 23px;}

#legend_mornav_txt{    background: url(https://www.planyo.com/images/diagonal2nox.png);
    background-repeat: no-repeat;
    background-color: #f0c2c2;}
#legend_mornocc_txt{ background: url(https://www.planyo.com/images/diagonal1nox.png);
    background-repeat: no-repeat;
    background-color: #c2dfd0;}
@media (min-width: 600px){	
	.monthly-fluid{width: 50%;}	
	.monthly-fluid .ext_month_day_nox, .monthly-fluid .ext_month_day_nox_r,.monthly-fluid .ext_month_day_nox:hover, .monthly-fluid .ext_month_day_nox_r:hover,	.monthly-fluid .ext_month_day_nox_r.morning_av_nox,.monthly-fluid .ext_month_day_nox_r.morning_av_nox:hover,.monthly-fluid .ext_month_day_nox.morning_occ_nox,.monthly-fluid .ext_month_day_nox.morning_occ_nox:hover{color: rgba(0,0,0,.017);background-color: rgba(0,0,0,.017);    border-bottom: 1px solid white!important;  background-image: none;}
}
		
@media (min-width: 890px){
	.monthly-fluid{width: 33.33333333%;  }	
}
	
@media (min-width: 1220px){
	.monthly-fluid{max-width: 400px;display: inline-block; float: none;}
	.resp-caltop #cal_legend_info{width: 1200px;
    float:none;}
}

@media (max-width: 889px) and (min-width: 600px){
	.monthly-fluid.planyo-hidden-md{display: none!important;}
	.monthly-fluid .visible-md-planyo{display: block!important;}
}

@media (max-width: 599px){	
	.monthly-fluid.planyo-hidden-sm{display: none!important;}
	.monthly-fluid .visible-sm-planyo {display: block!important;}
}

/* START FLEXIBLE MULTI-VIEW CALENDAR */

.cp_calendar .vacation {background-color:#707070;border-color:#707070;}
.fc-cust3Week-view .fc-sat,.fc-cust3Week-view .fc-sun {background-color:#fcf8e3;}
.cp_calendar .fc-today {background:rgba(255, 255, 204, 0.46);}
.fc-center h2 {
    color: #333;
    font-weight: 500;
    line-height: 2.3;
    font-size: 14px;
}
.cp_mobile_list .fc-center h2{
    text-align: center;
    margin: 0 auto;
    margin-left: 33%;
    margin-top: 20px;
    font-weight: 700;
    font-size: 1em;
}
.cp_mobile_list .fc-toolbar .fc-center{display: block;
    width: 100%;}
    
th.fc-widget-header {
    line-height: 1.47em;
    color: #777;
	font-weight:500;
}
.cp_calendar.fc button {
    padding: 6px 12px;
    border-color: #357ebd;
    font-weight: normal;
    color: #fff;
    background-color: #428bca;
    font-size: 13px;
    background-image: none;
    height: initial;
    text-shadow: none;
    box-shadow: none;
    background-repeat: no-repeat;
}
.cp_calendar.fc button.fc-state-hover {
    background-color: #253340;
    color: #FFF;
}
.cp_calendar.fc button.fc-state-active {
    background-color: #253340;
    color: #FFF;
}


.fc-bgevent.oc_all{background-color: #d9534f!important;
    opacity: 0.75!important;}
.fc-bgevent.oc_all:hover{cursor:initial;}
.fc-bgevent,.fc-highlight{opacity:.6!important;}
.fc-highlight{background:#428bca!important;}
a.fc-day-grid-event.ev_av:hover,.fc-list-item.ev_av:hover{cursor:pointer;}

.oc_part{background-color: transparent!important;    text-align: center;color: black;}

.oc_none{background-color:transparent !important;}
.oc_eve,.with-cnt .fc-bgevent.oc_all .oc_eve,td.fc-bgevent.oc_all.oc_eve{background:linear-gradient(to right bottom, transparent 0%,transparent 50%,#d9534f 51%,#d9534f 100%);background-color: transparent!important;}
.oc_mor, .with-cnt .fc-bgevent.oc_none .oc_mor,td.fc-bgevent.oc_none.oc_mor{background:linear-gradient(to right bottom, #d9534f 0%,#d9534f 50%,transparent 51%,transparent 100%);opacity:0.75 !important;}    

.with-cnt .fc-bgevent.oc_part, .with-cnt .fc-bgevent.oc_none {
    text-align: center;
    font-weight: 700;
    opacity: 1!important;
    line-height: 25px;
    font-size: medium;
    color: #428bca;
    border: 0px;
    vertical-align: middle;
}

.fc-day-grid-event .fc-content{white-space:normal!important;}
.ev_all .fc-event-dot{background-color:#f0c2c2}
.ev_all{color:#bbb;}
a.fc-day-grid-event.ev_all,a.fc-time-grid-event.ev_all,a.fc-timeline-event.ev_all{background-color: #bbb!important;border: 1px solid #bbb;}
select.cp_respicker {
    margin: 4% 0%;
    width: 100%;
    display: inline-block;
    padding: 6px 12px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.42857143;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 4px;
}
th.fc-day-header.fc-widget-header{font-size:small;}
.fc-ltr .fc-basic-view .fc-day-top .fc-day-number {
    font-size: 0.75em;
}
.fc-time-grid-event .fc-time{white-space: pre-line;}
/* END FLEXIBLE MULTI-VIEW CALENDAR  */
/* === Harmonisation mobile avec version desktop La Zénitude === */

/* DISPONIBILITÉS */
#upcoming-top .thumbnail {
    position: relative;
    cursor: pointer;
    background-color: #EEE7DB; /* Beige doux */
    color: #3A2E25; /* Texte brun */
    font-size: 14px;
    border: 1px solid #D4AF37; /* Doré */
    border-radius: 8px;
    padding: 8px 12px;
    margin: 6px auto;
    text-align: center;
    min-width: 85px;
    max-width: 130px;
    display: inline-block;
    font-weight: 500;
}

/* SURVOL DISPONIBILITÉ */
#upcoming-top .thumbnail:hover {
    background-color: #A58B64;
    color: white;
}

/* PLAGES RÉSERVÉES */
#upcoming-top .thumbnail.reserved {
    background-color: #4A4033; /* Brun foncé */
    color: #EEE7DB; /* Beige */
    border: 1px solid #D4AF37;
    font-weight: bold;
}

/* Texte "Réservé" ajouté automatiquement */
#upcoming-top .thumbnail.reserved::after {
    content: "Réservé";
    display: block;
    font-size: 12px;
    color: #D4AF37;
    margin-top: 5px;
    font-weight: 600;
}

/* SURVOL RÉSERVÉES */
#upcoming-top .thumbnail.reserved:hover {
    background-color: #3A2E25;
    color: #D4AF37;
}

/* DATE / TITRES / MOIS */
#upcoming-top .caption,
#upcoming-top .date_container,
.upcoming-day {
    color: #4A4033;
}

/* CRÉNEAUX HORAIRES (dispos classiques) */
.upcoming .av_day_group .av_time,
.upcoming .av_day_group .av_time.av_time_day,
.result_range {
    background-color: #EEE7DB;
    color: #3A2E25;
    font-weight: 500;
    border: 1px solid #D4AF37;
}

/* CRÉNEAUX NON DISPONIBLES */
.upcoming .unav_txt.unav_txt_d,
.upcoming .unav_txt.unav_txt_h {
    background-color: #4A4033;
    color: #EEE7DB;
}

/* LÉGENDE DISPONIBILITÉ */
#legend_av_txt, 
#cal_legend_partav_2, 
#legend_avqty_txt {
    background: #EEE7DB;
    color: #3A2E25;
}

/* LÉGENDE RÉSERVÉ */
#legend_unav_txt, 
#legend_res_txt {
    background: #4A4033;
    color: #EEE7DB;
}
/* === Style harmonisé des créneaux horaires sur mobile === */

.upcoming .av_time.av_time_day,
.upcoming .av_time.av_time_h,
.result_range {
    background-color: #EEE7DB; /* Beige doux */
    color: #3A2E25; /* Texte brun */
    border: 1px solid #D4AF37; /* Bordure dorée */
    border-radius: 8px;
    padding: 10px 16px;
    font-weight: 500;
    font-size: 15px;
    text-align: center;
    margin: 6px auto;
    display: inline-block;
    min-width: 90px;
}

/* Survol / clic */
.upcoming .av_time:hover,
.upcoming .av_time:active {
    background-color: #A58B64;
    color: white;
    cursor: pointer;
}

/* Responsive : créneaux bien espacés et centrés */
.upcoming .av_day_group {
    text-align: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}
/* ==== Design harmonisé Zénitude pour mobile (prochaines dispos) ==== */

.upcoming .av_time,
.upcoming .av_time.av_time_day,
.upcoming .av_time.av_time_h,
.result_range {
    background-color: #EEE7DB;
    color: #3A2E25;
    border: 1px solid #D4AF37;
    border-radius: 10px;
    padding: 8px 10px;
    font-weight: 500;
    font-size: 14px;
    margin: 8px auto;
    display: block;
    width: 90%;
    max-width: 240px;
    text-align: center;
    box-shadow: 0 1px 3px rgba(0,0,0,0.08);
}

/* Texte sous l'heure */
.upcoming .av_time:not(.reserved)::after {
    content: "Réservez maintenant";
    display: block;
    font-size: 12px;
    color: #D4AF37;
    margin-top: 4px;
}

/* Survol ou clic (mobile = effet visuel conservé) */
.upcoming .av_time:active {
    background-color: #A58B64;
    color: white;
}

/* Créneaux réservés visibles */
.upcoming .av_time.reserved {
    background-color: #4A4033;
    color: #EEE7DB;
    border: 1px solid #D4AF37;
}

.upcoming .av_time.reserved::after {
    content: "Déjà réservé";
    display: block;
    font-size: 12px;
    color: #D4AF37;
    margin-top: 4px;
    font-weight: 500;
}

/* Boutons indisponibles */
.upcoming .unav_txt.unav_txt_d,
.upcoming .unav_txt.unav_txt_h {
    background-color: #F2E7DC !important;
    color: #A9A9A9 !important;
    border-radius: 8px;
    padding: 6px;
    font-size: 13px;
    font-weight: 500;
    width: 90%;
    max-width: 240px;
    margin: 8px auto;
    text-align: center;
}
@media (max-width: 767px) {
  /* Créneaux disponibles */
  .upcoming .av_time:not(.reserved) {
    background-color: #c2dfd0;
    color: #333;
    font-size: 16px;
    padding: 12px 6px;
    border-radius: 10px;
    border: 1px solid #D4AF37;
    margin-bottom: 10px;
    font-weight: 500;
    text-align: center;
  }

  /* Texte "Réservez maintenant" */
  .upcoming .av_time:not(.reserved)::after {
    content: "Réservez maintenant";
    display: block;
    font-size: 15px;
    color: #4A4033;
    font-weight: bold;
    margin-top: 6px;
    line-height: 1.4;
  }
}
@media (max-width: 767px) {
  /* Créneaux disponibles */
  #upcoming-top .thumbnail:not(.reserved) {
    background-color: #EEE7DB;
    color: #3A2E25;
    font-size: 16px;
    padding: 12px 8px;
    border-radius: 10px;
    border: 1px solid #D4AF37;
    margin: 10px auto;
    text-align: center;
    font-weight: 600;
    width: 90%;
    max-width: 240px;
  }

  /* Texte sous les créneaux disponibles */
  #upcoming-top .thumbnail:not(.reserved)::after {
    content: "Réservez maintenant";
    display: block;
    font-size: 15px;
    color: #D4AF37;
    font-weight: bold;
    margin-top: 6px;
  }
}
@media (max-width: 767px) {
  #upcoming-top .thumbnail:not(.reserved) {
    background-color: #EEE7DB;
    color: #3A2E25;
    font-size: 17px;
    font-weight: bold;
    padding: 14px 10px;
    border-radius: 12px;
    border: 2px solid #D4AF37;
    margin: 12px auto;
    text-align: center;
    width: 90%;
    max-width: 260px;
    line-height: 1.4;
    position: relative;
  }

  #upcoming-top .thumbnail:not(.reserved)::after {
    content: "Réservez maintenant";
    display: block;
    font-size: 16px;
    color: #4A4033; /* plus foncé que or, mais harmonieux */
    font-weight: 600;
    margin-top: 8px;
    text-wrap: balance;
  }
}
/* Appliquer à tout type de bloc tarif Planyo */
.planyo_rate_box,
.planyo_rate_box_floating,
#planyo_price_holder {
  background-color: #EEE7DB !important;
  border-radius: 12px;
  padding: 16px !important;
  font-family: 'Poppins', sans-serif !important;
  color: #4A4033 !important;
  text-align: center !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05) !important;
  margin: 20px 0 !important;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

/* Supprime le titre "Prix" s’il est injecté par Planyo */
.planyo_rate_box table tr:first-child,
#planyo_price_holder table tr:first-child {
  display: none !important;
}

/* Style des cellules (infos, montant, etc.) */
.planyo_rate_box td,
#planyo_price_holder td {
  font-size: 15px !important;
  color: #4A4033 !important;
  font-family: 'Poppins', sans-serif !important;
  padding: 8px 10px !important;
  border: none !important;
  text-align: center !important;
  vertical-align: middle !important;
}

/* Montant en brun foncé, non bleu */
.planyo_rate_box td b,
#planyo_price_holder td b,
.planyo_rate_box td strong,
#planyo_price_holder td strong {
  color: #4A4033 !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  font-family: 'Poppins', sans-serif !important;
}
/* ==== FIX FLECHES MOIS (desktop & mobile) ==== */
.calprev .calp-month-name,
.calprev .calp-month-header{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  overflow:visible !important;
}

.calprev .calp-month-name a,
.calprev .calp-month-header a{
  display:inline-flex !important;
  align-items:center !important;
  gap:.35rem !important;
  color:#fff !important;
  background:transparent !important;
  border:0 !important;
  text-decoration:none !important;
  font-weight:700 !important;
  line-height:1 !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  text-indent:0 !important;      /* annule tout masquage */
  width:auto !important; height:auto !important; /* annule tailles 0 */
}

/* Classes usuelles Planyo */
.calprev .calp-month-name .calp-prev::before,
.calprev .calp-month-header .calp-prev::before{ content:"◀" !important; }

.calprev .calp-month-name .calp-next::after,
.calprev .calp-month-header .calp-next::after{ content:"▶" !important; }

/* Fallback si noms de classes différents (prend “prev/next” dans le nom) */
.calprev .calp-month-name a[class*="prev"]::before,
.calprev .calp-month-header a[class*="prev"]::before{ content:"◀" !important; }

.calprev .calp-month-name a[class*="next"]::after,
.calprev .calp-month-header a[class*="next"]::after{ content:"▶" !important; }

/* Contraste header (au cas où) */
.calprev .calp-month-name,
.calprev .calp-month-header{
  background:#4A4033 !important;
  color:#fff !important;
}
/* ===== FIX NAV MOIS — force l’affichage des flèches ===== */

/* Le header mois doit garder la place pour la nav */
.calprev .calp-month-name,
.calprev .calp-month-header{
  display:flex !important; align-items:center !important; justify-content:space-between !important;
  overflow:visible !important; position:relative !important;
}

/* S’il existe un conteneur de nav, on le ré-affiche */
.calprev .calp-nav,
.calprev [class*="nav"]{
  display:flex !important; align-items:center !important; gap:8px !important;
  visibility:visible !important; opacity:1 !important;
}

/* Cibles possibles des flèches (selon thèmes Planyo) */
.calprev .calp-prev, .calprev .calp-next,
.calprev a[class*="prev"], .calprev a[class*="next"]{
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  width:34px !important; height:34px !important; border-radius:999px !important;
  color:#fff !important; background:rgba(255,255,255,.18) !important;
  text-indent:0 !important; overflow:visible !important; visibility:visible !important; opacity:1 !important;
  border:0 !important; cursor:pointer !important; pointer-events:auto !important;
}

/* Ajout d’icônes si le thème n’en met pas */
.calprev .calp-prev::before, .calprev a[class*="prev"]::before{ content:"◀" !important; font-weight:700 !important; }
.calprev .calp-next::after,  .calprev a[class*="next"]::after { content:"▶" !important; font-weight:700 !important; }

/* S’assure que les liens sont cliquables et visibles sur fond brun */
.calprev .calp-month-header a,
.calprev .calp-month-name a{
  color:#fff !important; text-decoration:none !important; font-weight:700 !important;
  width:auto !important; height:auto !important; line-height:1 !important;
}

/* Au cas où un thème les masque en display:none */
.calprev a.calp-prev, .calprev a.calp-next{
  display:inline-flex !important;
}
/* ===== FIX FLÈCHES NAV MOIS (DESKTOP) – forcé ===== */

/* Bandeau mois : toujours de la place pour la nav */
.calprev .calp-month-name,
.calprev .calp-month-header{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  position:relative !important;
  overflow:visible !important;
}

/* Groupes de navigation (si présents) */
.calprev .calp-nav,
.calprev [class*="nav"]{
  display:flex !important;
  align-items:center !important;
  gap:.5rem !important;
  visibility:visible !important;
  opacity:1 !important;
}

/* Liens/btns de nav — toutes variantes courantes */
.calprev .calp-prev, .calprev .calp-next,
.calprev a[class*="prev"], .calprev a[class*="next"],
.calprev button[class*="prev"], .calprev button[class*="next"]{
  display:inline-flex !important;
  align-items:center !important; justify-content:center !important;
  width:34px !important; height:34px !important;
  border-radius:999px !important;
  color:#fff !important; background:rgba(255,255,255,.18) !important;
  border:0 !important; text-indent:0 !important; overflow:visible !important;
  visibility:visible !important; opacity:1 !important; pointer-events:auto !important;
}
/* ========== RESET global pour repartir propre ========== */
td.available::before, td.available::after,
td.unavailable::before, td.unavailable::after { content: none !important; }
td.available > *, td.unavailable > * { opacity: 0 !important; } /* masque prix/icônes internes */
td.available, td.unavailable {
  position: relative !important;
  text-align: center !important;
  vertical-align: middle !important;
  min-height: 56px !important;
  overflow: hidden !important;
  padding: 0 !important;
  font-size: 13px !important;
  line-height: 1.1 !important;
  box-shadow: none !important;
  background-image: none !important;
}

/* ========== EN-TÊTES & DATES ========== */
.planyo table thead th{
  background:#4A4033 !important; color:#fff !important; border-color:#4A4033 !important;
  font-weight:600 !important;
}
.planyo table tbody th{
  background:#EEE7DB !important; color:#3A2E25 !important; font-weight:600 !important;
  border-right:1px solid #e2d7c9 !important;
}

/* ========== NAVIGATION PRÉCÉDENT / SUIVANT ========== */
.planyo .planyo_cal_nav a,
.planyo .calendar_navigation a,
.planyo .planyo_cal_header a,
a.planyo_prev, a.planyo_next {
  color:#4A4033 !important;
  font-weight:600 !important;
  text-decoration:none !important;
}
.planyo .planyo_cal_nav a:hover,
.planyo .calendar_navigation a:hover,
.planyo .planyo_cal_header a:hover { text-decoration:underline !important; }

/* ========== CASES PRISES (calme & lisible) ========== */
/* gris-rose doux qui se marie avec le beige */
td.unavailable{
  background:#EED9D6 !important;  /* remplace le rouge vif */
  color:#6A3A30 !important;
}
td.unavailable::after{
  content:"Déjà réservé";
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  color:#6A3A30; font-weight:700; white-space:nowrap; pointer-events:none;
}

/* ========== CASES LIBRES (beige + libellé sombre) ========== */
td.available{
  background:#EEE7DB !important;  /* beige La Zénitude */
  color:#4A4033 !important;
  cursor:pointer !important;
}
td.available::after{
  content:"Réservez maintenant";
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  color:#4A4033; font-weight:700; white-space:nowrap; pointer-events:none;
}

/* Hover desktop : légère mise en avant, sans gros aplat */
@media (hover:hover){
  td.available:hover{ box-shadow: inset 0 0 0 2px #D4AF37 !important; }
}

/* ========== PASSÉ (si applicable) ========== */
td.past{
  background:#ECE8E1 !important; color:#7b736b !important;
}

/* ========== Grille (séparateurs fins & fond très clair) ========== */
.planyo table tbody td{
  border-left:1px solid #e9e0d6 !important;
  border-bottom:1px solid #e9e0d6 !important;
  background-clip: padding-box !important;
}
/* ===== Fix libellés: réimpose le content malgré d'anciens resets ===== */
td.unavailable::after{
  content:"Déjà réservé" !important;
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  color:#6A3A30; font-weight:700; white-space:nowrap; pointer-events:none;
}
td.available::after{
  content:"Réservez maintenant" !important;
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  color:#4A4033; font-weight:700; white-space:nowrap; pointer-events:none;
}

/* On s'assure que les cases et le fond restent comme voulu */
td.unavailable{
  background:#EED9D6 !important; color:#6A3A30 !important;
  position:relative !important; text-align:center !important; min-height:56px !important;
}
td.available{
  background:#EEE7DB !important; color:#4A4033 !important;
  position:relative !important; text-align:center !important; min-height:56px !important; cursor:pointer;
}
/* Masque le contenu interne pour éviter les doublons */
td.unavailable > *, td.available > *{ opacity:0 !important; }

/* ===== Nav PRÉCÉDENT / SUIVANT en brun ===== */
.planyo .planyo_cal_nav a,
.planyo .calendar_navigation a,
.planyo .planyo_cal_header a,
a.planyo_prev, a.planyo_next,
.planyo a.planyo_prev, .planyo a.planyo_next{
  color:#4A4033 !important;
  font-weight:600 !important;
  text-decoration:none !important;
}
/* si les flèches sont en SVG / icône */
.planyo .planyo_cal_nav svg,
.planyo .calendar_navigation svg,
.planyo .planyo_cal_header svg,
.planyo .planyo_cal_nav i,
.planyo .calendar_navigation i{
  fill:#4A4033 !important;
  stroke:#4A4033 !important;
}
/* 1) Forcer les libellés + 2 lignes pour "Réservez maintenant" */
td.available, td.unavailable{
  position:relative !important;
  min-height:80px !important;
  text-align:center !important;
  vertical-align:middle !important;
}

/* masquer le contenu natif (qui repasse en 1 ligne chez toi) */
td.available > *, td.unavailable > *{
  opacity:0 !important; height:0 !important; overflow:hidden !important;
  pointer-events:none !important;
}

/* LIBRE : beige + libellé sur 2 lignes, centré */
td.available{
  background:#EEE7DB !important; color:#4A4033 !important; cursor:pointer !important;
}
td.available::after{
  content:"Réservez\Amaintenant" !important;   /* saut de ligne */
  white-space:pre-line !important;             /* interprète \A */
  display:block !important;
  position:absolute !important; left:50% !important; top:50% !important;
  transform:translate(-50%,-50%) !important;
  text-align:center !important; line-height:1.15 !important;
  font-weight:700 !important; color:#4A4033 !important;
  z-index:2 !important; width:100% !important;
}

/* PRIS : teinte calme + libellé */
td.unavailable{
  background:#EED9D6 !important; color:#6A3A30 !important;
}
td.unavailable::after{
  content:"Déjà réservé" !important;
  display:block !important;
  position:absolute !important; left:50% !important; top:50% !important;
  transform:translate(-50%,-50%) !important;
  color:#6A3A30 !important; font-weight:700 !important;
  white-space:nowrap !important; z-index:2 !important;
}

/* 2) PRÉCÉDENT / SUIVANT en brun (texte + icônes/flèches) */
.planyo .planyo_cal_nav a,
.planyo .planyo_cal_header a,
.planyo .calendar_navigation a,
.planyo a.planyo_prev, .planyo a.planyo_next{
  color:#4A4033 !important; font-weight:600 !important; text-decoration:none !important;
}
.planyo .planyo_cal_nav a:visited,
.planyo .planyo_cal_header a:visited,
.planyo .calendar_navigation a:visited{ color:#4A4033 !important; }
.planyo .planyo_cal_nav a:hover,
.planyo .planyo_cal_header a:hover,
.planyo .calendar_navigation a:hover{ color:#4A4033 !important; text-decoration:underline !important; }
.planyo .planyo_cal_nav svg, .planyo .planyo_cal_header svg,
.planyo .calendar_navigation svg, .planyo .planyo_cal_nav i,
.planyo .planyo_cal_header i{ fill:#4A4033 !important; stroke:#4A4033 !important; color:#4A4033 !important; }

/* 3) Dates (colonne de gauche) plus petites */
.planyo table tbody th{
  font-size:13px !important;
  line-height:1.15 !important;
  padding:8px 10px !important;
}
/* ====== Cadre du tableau : carte élégante ====== */
.planyo table { 
  border-collapse: separate !important; 
  border-spacing: 0 !important; 
  background: #F7F3ED !important;             /* beige très clair */
  border: 1px solid #e6dbc9 !important;
  border-radius: 14px !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.06) !important;
  overflow: hidden !important;
}

/* En-tête heures : brun + liseré doré */
.planyo table thead th{
  background:#4A4033 !important; color:#fff !important; font-weight:600 !important;
  font-size:14px !important; letter-spacing:.2px !important;
  border-color:#4A4033 !important; position:relative !important;
}
.planyo table thead th::after{
  content:""; position:absolute; left:0; right:0; bottom:-2px; height:2px;
  background:#D4AF37; opacity:.9;
}

/* Colonne dates : compact, ton beige, séparateur fin */
.planyo table tbody th{
  background:#EEE7DB !important; color:#3A2E25 !important; font-weight:600 !important;
  font-size:12px !important; line-height:1.2 !important;
  padding:8px 10px !important; border-right:1px solid #e6dbc9 !important;
}

/* Cellules : effet carte doux + survol */
.planyo table tbody td{
  border-left:1px solid #ece2d4 !important; border-bottom:1px solid #ece2d4 !important;
  background:#FBF8F3 !important;
  position:relative !important; text-align:center !important; vertical-align:middle !important;
  min-height:86px !important; padding:18px 6px !important;
  transition: box-shadow .18s ease, transform .18s ease;
}
@media (hover:hover){
  .planyo table tbody td:hover{
    box-shadow: inset 0 0 0 2px #D4AF37;
    transform: translateZ(0); /* micro-lift visuel */
  }
}

/* ====== NAV PRÉCÉDENT / SUIVANT (brun) ====== */
.planyo .planyo_cal_nav a,
.planyo .planyo_cal_header a,
.planyo .calendar_navigation a,
.planyo a.planyo_prev, .planyo a.planyo_next{
  color:#4A4033 !important; font-weight:700 !important; text-decoration:none !important;
}
.planyo .planyo_cal_nav a:hover,
.planyo .planyo_cal_header a:hover,
.planyo .calendar_navigation a:hover{ text-decoration:underline !important; }

/* ====== Indisponible : pastille chic, teinte harmonieuse ====== */
td.unavailable{ background:#EFE0DE !important; color:#6A3A30 !important; }
td.unavailable > *{ opacity:0 !important; height:0 !important; overflow:hidden !important; }
td.unavailable::after{
  content:"Déjà réservé" !important;
  position:absolute !important; left:50% !important; top:50% !important; transform:translate(-50%,-50%) !important;
  display:inline-block !important; white-space:nowrap !important;
  padding:.38rem .62rem !important; font-weight:700 !important; font-size:12.5px !important;
  color:#6A3A30 !important; border:1px solid #e2bdb6 !important;
  background:#F5E7E5 !important; border-radius:999px !important; pointer-events:none !important;
}

/* ====== Disponible : bouton pill outline + hover doré ====== */
td.available{ background:#EEE7DB !important; color:#4A4033 !important; cursor:pointer !important; }
td.available > *{ opacity:0 !important; height:0 !important; overflow:hidden !important; }
td.available::after{
  content:"Réservez\Amaintenant" !important;          /* 2 lignes */
  white-space:pre-line !important; text-align:center !important; line-height:1.15 !important;
  position:absolute !important; left:50% !important; top:50% !important; transform:translate(-50%,-50%) !important;
  display:inline-block !important; padding:.42rem .72rem !important;
  font-weight:700 !important; font-size:13px !important; color:#4A4033 !important;
  border:1.5px solid #4A4033 !important; border-radius:999px !important;
  background:transparent !important; pointer-events:none !important;
}
@media (hover:hover){
  td.available:hover::after{
    background:#4A4033 !important; color:#fff !important; border-color:#4A4033 !important;
  }
}

/* ====== Mobile : typographies plus petites & hauteur adaptée ====== */
@media (max-width:680px){
  .planyo table thead th{ font-size:12px !important; }
  .planyo table tbody th{ font-size:11px !important; padding:6px 8px !important; }
  .planyo table tbody td{ min-height:96px !important; padding:16px 4px !important; }
  td.available::after{ font-size:12px !important; }
  td.unavailable::after{ font-size:11.5px !important; }
}
/***** RESET DOUX *****/
td.available::before, td.available::after,
td.unavailable::before, td.unavailable::after{ content:none !important; }
td.available > *, td.unavailable > *{
  opacity:0 !important; height:0 !important; overflow:hidden !important; pointer-events:none !important;
}

/***** NAV PRÉCÉDENT / SUIVANT (brun) *****/
a.planyo_prev, a.planyo_next,
.planyo a.planyo_prev, .planyo a.planyo_next,
.planyo .calendar_navigation a,
.planyo .planyo_cal_nav a,
.planyo .planyo_cal_header a,
.calendar_navigation a{ 
  color:#4A4033 !important; font-weight:700 !important; text-decoration:none !important;
}
.planyo .planyo_cal_nav a:hover,
.planyo .planyo_cal_header a:hover,
.calendar_navigation a:hover{ text-decoration:underline !important; color:#4A4033 !important; }

/***** EN-TÊTE HEURES *****/
table thead th{
  background:#4A4033 !important; color:#fff !important; border-color:#4A4033 !important;
  font-weight:600 !important; font-size:14px !important; letter-spacing:.2px !important;
}

/***** COLONNE DATES (plus petite + neutre) *****/
table tbody th{
  background:#F7F3ED !important; color:#4A4033 !important;
  font-size:11px !important; line-height:1.05 !important; font-weight:600 !important;
  text-align:center !important; vertical-align:middle !important;
  padding:6px 8px !important; border-right:1px solid #e6dbc9 !important;
}
table tbody th br{ line-height:0.9 !important; }

/***** CELLULES BASE *****/
table tbody td{
  position:relative !important; text-align:center !important; vertical-align:middle !important;
  min-height:78px !important; padding:14px 6px !important;
  border-left:1px solid #ece2d4 !important; border-bottom:1px solid #ece2d4 !important;
  background:#FBF8F3 !important; font-size:12px !important; line-height:1.1 !important;
}

/***** INDISPONIBLE (étiquette chic) *****/
td.unavailable{
  background:#EFE0DE !important; color:#6A3A30 !important;
}
td.unavailable::after{
  content:"Déjà réservé" !important;
  position:absolute !important; left:50% !important; top:50% !important; transform:translate(-50%,-50%) !important;
  padding:.32rem .56rem !important; border-radius:999px !important;
  background:#F5E7E5 !important; color:#6A3A30 !important;
  border:1px solid #e2bdb6 !important; font-weight:700 !important; font-size:12px !important;
  white-space:nowrap !important; pointer-events:none !important; z-index:2 !important;
}

/***** DISPONIBLE (beige + libellé sur 2 lignes) *****/
td.available{
  background:#EEE7DB !important; color:#4A4033 !important; cursor:pointer !important;
}
td.available::after{
  content:"Réservez\Amaintenant" !important;            /* 2 lignes */
  white-space:pre-line !important; text-align:center !important;
  position:absolute !important; left:50% !important; top:50% !important; transform:translate(-50%,-50%) !important;
  color:#4A4033 !important; font-weight:700 !important; line-height:1.15 !important;
  font-size:12.5px !important; padding:.36rem .60rem !important;
  border:1.5px solid #4A4033 !important; border-radius:999px !important;
  background:transparent !important; pointer-events:none !important; z-index:2 !important;
}

/***** MOBILE (≤ 680px) *****/
@media (max-width:680px){
  table thead th{ font-size:12px !important; }
  table tbody th{ font-size:10.5px !important; padding:5px 6px !important; }
  table tbody td{ min-height:88px !important; padding:16px 4px !important; }
  td.available::after{ font-size:11.5px !important; }
  td.unavailable::after{ font-size:11px !important; }
}
/***** NAV + EN-TÊTE *****/
.planyo .planyo_cal_header,
.planyo .planyo_cal_nav,
.planyo .calendar_navigation{ display:block !important; }
.planyo .planyo_cal_nav a,
.planyo .calendar_navigation a,
.planyo a.planyo_prev,.planyo a.planyo_next{ color:#4A4033 !important; font-weight:700 !important; text-decoration:none !important; }
.planyo .planyo_cal_nav a:hover,.planyo .calendar_navigation a:hover{ text-decoration:underline !important; }
.planyo table thead th{
  background:#4A4033 !important; color:#fff !important; font-weight:600 !important;
  font-size:13.5px !important; letter-spacing:.2px !important; border-color:#4A4033 !important;
}

/***** COLONNE DATES (compact, neutre) *****/
.planyo table tbody th{
  background:#EEE7DB !important; color:#4A4033 !important;
  font-size:11px !important; line-height:1.1 !important; font-weight:600 !important;
  text-align:center !important; vertical-align:middle !important;
  padding:6px 8px !important; border-right:1px solid #e6dbc9 !important;
}
.planyo table tbody th br{ line-height:0.9 !important; }

/***** TABLE = PLAQUE BEIGE ET CARTES DANS LES CELLULES *****/
.planyo table{
  border-collapse:separate !important; border-spacing:10px 10px !important; /* espace entre cartes */
  background:transparent !important; border:0 !important;
}
.planyo table tbody td{
  position:relative !important; text-align:center !important; vertical-align:middle !important;
  background:#F7F3ED !important; /* carte beige */
  border:1px solid #E6DBC9 !important;
  border-radius:14px !important;
  box-shadow:0 4px 12px rgba(0,0,0,.05) !important;
  min-height:84px !important; padding:16px 6px !important;
}

/***** ETAT INDISPONIBLE = étiquette douce *****/
td.unavailable{ background:#F3E7E6 !important; }
td.unavailable > *{ opacity:0 !important; height:0 !important; overflow:hidden !important; }
td.unavailable::after{
  content:"Déjà réservé" !important;
  position:absolute !important; left:50% !important; top:50% !important; transform:translate(-50%,-50%) !important;
  display:inline-block !important; white-space:nowrap !important;
  padding:.38rem .62rem !important; border-radius:999px !important;
  background:#F6EDED !important; color:#6A3A30 !important; font-weight:700 !important; font-size:12.5px !important;
  border:1px solid #E2BDB6 !important; pointer-events:none !important;
}

/***** ETAT DISPONIBLE = bouton “carte” proche du widget dispos *****/
td.available{ background:#EEE7DB !important; cursor:pointer !important; }
td.available > *{ opacity:0 !important; height:0 !important; overflow:hidden !important; }
td.available::after{
  content:"Réservez\Amaintenant" !important; white-space:pre-line !important; text-align:center !important; line-height:1.1 !important;
  position:absolute !important; left:50% !important; top:50% !important; transform:translate(-50%,-50%) !important;
  display:inline-block !important; padding:.56rem .85rem !important;
  font-weight:700 !important; font-size:12.5px !important; color:#4A4033 !important;
  border:2px solid #D4AF37 !important; /* liseré doré comme les cartes à droite */
  border-radius:14px !important; background:#FFF9F1 !important;
  box-shadow:0 2px 0 rgba(0,0,0,.03) inset !important; pointer-events:none !important;
}
@media (hover:hover){
  td.available:hover::after{ background:#4A4033 !important; color:#fff !important; border-color:#4A4033 !important; }
}

/***** LIGNES/ZEBRAGE DISCRET DERRIÈRE LES CARTES (optionnel) *****/
.planyo table tbody tr:nth-child(odd) th{ background:#F3EEE6 !important; }

/***** VERSION COMPACTE (espaces réduits) *****/
@media (min-width:681px){
  .planyo table{ border-spacing:8px 8px !important; }           /* écart horizontal/vertical entre cartes */
  .planyo table tbody td{ min-height:78px !important; padding:14px 6px !important; }
  td.available::after{ font-size:12px !important; padding:.5rem .78rem !important; }
}

/***** MOBILE : cartes plus hautes, typo un peu plus petite *****/
@media (max-width:680px){
  .planyo table{ border-spacing:6px 8px !important; }
  .planyo table thead th{ font-size:12px !important; }
  .planyo table tbody th{ font-size:10.5px !important; padding:5px 6px !important; }
  .planyo table tbody td{ min-height:96px !important; padding:16px 6px !important; border-radius:12px !important; }
  td.available::after{ font-size:11.5px !important; padding:.5rem .75rem !important; }
  td.unavailable::after{ font-size:11.5px !important; }
}
/* — Grille totalement transparente — */
.planyo table{ 
  border-collapse:separate!important; 
  border-spacing:14px 14px!important;   /* espace entre créneaux, ajuste si besoin */
  background:transparent!important; 
  border:0!important;
}
.planyo table thead th{ 
  background:#4A4033!important; color:#fff!important; font-weight:600!important; 
  border:0!important; font-size:13.5px!important; 
}
.planyo table tbody th{
  background:transparent!important; color:#4A4033!important;
  font-size:11px!important; line-height:1.05!important; font-weight:600!important;
  text-align:center!important; padding:0!important; border:0!important;
}
.planyo table tbody th br{ line-height:.9!important; }

.planyo table tbody td{
  background:transparent!important; 
  border:0!important; box-shadow:none!important; outline:0!important;
  position:relative!important; text-align:center!important; vertical-align:middle!important;
  min-height:84px!important; padding:0!important;
}

/* — Indisponible : texte seul, sans fond ni bordure — */
td.unavailable > *{ opacity:0!important; height:0!important; overflow:hidden!important; }
td.unavailable::after{
  content:"Déjà réservé"!important;
  position:absolute!important; left:50%!important; top:50%!important; transform:translate(-50%,-50%)!important;
  color:#6A3A30!important; font-weight:700!important; font-size:12.5px!important;
  pointer-events:none!important; white-space:nowrap!important;
}

/* — Disponible : pastille “dispos” (bord doré), la grille reste transparente — */
td.available{ cursor:pointer!important; }
td.available > *{ opacity:0!important; height:0!important; overflow:hidden!important; }
td.available::after{
  content:"Réservez\Amaintenant"!important; white-space:pre-line!important; text-align:center!important; line-height:1.15!important;
  position:absolute!important; left:50%!important; top:50%!important; transform:translate(-50%,-50%)!important;
  display:inline-block!important; font-weight:700!important; font-size:12.5px!important; color:#4A4033!important;
  padding:.52rem .78rem!important; border-radius:12px!important;
  border:2px solid #D4AF37!important; background:#FFF9F1!important;   /* garde le look “carte” des dispos */
  pointer-events:none!important;
}
@media(hover:hover){
  td.available:hover::after{ background:#4A4033!important; color:#fff!important; border-color:#4A4033!important; }
}

/* — Navigation / petit calendrier visibles et en brun — */
.planyo .planyo_cal_nav a, .planyo .calendar_navigation a,
.planyo a.planyo_prev, .planyo a.planyo_next{
  color:#4A4033!important; font-weight:700!important; text-decoration:none!important;
}
.planyo .planyo_cal_nav a:hover, .planyo .calendar_navigation a:hover{ text-decoration:underline!important; }
.planyo .planyo_mini_calendar{ background:transparent!important; border:0!important; padding:0!important; }

/* — Mobile : un peu plus haut pour le texte sur 2 lignes — */
@media(max-width:680px){
  .planyo table{ border-spacing:10px 12px!important; }
  .planyo table thead th{ font-size:12px!important; }
  .planyo table tbody th{ font-size:10.5px!important; }
  .planyo table tbody td{ min-height:96px!important; }
  td.available::after{ font-size:11.5px!important; }
  td.unavailable::after{ font-size:11.5px!important; }
}
/* COLONNES + GOUTTIÈRES PLUS SERRÉES (toutes grilles Planyo) */
.planyo .row{margin-left:-10px!important;margin-right:-10px!important;}
.planyo [class*="col-"]{padding-left:10px!important;padding-right:10px!important;}

/* SLOTS (nouveau widget #upcoming-top) plus petits */
#upcoming-top .thumbnail,
#upcoming-top a.thumbnail{
  font-size:12.5px!important;
  line-height:1.25!important;
  padding:6px 8px!important;
  min-width:92px!important;
  max-width:110px!important;
  margin:4px auto!important;
  border-radius:8px!important;
}

/* SLOTS (ancien widget .upcoming .av_time) – au cas où */
.upcoming .av_time,
.upcoming .av_time.av_time_day,
.upcoming .av_time.av_time_h{
  font-size:12.5px!important;
  padding:6px 8px!important;
  margin:6px 4px!important;
  border-radius:8px!important;
  display:inline-block!important;
  min-width:100px!important;
}

.planyo .poweredby,.poweredby {display:none;}
