.body, .html{
  max-height: 500px !important;
}
.messagedett{display: inline-block !important;width: 99% !important;}
.cboth{clear: both !important;}
.elemleft{float: left;}
.marginright{margin-right: 5px !important;}
.p-2{padding: 2px !important;}
.txtdown{font-family: Arial;}
.containerbutton{
  width: 100%;
  display: block;
}
.qbutton{
  width: 100%;
  padding: 4px;
}
.buttonclass{
  padding: 20px;
  background-color: #245e9a;
  color: #fff;
  margin: auto;
  display: block;
  width: 150px;
  text-decoration: none;
  text-align: center;
  border-radius: 6px;
  box-sizing: border-box;
  width: fit-content  !important;

}

.aboutazd{
  width:100%;
  max-height:100%;
  height: auto !important;
  overflow:auto;
  color: #000;
  font-family: inherit;
  padding: 20px;
  font-size: 18px;
}
.qhoursazd{
  width:100% !important;
  max-height:100% !important;
  height: auto !important;
  overflow:auto;
  font-family: inherit;
  color:  inherit;
  padding: 10px !important;
  font-size: 18px;
  box-sizing: border-box;
  display: block;
}
.contqhoursazd{
  width:100% !important;
  max-height:100%;
  padding: 10px !important;
  box-sizing: border-box;

}
.dayrow{
  width: 100% !important;
  clear: both;
  min-height:20px;height: auto !important;
  padding: 2px !important;

}
.dayname{width:110px !important;height: 25px;}
.hourtime{margin-right: 5px;}

.qmapsazd {
  padding: 0px;
  width: 100%;
  min-width: 100px;
  min-height: 100px;
}

.mapplace {
  width:100%;clear: both;max-height:100%;
}
.contmap{

}

.qcontactazd{
  width:100%;
  max-height:100%;
  height: auto;
  overflow:auto;
  color: inherit;
  padding: 10px;
  font-size: 18px;
}
.containercontact{
  width:100%;clear: both;max-height:100%;
}
.itemcontact{
  width:auto;margin: auto;
  clear: both;
}
.hrefondiv{
  color:inherit;
  text-decoration: underline;
  cursor: pointer;
}
.hrefinner{
  color:inherit;
  text-decoration: none;
}
a:hover {
  text-decoration: underline;
}
.qsocialazd{
  width:100%;
  height:100%;
  overflow:auto;
  color: inherit;
  font-family: inherit;
  padding: 5px;
  font-size: 18px;
  display: flex;
  flex-wrap: wrap;
  align-content: left;
}
.divsocial{
  cursor: pointer;
  float: left !important;
  padding: 5px;
  margin-left: 4px !important;
  font-size:25px !important;
}
.qheaderazd{
  width:100% !important;
  height:100%;
  overflow:auto;
  color: #000;

  font-family: inherit;
  padding: 5px;
  font-size: 18px;
}
.hstyle{
  margin: 0px;padding: 0px;color: #fff;
  mix-blend-mode: difference;
}
.header1{ font-size: 45px;}
.header2{ font-size: 35px;}
.header3{ font-size: 30px;}
.header4, .header5, .header6{ font-size: 24px;}

.qfidelityazd{
  width:100% !important;
  min-height:98% !important;
  height: auto !important;
  overflow:hidden;
  font-family: inherit;
  padding: 5px;
  font-size: 18px;
  background: #fff;

}
.mastercontaierfidelity{
  width:100% !important;
  height: 100% !important;
  display: block;

}
.imgfidelityempty{
  width:98% !important;
  height: auto !important;
  margin: 0 auto;
  clear: both;
  cursor: pointer;
}
.imgfidelityempty img{
  width: 98%;
  margin: auto;
  display: block;
}
.titlefidelityempty{
  font-weight: bold;
  padding: 3px; font-family: Arial;
}
.bodyfidelityempty{
  width:99% !important;
  height: 30% !important;
  background: transparent; padding: 3px; font-family: Arial;
}
.buttonfidelityempty{
  width:auto;
  text-align: center;
  max-height: 16%; padding: 10px 20px 10px 20px ;
  background-color: #1ea344; color: #fff;
  overflow: hidden;
  border-radius: 8px;
  float: right;
  cursor: pointer; font-family: Arial;
}

