/*
Kalendar
*/


#kalendar {
  width: 97%;
  min-height: 580px;
  background-color: rgba(255, 255, 255, 1);
  margin-bottom: 40px;
  margin-left: auto;
  margin-right: auto;
  display: inline-block;

  margin-bottom: 40px;
}


#kalendar h2{
 font-family: "Barlow Semi Condensed", sans-serif;
	font-size: 23px;
	font-weight: 600;
    color: rgba(0, 0, 0, 1);

  position: absolute;
  margin-left: 30px;
  margin-top: 30px;
  margin-bottom: 0px;
}
#kalendar p.mesic{
  color: rgba(0, 0, 0, 1);
 font-family: "Barlow Semi Condensed", sans-serif;
	font-size: 23px;
	font-weight: 600;
  margin-left: auto;
  margin-right: auto;
  margin-top: 0px;
  text-align: center;
  display: block;
}

#kalendar ol.dny{
  margin-left: 2%;
  width: 98%;
}
#kalendar ol.dny li{
  list-style: none;
  color: #000000;
 font-family: "Barlow Semi Condensed", sans-serif;
	font-size: 13px;
	font-weight: 300;
  float: left;
  width: 13.8%;
  height: 40px;
  margin-right: 1px;
  margin-top: 10px;
}

#kalendar div.mesic{
  margin-left: 1.5%;
  width: 98%;
}
#kalendar p.den{
 font-family: "Barlow Semi Condensed", sans-serif;
	font-size: 15px;
	font-weight: 600;
  float: left;
  width: 13.8%;
  text-align: center;
  height: 56px;
  line-height: 56px;

  margin-right: 1px;
  margin-bottom: 1px;
  display: block;
}
#kalendar p.den.volny{
 font-family: "Barlow Semi Condensed", sans-serif;
	font-size: 15px;
	font-weight: 600;
  float: left;
  width: 13.8%;
  text-align: center;
  height: 56px;
  line-height: 56px;
  background: rgba(127, 120, 112, .2);
  margin-right: 1px;
  margin-bottom: 1px;
  display: block;
}

#kalendar p.den.rezervovano{
  color: #ffffff;
  background-color: #ef9f52;
}
#kalendar p.den.obsazeno{
  color: #ffffff;
  background-color: #ba0b02;
}

#kalendar ol.legenda{

  width: 100%;
  clear: both;
  display: inline-block;

}
#kalendar ol.legenda li{
  float: left;
  text-align: left;
  font-size: 13px;
  min-width: 160px;
  white-space: nowrap;
  margin-bottom: 5px;
  margin-left: 10px;
}
#kalendar ol.legenda li.cena{
  float: right;
  font-size: 14px;
}
#kalendar ol.legenda li.cena strong{

    color: rgba(127, 120, 112, 1);
 font-family: "Barlow Semi Condensed", sans-serif;
	font-size: 23px;
	font-weight: 600;
}

#kalendar p.info{

  margin-left: 0px;
  display: block;
  width: 97%;
  margin-left: 10px;
  text-align: left;

 font-family: "Barlow Semi Condensed", sans-serif;
	font-size: 13px;
	font-weight: 300;
}


#kalendar ol.legenda li.volny span{
  float: left;
  width: 33px;
  height: 33px;
  background: rgba(127, 120, 112, .2);
  display: block;
  margin-right: 6px;
}
#kalendar ol.legenda li.rezervovany span{
  float: left;
  width: 33px;
  height: 33px;
  background: #ef9f52;
  display: block;
  margin-right: 6px;
}
#kalendar ol.legenda li.obsazeny span{
  float: left;
  width: 33px;
  height: 33px;
  background: #ba0b02;
  display: block;
  margin-right: 6px;
}
  .swiper.kalendar {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    height: 480px;
	  min-height: 480px
}
@media only screen and (min-width: 800px) {
    .swiper.kalendar {
        width: 70%;
        margin-left: 0px;
        float: left;
        height: 480px;
    }
}

/* formulář kalendáře */
.rezervace {
  float: right;
  width: 27%;
}
.rezervace h3{
  color:#000000;
 font-family: "Barlow Semi Condensed", sans-serif;
	font-size: 24px;
	font-weight: ž00;
  float: left;
  margin-left: 0px;
  margin-top: 0px;
  margin-bottom: 34px;
}