.qflyerazd{
  width:100% !important;
  min-height:98% !important;
  height: auto !important;
  overflow:hidden;
  font-family: Arial;
  padding: 5px;
  font-size: 18px;
  background: #fff;
  display: block  !important;
}
.mastercontaierflyer{
  width:100% !important;
  height: 100% !important;
  display: block;
}
.imgflyerempty{
  width:98% !important;
  height: 67% !important;
  margin: 0 auto;
  clear: both;
  overflow: hidden !important;

}
.imgflyerempty img{
  width: 98%;
  margin: auto;
  display: block;
}
.titleflyerempty{
  font-weight: bold;
}
.bodyflyerempty{
  width:99% !important;
  max-height: 30% !important;
  height: auto !important;
  background: transparent;
}
.buttonflyerempty{
  width:auto;
  text-align: center;
  max-height: 16%; padding: 10px 20px 10px 20px ;
  background-color: #1ea344; color: #fff;
  overflow: hidden;
  border-radius: 8px;
  float: right;
  cursor: pointer;
}


.qcouponazd{
  width:100% !important;
  min-height:98% !important;
  height: auto !important;
  overflow:hidden;
  font-family: inherit;
  padding: 5px;
  font-size: 18px;
  background: #fff;

}
.mastercontaiercoupon{
  width:100% !important;
  height: 100% !important;
  display: block;
}
.imgcouponempty{
  width:98% !important;
  height:auto !important;
  margin: 0 auto;
  clear: both;
  cursor: pointer;
}
.imgcouponempty img{
  width: 98%;
  margin: auto;
  display: block;
}
.titlecouponempty{
  font-weight: bold; padding: 3px; font-family: Arial;
}
.headercouponempty{
  font-weight: bold; text-align: right; width:97%% !important;padding: 3px; font-family: Arial;
}
.detbodycouponempty{
  height: 10% !important;  padding: 3px;
  font-weight: bold; text-align: left; width:97%% !important; ; font-family: Arial;
}
.bodycouponempty{
  width:99% !important;
  max-height: 15% !important;
  height:auto !important;
  background: transparent; padding: 3px; font-family: Arial;
}
.buttoncouponempty{
  width:auto;
  text-align: center;
  max-height: 10%; padding: 10px 20px 10px 20px ;
  background-color: #1ea344; color: #fff;
  overflow: hidden;
  border-radius: 8px;
  float: right;
  cursor: pointer; font-family: Arial;
}


.reviewsazd{
  width:100% !important;
  height:280px !important;
  height: auto !important;
  overflow:hidden;
  font-family: inherit;
  padding: 5px;
  font-size: 18px;
  background-color:#f2f7fb;
  margin-top: 10px;
}

.conttbreview{font-size:18px;margin: 0px;border:0px !important;padding: 2px !important;text-align: center;margin: auto;display: flex; align-items: center; justify-content: center;}
.footerrev{font-size:16px;margin: 0px;border:0px !important;padding: 2px !important;text-align: center;margin: auto;display: flex; align-items: center; justify-content: center;clear: both;}

.cardreview{text-align: left;float: left;padding: 10px;width:23%;margin: 0 auto; border-right:1px solid #abaeb6;overflow: hidden;}
.detreview{border: 0px !important;padding: 2px !important;}
.detreview tr{border: 0px !important;padding: 0px !important;margin: 0px !important;}
.detreview td{border: 0px !important;padding: 0px !important;text-align: left !important;}
.datarev{font-size: 13px;}
.usrname{float: left;padding: 10px;}
.avtusrrev{float: left;width:45px;height: 45px;}
.avtusrrev img{width: 98%;}
.txtreview{width:90%;padding-top: 5px; height:200px;overflow: hidden;font-size: 14px;}
.txtreviewall{overflow: auto;font-size: 14px;}

.yel{ color:#eddc1b;font-size:20px;}
.rmore{cursor: pointer;margin: 0px !important;text-decoration: underline;}

.btnrw{float: left;margin-right: 10px;}
.btnrw:hover{cursor: pointer;text-decoration: underline;}

/*shop*/

.qshopazd{
  width:100% !important;
  height:auto !important;
  overflow:hidden !important;
  font-family: inherit;
  padding: 5px;
  font-size: 18px;
  background: #fff;
  margin: auto;

}
.selectcat{
  width:auto !important;
  height:auto !important;
  border: 1px solid #f2f4ef;
  border-radius: 10px;
  padding: 10px;
  clear: both;

}
.boxprod{
  clear: both;
  width:98% !important;
  height:auto !important;
  overflow:hidden;
  font-size: 18px;
  background: #fff;
  margin: auto;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 10px;

}

.containerprod{width: 31% !important;float: left;margin: 0 auto;cursor: pointer;}

.mastercontaiershop{
  width:100% !important;
  height: 100% !important;
  display: block;
}
.imgshopempty{
  width:98% !important;
  height:400px !important;
  margin: 0 auto;
  clear: both;
  overflow: hidden;
  cursor: pointer;
}
.imgshopempty img{
  width: 98%;
  margin: auto;
  display: block;
  margin-top: 12px;
  border-radius: 5px;
}
.titleshopempty{
  font-size: 20px;
  font-weight: bold;
  height: 50px;
  padding: 4px;
}
.headershopempty{
  padding: 4px;
  font-weight: bold; text-align: right; width:97%% !important; ;
}
.detbodyshopempty{
  padding: 4px;
  height: 10% !important;
  font-weight: bold; text-align: left; width:97%% !important; ;
}
.bodyshopempty{
  padding: 4px;
  width:99% !important;
  height:100px !important;
  overflow: hidden;
  background: transparent;
}
.buttonshopempty{
  width:auto;
  text-align: center;
  max-height: 10%; padding: 10px 20px 10px 20px ;
  background-color: #1ea344; color: #fff;
  overflow: hidden;
  border-radius: 8px;
  float: right;
  cursor: pointer;
}

.bodypriceempty{
  padding: 10px;
  font-size: 20px;
  font-weight: bold;
}

.pageshop{
  clear: both;
  width:100% !important;
  height:70px% !important;
  overflow:hidden;
  font-size: 18px;
  background: #fff;
  margin: auto;
  display: flex; align-items: center; justify-content: center;
}
.btnpage{
  margin: 5px;
  width: 45px; height: 45px; border-radius: 50%;
  background-color: #d7dbd2; border: 1px solid #959c8e;
  color:#000;
  text-align: center;
  font-size: 15px;
  line-height: 43px;
  cursor: pointer;
}
.btnpage:hover{
  border: 1px solid #bfd6a9;
}
.selcurrentpage{ border: 2px solid #799c56;  }
/*moduli*/

.formslead, .formsmessaggio, .formsnewsletter{
  width:100% !important;
  max-height: 99% !important;
  height:auto !important;
  overflow:hidden;
  font-family: inherit;
  padding: 5px;
  font-size: 18px;
  background: inherit;
  margin: auto;
}
.cellmsg{
  width:99% !important; padding: 2px;
}
.formlista, .formscnt{
  width:100% !important;
  max-height: 99% !important;
  height:auto !important;
  overflow:hidden;
  font-family: inherit;
  font-size: 18px;
  background: inherit;
  margin: auto; padding: 1px;
}
.bodyformscnt{
  width:100% !important;
  max-height: 99% !important;
  height:auto !important;
  overflow:hidden;
  font-family: inherit;
  font-size: 18px;
  background: inherit;
  margin: auto; padding-bottom: 10px;
}

.formslead table, .formsmessaggio table, .formsnewsletter table{
  width: 99%;
  border: 0px !important;
}
.divcheckboxdett{
  width:99% !important;
  height: auto !important;
  border: 0px !important;
  padding: 8px 0px 8px 0px;
}
.circleradio {height: 20px;width: 20px;background-color: #ffffff;border-radius: 50%;display: table-cell;text-align: center;vertical-align: middle;}
.modal{position: fixed;}
input[type="radio"] {
  background-color: #fff;
  margin: 0;
  font: inherit;
  color: currentColor;
  width: 1.15em;
  height: 1.15em;
  border: 0.15em solid currentColor;
  border-radius: 50%;
}

.contradio{
  width:90% !important;
  float: left;
  padding: 8px 0px 8px 0px;
}
.lblradio, .lblcheck{
  padding-left: 8px; font-size: 16px;
}
.formslead tr, .formsmessaggio tr, .formsnewsletter tr{border: 0px !important;padding: 0px !important;margin: 0px !important;}
.formslead td, .formsmessaggio td, .formsnewsletter td{border: 0px !important;padding: 0px !important;text-align: left !important;}
.selectsimple{height: 35px;width: auto; margin-left:10px;border: 1px solid #000;}
.selectnormal{height: 35px;width: 97%;}
.selcontainer{width: 100%;min-height: 60px;height: auto;}
.lblformrow{font-size: 16px;padding: 8px 0px 8px 0px;float: left;color: #000;clear: both;width: 100%;font-family: Arial; }
.lblform{font-size: 16px;padding: 4px 0px 4px 0px;float: left;color: #000;font-family: Arial;}
.inpform{font-size: 16px;height: 35px;width: 97%;}
.classcap{font-size: 16px;height: 35px;width: 30%;}
.classcapleft{font-size: 16px;height: 35px;width:80px !important;float: left;}
.classcapright{margin-left: 10px;font-size: 16px;height: 35px;width: 65%;float: left}
.txtmsgmessage{mix-blend-mode: difference;color: white;width:99%;text-align:center; }
.selprv{width: auto;height: 40px;}
.txtinpform{font-size: 16px;height: 80px;width: 97%;resize: none !important;overflow: auto;}
.formlista selectx{height: 35px;width: auto;padding: 5px !important;}
.lbltrigger{font-size: 13px;color:#757872;padding-top:5px;padding-bottom:5px;}
.captcha{padding-top:5px;padding-bottom:5px;}
.btninvia{
  width:auto;
  text-align: center;
  max-height: 10%; padding: 10px 20px 10px 20px ;
  background-color: #1ea344; color: #fff;
  overflow: hidden;
  border-radius: 8px; border: 0px; font-size:18px;
  float: left;
  cursor: pointer;
}
.btninvia:hover{cursor: pointer;text-decoration: underline;}


.tksmsg{
  height: 30px;background: transparent; font-family: Arial;
  width: 90%; float: right; padding-top: 5px;text-align: center;
}
.errmsg{
  height: 30px;color: #ff0000;
  background-color: #fff; padding-top: 5px;
  width: auto; float: right;
}
.errmail{width: 99%;text-align: center;color: #ff0000;font-family: Arial;font-weight: bold;}
.hideelem{
  display: none;
}
.showelem{
  display: none;
}
.errorfields{
  border: 1px solid #ff0000 !important;
}
.athprv{
  display: grid;
  padding-top: 2px;
  padding-bottom: 2px;
  width: 100%;
}

.qstreamazd{
  width:100% !important;
  height:100% !important;
  height: auto !important;
  overflow:auto;
  font-family: inherit;
  padding: 5px;
  font-size: 18px;
  background-color:#f2f7fb;
  margin-top: 10px;
  display: table;
  text-align: center;
  align-content: center;
}

.qizpost{
  float: left !important;
  max-height:500px !important;
  overflow:hidden !important;
  padding: 5px;
  border: 1px solid #b9b9b9 !important;
  background-color: #fff;
  border-radius: 10px;
  margin: 0 auto;
  margin-top: 5px !important;
  margin-left: 2% !important;
  width: 31% !important;
  cursor: pointer;
}

.avatarqizpost{
  width:35px !important;
  height: 35px !important;
  clear: both !important;
  display: block;
}
.avatarqizpost img{
  width:99% !important;
}
.dataqizpost{
  text-align: left;font-size: 12px; color:#b9b9b9;clear: both !important; display: block;
}
.imgqizpost{
  width: 100% !important;
  height:350px !important;
  overflow: hidden !important;
  text-align: center !important;
}
.imgqizpost img{
  width: 100% !important;
  margin: auto !important;
}
.bodyqizpost{
  min-height: 100px !important;
  height: auto;
  overflow: hidden;
  margin: auto;
  text-align: left;
  clear: both !important;
}

.elempost{
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  margin: auto !important;
}
.elempostimg{
  padding: 10px !important;
  float: left !important;
  width: 60% !important;
  height:100% !important;
  overflow: hidden !important;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
  background-color: #000;
}
.elempostimghoriz{
  width: 95% !important;
  height: auto;
  margin: auto !important;
}
.elempostimgvertical{
  height:  95% !important;
  height:  auto;
  margin: auto !important;
}
.elemposttxt{
  font-family: Arial;
  padding: 10px !important;
  float: left;
  width: 37% !important;
  height:99% !important;
  overflow: hidden !important;
}

.detuser{
  width: 100% !important;
  height: 65px !important;
  border-bottom: 1px solid #d9ded4 !important;
  margin-bottom: 5px;
}
.avatarpost{
  float: left;
  width: 45px; height: 45px;
}
.avatarpost img{
  width: 100% !important;
}
.usernamepost{
  float: left;
  float: left;
  padding: 5px;
  font-weight: bold;
  font-size: 14px;
  color: #000;
}
.datapost{
  color:#8a9096;
}

.elempostbodytxt{
  clear: both;
  width: 99% !important;
  height: 90% !important;
  overflow: auto !important;
  color:#000;
  padding: 10px;
  font-size: 15px;
  line-height: 30px;

}
.titleprod{
  float: left;
  padding: 5px;
  font-weight: bold;
  font-size: 16px;
  color: #000;
  width: 99%;
  height: 60px;
}
.priceprod{
  float: left;
  padding: 5px;
  font-weight: bold;
  font-size: 28px;
  color: #0d62ca;
  width: 99%;
  height: 50px;
}

.btnprimary{cursor: pointer;width:120px;background-color: #3bb60d;color:#fff; text-align: center;margin: auto;padding: 10px;border-radius: 11px;}
.iconclose{float:right;cursor: pointer;width:35px; height:35px;background-color: #fff;background: url("iconclose.png") no-repeat;   background-size: 100%; background-clip: border-box;}
.ctaversion{clear: both;margin-top: 20px;}

.copyrightqiz{width: 100%;height: 40px;text-align: center;}
.copyrightqiz table{color:#bdbdbb;font-size: 14px;margin-top: 5px;margin: auto;}

.datanascita{ font-size: 16px; width:100%; height: auto;}

.ggnas{ float: left;width:60px;}
.mmnas{ float: left;width:60px;}
.aanas{ float: left;width:90px;}
.selectgg, .selectmm, .selectaa{height: 35px;}
.elemprivacy{
  padding: 10px !important;
  float: left;
  width: 98% !important;
  height:99% !important;
  overflow: hidden !important;
}
.elempostbodyprivacy{
  width: 98% !important;
  height:89% !important;
  overflow: auto !important;
  border-bottom: 1px solid #a1a4a9;
  padding: 10px;
}

/*survey*/
.elemsurvey{
  padding: 0px !important;
  float: left;
  width: 100% !important;
  height:100% !important;
  overflow: auto !important;
  border-radius: 10px;
}
/*
.bodyclass{ background: rgb(2,0,36);
background: radial-gradient(circle, rgba(2,0,36,1) 0%, rgba(9,9,121,1) 35%, rgba(0,212,255,1) 100%); }
.headersrv{clear: both;width: 100%;height: 60px;background-color: #fff;margin-bottom: 15px;border-radius: 10px;}
.logo{margin-left: 10px;height: 58px;float: left;}
.nomeprg{height: 58px;float: left;padding: 10px;line-height: 33px;font-size: 20px;font-weight: bold;}

.blocklogo{width: #000;padding:10px;}
.containerask {
	max-width: 600px;
	min-height: 500px;
	height:auto;
	margin: 0 auto;
	padding: 20px;
	background-color: #fff;
	border-radius: 10px;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  font-family: arial;
}
.bloccoask{display: table;width: 100%;clear: both;min-height: 80px;height:auto;margin-bottom: 10px;margin-top: 10px;background-color: #fff;}
.sh1{ font-size: 20px;font-weight: bold;height: auto;clear: both;}
.spara{ margin-top: 10px;margin-bottom: 10px;font-size: 16px;font-weight: normal;width:99%;height: 70px;color:#767981;}
.sasksurv{ font-size: 20px;font-weight: bold; clear: both;}
.answersurv{ width: 99%; min-height: 50px;height: auto;margin: auto;background-color: #fff;}
.answersurvgrades{ width: 99%; min-height: 80px;height: auto;margin: auto;background-color: #fff;}
.contstar{cursor:pointer;margin: 5px;margin-top: 10px;float: left;width: 35px;height: 30px;text-align: center;}
.btnrating{clear: both;width:30px; height:30px;background-color: #fff;}
.star1{background: url("img/csat-star-one.png") no-repeat;background-size: 100%; background-clip: border-box;}
.star2{background: url("img/csat-star-two.png") no-repeat;background-size: 100%; background-clip: border-box;}
.star3{background: url("img/csat-star-three.png") no-repeat;background-size: 100%; background-clip: border-box;}
.star4{background: url("img/csat-star-four.png") no-repeat;background-size: 100%; background-clip: border-box;}
.star5{background: url("img/csat-star-five.png") no-repeat;background-size: 100%; background-clip: border-box;}
.smile1{background: url("img/smile-one.png") no-repeat;background-size: 100%; background-clip: border-box;}
.smile2{background: url("img/smile-two.png") no-repeat;background-size: 100%; background-clip: border-box;}
.smile3{background: url("img/smile-three.png") no-repeat;background-size: 100%; background-clip: border-box;}
.smile4{background: url("img/smile-four.png") no-repeat;background-size: 100%; background-clip: border-box;}
.smile5{background: url("img/smile-five.png") no-repeat;background-size: 100%; background-clip: border-box;}
.txtstar{text-align: center;font-size: 15px;width:30px;clear: both;}
.optgrades{margin-top: 5px;}
.footer{clear: both;width: 100%;height: 60px;}
.txtarea{width:95%;height: 70px;resize: none;}

*/
.btnconferma{cursor: pointer;border-radius: 10px;margin: auto;text-align: center;width: 80px;height: 45px;line-height: 42px;font-size: 20px;font-family: arial;color:#fff;background-color: #24a24f;text-align: center;}
.btnprivacy{margin: auto;text-align: center;margin-top: 15px;margin-bottom: 15px;}

/*newsletter*/
.card-title{
  font-size:25px;
  font-weight:300;
  color:rgb(68, 68, 68);
}

/*CALENDARIO PRENOTAZIONI*/
/* ------------------------------------
   Backdrop
------------------------------------ */
.divclear{
  clear: both;
}
.divlf{
  float: left;
}
.lblevents{
  width:90%;
  text-align: left;
  color:#3076be;
  font-size: 18px;
  box-sizing: border-box;
}
.glb-backdrop {
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.8);
    z-index: 10000;
}

/* ------------------------------------
   Modal container
------------------------------------ */
.glb-modal {
    position: relative;
    width: 99% !important;
    height: 99% !important;
    background: #fff;
    display: flex;
    flex-direction: column;
    border-radius: 6px;
    overflow: hidden;

}

/* ------------------------------------
   Close / Title Bar
------------------------------------ */
.glb-close {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 20px;
    font-size: 20px;
    font-weight: bold;
    border-bottom: 1px solid #eee;
}
.glb-close span { cursor: pointer; }

/* ------------------------------------
   Main Content (3 columns)
------------------------------------ */
.glb-content {
    flex: 1;
    display: flex;
    overflow: hidden;
    width: 100% !important;
}

/* Left column: 40% */
.glb-left {
    flex: 0 0 40%;
    padding: 20px;
    overflow-y: auto;
    border-right: 1px solid #eee;
    text-align: left;
}
.glb-left img {
    max-width: 100%;
    border-radius: 4px;
    margin-bottom: 15px;
}
.glb-left .title {
    font-size: 24px;
    margin: 5px 0;
}
.glb-left .duration {
    font-size: 14px;
    color: #888;
}
.glb-left .placeevnts {
    font-size: 16px;
    width: 100%;
    clear: both;
    margin-bottom: 5px;
}
.glb-left .description {
    font-size: 16px;
    line-height: 1.4;
    width: 100%;
    clear: both;
}
.glb-left .priceevnt {
    font-size: 16px;
    line-height: 1.4;
    margin-top: 20px;
    width: 100%;
    clear: both;
    color: #1d1d1d;
}

/* contenitore dx (calendario + fasce) */
.glb-right {
    display: flex;
    width: 55%;
    transition: width 0.3s;
}
.glb-calendar {
    flex: 1;
}
/* default: fasce nascoste */
.glb-slots-col {
    flex: 0 0 0;
    width: 0;
    overflow: hidden;
    border-left: 1px solid #eee;
    transition: flex 0.3s ease;
}
/* default: calendario occupa tutto */
.glb-right {
    flex: 1;
    transition: flex 0.3s ease;
}
/* quando aperte le slots */
.glb-right.has-slots .glb-slots-col {
    flex: 0 0 20%;
}
.glb-right.has-slots .glb-calendar {
    flex: 0 0 80%;
}

/* ------------------------------------
   Calendar Header
------------------------------------ */
.glb-calendar-header {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 50px;
    position: relative;
}
.glb-calendar-header .month-year {
    width: 200px;
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    line-height: 50px;
}
.glb-calendar-header .nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 18px;
    cursor: pointer;
    user-select: none;
}
.glb-calendar-header .prev,
.glb-calendar-header .next {
    border: none;
    background-color: #b6ecee;
    color: #245e9a; border-radius: 50%;
    box-sizing: border-box;
}
.glb-calendar-header .prev {
    left: 10px;
    font-size: 22px;
    margin-top: 2px;
}
.glb-calendar-header .next {
    right: 10px;
    font-size: 22px;
    margin-top: 2px;
}
.glb-calendar-header .prev:hover,
.glb-calendar-header .next:hover {
    color: #7cacde;
}

.glb-calendar-header-row {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
}
.glb-calendar-header-cell {
    padding: 5px;
    font-size: 12px;
    color: #555;
    background: #f5f5f5;
    text-align: center;
}

.glb-calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
}
.glb-calendar-cell {
    padding: 8px;
    height: 42px; line-height: 32px !important;
    text-align: center;
    border: 1px solid #ddd;
    box-sizing: border-box;
    user-select:none;
    cursor: not-allowed;
}
.glb-calendar-cell.available {
    background: #6CC5EB;
    color: #fff;
    border-radius: 4px;
    cursor: pointer;
}
.glb-calendar-cell.sunday,
.glb-calendar-cell.holiday {
    background: #e74c3c !important;
    color: #fff !important;
}
.glb-calendar-cell.available.sunday,
.glb-calendar-cell.available.holiday {
    background: #e74c3c;
}

.slot-btn {
    display: block;
    width: 90%;
    margin: 8px auto;
    padding: 8px;
    background: #6CC5EB;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    text-align: center;
}

.glb-footer {
    padding: 10px;
    text-align: center;
    border-top: 1px solid #eee;
}
.glb-btn {
    padding: 8px 20px;
    background: orange;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 16px;
    cursor: pointer;
}
.btnslotsday{
  display:block;
  width:90%;
  margin:8px auto;
  padding:12px;
  border:1px solid #6cc5eb;
  border-radius:4px;
  background:#fff;
  cursor:pointer;
  font-size: 18px;
}

.slot-btn {
  display: block;
  width: calc(100% - 20px);
  margin: 5px auto;
  padding: 10px;
  border: 1px solid #6cc5eb;
  border-radius: 4px;
  background: #fff;
  color: #105378;
  cursor: pointer;
  text-align: center;
  font-weight: bold;
}
.slot-btn:hover {
  background: #e6f7ff;
}
.slot-btn:active {
  background: #6cc5eb;
  color: #fff;
}

/*slot prenota*/
.contslots{
  background: white;
  border-radius: 10px;
  padding: 30px;
  max-width: 500px;
  width: 90%;
  height: 90%;
  max-height: 600px;
  text-align: center;
}
.titleslots{
  margin: 0px;
  margin-bottom: 10px; font-size: 24px; color: #0069cb;
}
.slotsContainer{
  height: 60%;
  overflow-y: auto;
  margin-bottom: 30px;
  border: 1px solid #e0e0e0;
  border-radius: 5px;
  padding: 10px;
  background: white;
}
.calendargen{
  width:45px; height:45px;background-color: #fff;background: url("img/iconcalendar.png") no-repeat;   background-size: 100%; background-clip: border-box;
}
.slotButton{
  display: block;
  width: 100%;
  margin: 8px 0;
  padding: 15px;
  border: 2px solid #6cc5eb;
  border-radius: 8px;
  background: white;
  color: #333;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  transition: all 0.3s ease;
}

.qiz-toast {
  position: fixed;
  left: 50%;
  bottom: 30px;
  transform: translateX(-50%);
  background: #333;
  color: white;
  padding: 14px 24px;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 500;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
  opacity: 0;
  z-index: 100001;
  transition: opacity 0.3s ease, bottom 0.3s ease;
}
.qiz-toast.show {
  opacity: 1;
  bottom: 50px;
}
.qiz-toast.success { background: #28a745; }
.qiz-toast.error { background: #dc3545; }
.qiz-toast.info { background: #17a2b8; }



/* Radio + label inline */
.formradio .contradio {
  display: flex;
  align-items: center;
  gap: 8px;              /* spazio tra radio e testo */
}

.formradio .contradio input[type="radio"] {
  margin: 0;
}

.formradio .contradio .lblradio {
  display: inline-block; /* override del label globale */
  margin: 0;
  font-weight: 600;
  cursor: pointer;
}

/* RESPONSIVE */
@media (min-width: 300px) and (max-width: 767px) {
    .headerblockbok{
      min-height: 50px !important;
      padding: 20px 10px !important;
    }
    .header-textbok {
        font-size: 22px !important;
    }
    .glb-content {
        flex: 1;
        flex-direction: column;
        display: flex;
        overflow: hidden;
        width: 100% !important;
    }

    /* Left column: occupa tutto lo spazio disponibile */
    .glb-left {
        flex: 0 0 auto;
        padding: 10px;
        overflow-y: auto;
        border-right: none;
        border-bottom: 1px solid #eee;
        text-align: left;
    }
    .glb-left img {
        max-width: 100%;
        border-radius: 4px;
        margin-bottom: 15px;
    }
    .glb-left .title {
        font-size: 22px;
        margin: 5px 0;
    }
    .glb-left .duration {
        font-size: 14px;
        color: #888;
    }
    .glb-left .placeevnts {
        font-size: 16px;
        width: 100%;
        clear: both;
        margin-bottom: 5px;
    }
    .glb-left .description {
        font-size: 16px;
        line-height: 1.4;
        width: 100%;
        clear: both;
    }
    .glb-left .priceevnt {
        font-size: 16px;
        line-height: 1.4;
        margin-top: 20px;
        width: 100%;
        clear: both;
        color: #1d1d1d;
    }

    /* Right section: occupa tutto lo spazio rimanente e si incolonna */
    .glb-right {
        flex: 1;
        flex-direction: column;
        width: 100% !important;
        display: flex;
    }

    /* Calendario: occupa tutto lo spazio in larghezza */
    .glb-calendar {
        flex: 1;
        width: 100% !important;
        display: block;
    }

    /* Slots: si incolonna sotto il calendario e occupa tutto lo spazio */
    .glb-slots-col {
        flex: 0 0 auto;
        width: 100% !important;
        overflow: visible;
        border-left: none;
        border-top: 1px solid #eee;
        transition: none;
    }

    /* Quando le slots sono aperte, mantiene la struttura a colonna */
    .glb-right.has-slots {
        flex-direction: column;
    }
    .glb-right.has-slots .glb-calendar {
        flex: 1;
        width: 100% !important;
    }
    .glb-right.has-slots .glb-slots-col {
        flex: 0 0 auto;
        width: 100% !important;
    }
    .top-header{
        padding: 10px !important;
    }
    .header-text {
        font-size: 24px;
        text-align: center;
    }
    .project-name {
        font-size: 16px;
    }
    .top-header {
        min-height: 80px;
        padding: 15px;
    }
    .header {
        min-height: 250px;
        padding: 30px 15px;
    }
    .bloccoprenota {
        height: auto;
        min-height: 400px;
        padding: 15px;
    }
    .footer {
        height: auto;
        min-height: 70px;
        padding: 15px;
    }

    .contslots{
      background: white;
      border-radius: 10px;
      padding: 20px;
      max-width: 99%;
      width: 99%;
      max-height: 80%;
      overflow-y: auto;
      text-align: center;
    }
}

/*mobile*/
@media (min-width: 300px) and (max-width: 767px) {

  .formslead, .formsmessaggio, .formsnewsletter{
    width:100% !important;
    max-height: 99% !important;
    height:auto !important;
    overflow:hidden;
    font-family: inherit;
    padding:0px;
    font-size: 18px;
    background: inherit;
    margin: auto;
  }
  .cellmsg{
    width:99% !important; padding: 5px !important;box-sizing: border-box;
  }
  .imgcouponempty img{
    height: auto;
    width: 98%;
  }
  .imgfidelityempty img{
    height: auto;
    width: 98%;
  }
  .reviewsazd{display: block;height: auto;}
  .conttbreview{display: block !important;height: auto;}
  .cardreview{float: left !important;padding: 10px;
    width:98% !important;
    border-top:0px solid #abaeb6;
    border-right:0px;}

  .boxprod{
    display: table !important;
    text-align: center;
    align-content: center;
    height: auto  !important;
  }
  .containerprod{clear: both;width:99% !important;float: left;margin: 0 auto;margin-top: 10px;}

  .imgshopempty img{
    height: auto;
    width: 98%;
  }
  .formslead table, .formsmessaggio table, .formsnewsletter table{
    width: 100%;
    border: 0px !important;
  }
  .inpform{font-size: 16px;height: 35px;width: 96% !important;}
  .txtinpform{font-size: 16px;height: 80px;width: 96% !important;resize: none !important;overflow: auto;}
  .qizpost{
    float: left !important;
    max-height:500px !important;
    overflow:hidden !important;
    padding: 5px;
    border: 1px solid #b9b9b9 !important;
    background-color: #fff;
    border-radius: 10px;
    margin: 0 auto;
    margin-top: 5px !important;
    margin-left: 2% !important;
    width: 99% !important;
  }
  .imgqizpost{
    height:280px !important;
  }
  .elempost{
    margin-top: 5px;
  }
  .elempostimg{
    clear: both;
    width:100% !important;
    height:280px !important;
  }
  .elemposttxt{
    width:99% !important;
  }
  .elempostbodytxt{
    height: 45% !important;
  }
  .classcapleft{
    width:80px !important;
  }
  .selectsimple{display: inline-flex;background-color: #fff;height: 40px !important;line-height: 35px;width: auto; margin-left:10px;border: 1px solid #000;margin-top: 5px;}
}