.rezervace input.datetimepicker {
    display: inline-block;
   vertical-align: top;

  color: #333;
  padding: 8px 0px 8px 8px;
  width: 90%;
 margin-right: 0px;
 margin-left: 0px;
 background: url(ico-kalendar.png) no-repeat 98% 4px;
background:  rgba(255, 255, 255, 0.94);
 -moz-box-shadow: inset 1px 1px 4px rgba(0,0,0,0.6);
-webkit-box-shadow: inset 1px 1px 4px rgba(0,0,0,0.6);
box-shadow: inset 1px 1px 4px rgba(0,0,0,0.6);
   -moz-border-radius:1px;
-webkit-border-radius: 1px;
border-radius: 1px;
margin-bottom: 10px;
}
.rezervace input {
    display: inline-block;
   vertical-align: top;
   float: left;
	
  color: #333;
  padding: 10px 0px 10px 9px;
  width: 90%;
 margin-right: 0px;
 margin-left: 0px;

	border: solid 1px rgba(127, 120, 112, 1);
 -moz-box-shadow: inset 1px 1px 4px rgba(0,0,0,0.1);
-webkit-box-shadow: inset 1px 1px 4px rgba(0,0,0,0.1);
box-shadow: inset 1px 1px 4px rgba(0,0,0,0.1);
   -moz-border-radius:1px;
-webkit-border-radius: 1px;
border-radius: 1px;
margin-bottom: 15px;
}
.rezervace input.mesto {
    display: inline-block;
   vertical-align: top;

  color: #333;
  padding: 10px 0px 10px 9px;
  width: 40%;
 margin-right: 0px;
 margin-left: 0px;

background:  rgba(255, 255, 255, 0.94);
 -moz-box-shadow: inset 1px 1px 4px rgba(0,0,0,0.6);
-webkit-box-shadow: inset 1px 1px 4px rgba(0,0,0,0.6);
box-shadow: inset 1px 1px 4px rgba(0,0,0,0.6);
   -moz-border-radius:1px;
-webkit-border-radius: 1px;
border-radius: 1px;
margin-bottom: 15px;
}
.rezervace input.psc {
    display: inline-block;
   vertical-align: top;

  color: #333;
  padding: 10px 0px 10px 9px;
  width: 30%;
 margin-right: 0px;
 margin-left: 10px;

background:  rgba(255, 255, 255, 0.94);
 -moz-box-shadow: inset 1px 1px 4px rgba(0,0,0,0.6);
-webkit-box-shadow: inset 1px 1px 4px rgba(0,0,0,0.6);
box-shadow: inset 1px 1px 4px rgba(0,0,0,0.6);
   -moz-border-radius:1px;
-webkit-border-radius: 1px;
border-radius: 1px;
margin-bottom: 15px;
}
.rezervace input.checkbox{

  color: #333;
  padding: 0 0 0 0;
  width: 20px;
 margin-top: 17px;
 margin-left: 0px;

 background-color: rgba(255, 255, 255, 1);
  -moz-box-shadow: inset 0px 0px 0px rgba(0,0,0,0.0);
-webkit-box-shadow: inset 0px 0px 0px rgba(0,0,0,0.0);
box-shadow: inset 0px 0px 0px rgba(0,0,0,0.0);
float: left;
}
.rezervace a.obch {
    color: #000000;
    font-size: 13px;
    width: 80%;
    float: left;
    margin-top: 15px;
    text-decoration: underline;
    margin-bottom: 15px;
}

.rezervace a.fakturacni-otevri{
 background-color:rgba(127, 120, 112, 1);
  padding: 8px;
  color: #FFFFFF;
  font-size: 13px;
  margin-top: 2px;
  float: left;
	width: 90%;
}
.rezervace .fakturacni-cont{
  width: 100%;
  margin-top: 10px;
  float: left;
  display: block;

}






 /* normalni radio (jako tlacitko) */
  input.rez[type=checkbox] {
		display:none;
	}
 input.rez[type=checkbox] + label {

	 /*	display:inline-block;  */
        float: left;

		vertical-align: middle;
		cursor: pointer;



    font-family: "Barlow Semi Condensed", sans-serif;
	 font-size: 15px;
  width: 100%;
  text-align: center;
  height: 56px;
  line-height: 56px;
  background-color: rgba(127, 120, 112, .2);
  -webkit-transition: all 0.25s ease-in;
-moz-transition: all 0.25s ease-in;
-o-transition: all 0.25s ease-in;
transition: all 0.25s ease-in;

  }
 input.rez[type=checkbox] + label:hover {

  background-color: rgba(127, 120, 112, .4);
  -webkit-transition: all 0.25s ease-in;
-moz-transition: all 0.25s ease-in;
-o-transition: all 0.25s ease-in;
transition: all 0.25s ease-in;

  }
input.rez[type=checkbox]:checked + label {
  background-color: rgba(127, 120, 112, 1);
  color: #FFFFFF;

  }


@media screen and (max-width: 799px) {
#kalendar .rezervace {
  float: right;
  width: 95%;
  max-width: 700px;
  margin-top: 20px;
}
#kalendar .rezervace h3{

  float: left;
  margin-left: 0px;
  margin-top: 0px;
  margin-bottom: 20px;
}


#kalendar ol.legenda li{
  display: inline-block;
}
}
@media screen and (max-width: 500px) {
#kalendar .rezervace {
  float: right;
  width: 95%;
  max-width: 700px;
  margin-top: 70px;
}
}

.kalendar .swiper-wrapper {

    height: 450px;
	min-height: 450px
}  

.kalendar .swiper-button-next, .kalendar .swiper-button-prev {
	top: 10px
}

.kalendar .swiper-button-next::after, .kalendar .swiper-button-prev::after {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    border-top: 1px solid rgba(127, 120, 112, 1);
    border-right: 1px solid rgba(127, 120, 112, 1);
    transform: rotate(45deg);
    -webkit-transition: all .4s ease;
    -moz-transition: all .4s ease;
    -ms-transition: all .4s ease;
    -o-transition: all .4s ease;
    transition: all .4s ease;
}
.kalendar .swiper-button-prev::after {
    transform: rotate(-135deg);
}

.rezervovat {
    margin-top: 20px;
    border-radius: 20px;
    font-size: 20px;
    border: 1px solid rgba(127, 120, 112, 1);
    background-color: rgba(127, 120, 112, 1);
    padding: 10px 20px;
    font-weight: 300;
    position: relative;
    /* display: inline-flex; */
    /* align-items: center; */
    text-align: center;
    width: 90%;
    gap: 10px;
    color: rgba(255, 255, 255, 1);
    -webkit-transition: all .4s ease;
    -moz-transition: all .4s ease;
    -ms-transition: all .4s ease;
    -o-transition: all .4s ease;
    transition: all .4s ease;
}




/* pro přehlednost legendy */
.legenda li span {
    display: inline-block;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    margin-right: 5px;
}

/* ==============================================
   VYBRANÉ DNY – diagonálně start/end, range
   a běžný vybraný den
================================================= */

/* běžný vybraný den (jednodenní rezervace) */
.den.vybrano {
    background-color: #6bbf59; /* střední zelená */
    color: #000;
    font-weight: 600;
}

/* první den (check-in) – diagonálně vpravo */
.den.start.vybrano {
    background: linear-gradient(315deg, #6bbf59 50%, #e5e4e3 50%) !important;
    color: #000;
    font-weight: 600;
    position: relative;
    overflow: hidden;
}

/* poslední den (check-out) – diagonálně vlevo */
.den.end.vybrano {
    background: linear-gradient(135deg, #6bbf59 50%, #e5e4e3 50%) !important;
    color: #000;
    font-weight: 600;
    position: relative;
    overflow: hidden;
}

/* dny mezi start a end */
.den.range.vybrano {
    background-color: #6bbf59 !important;
    color: #000;
    font-weight: 600;
}

/* pokud je vybrán jen jeden den (není start/end/range) */
.den.vybrano:not(.start):not(.end):not(.range) {
    background-color: #6bbf59;
    color: #000;
    font-weight: 600;
}

/* hover efekt pro volné dny (neobsazené a nevybrané) */
.den.volny:hover:not(.vybrano) {
    background-color: #8bc34a;
    color: #000;
    cursor: pointer;
}

/* cena pod dnem */
.den .cena-den {
    position: absolute;
    bottom: -14px;
    width: 100%;
    font-size: 10px;
    text-align: center;
    color: #333;
}

/* ==============================================
   OBSADZENO a REZERVOVANO – přebíjí vybrano
================================================= */
.den.rezervovano {
    background-color: #ffeaa7;
    color: #a67c00;
}

.den.obsazeno {
    background-color: #ba0b02;
    color: #fff;
}

/* styl pro jednotlivé dny s cenou */
.den span {
    font-size: 16px;
    font-weight: 600;
    display: block;
    line-height: 1; /* zmenší vertikální roztažení čísla */
}

/* cena pod dnem */
.den small {
    font-size: 11px;
    font-weight: 300;
    display: block;
    line-height: 1;
    margin-top: 2px; /* malé odsazení od čísla */
}

/* centrování čísla a ceny ve dni */
.den {
    display: flex;
    flex-direction: column; /* sloupec: span nahoře, small dole */
    justify-content: center; /* vertikálně */
    align-items: center; /* horizontálně */
    text-align: center;
    height: 56px; /* zachová původní výšku dne */
    line-height: normal; /* aby flex fungoval */
	    padding-top: 10px;
}

.den.checkin {
    background: linear-gradient(135deg, #ba0b02 50%, #e5e4e3 50%);
    color: #fff;
}

.den.checkout {
    background: linear-gradient(315deg, #ba0b02 50%, #e5e4e3 50%);
    color: #fff;
}

/* Plně obsazené dny */
.den.obsazeno:not(.checkin):not(.checkout) {
    background-color: #ba0b02;
    color: #fff;
    cursor: not-allowed;
}

/* Check-in (první den rezervace – půlden obsazeno) */
.den.obsazeno.checkin {
    background: linear-gradient(135deg,  #e5e4e3 50%, #ba0b02 50%);
    color: #fff;
    cursor: pointer;
}

/* Check-out (poslední den rezervace – půlden obsazeno) */
.den.obsazeno.checkout {
    background: linear-gradient(315deg,  #e5e4e3 50%, #ba0b02 50%);
    color: #fff;
    cursor: pointer;
}



#kalendar .den.obsazeno.checkout.start.vybrano {
    background: linear-gradient(135deg, #ba0b02 50%, #6bbf59 50%) !important;
}
#kalendar .den.obsazeno.checkin.end.vybrano {
    background: linear-gradient(135deg, #6bbf59 50%, #ba0b02 50%) !important;
}

/* Vybrané dny */
.den.vybrano.start,
.den.vybrano.end,
.den.vybrano.range {
    border: 2px solid #0055ff;
    box-sizing: border-box;
}


