*{
    margin: 0px;
    padding: 0px;
}
.custom-control-input:checked ~ .custom-control-label::before {
  background-color: blue;
  border-color: darken(blue, 10%);
}
input[type=radio]{
  transform:scale(1.8);
}


body{
    font-family: 'Plus Jakarta Sans', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    background: #f9f9f9;
    font-size: 14px;
    font-weight: 400;
    color: #1e293b;
    overflow-x: hidden;
}
.btn-cal-green:hover {
  color: #000;
  background-color: #48f270;
  border-color: #1e7e34;
}
  .btn-cal-green {
  color: #111;
  background-color: #d0f2d8;
  border-color: #1e7e34;
}
#carousel-grid{
    //border-top: 5px solid #3188a7;
    //border-bottom: 5px solid #e9e9e9;
    //background: #3d9abb;
    min-height: 400px;
}
.logform{
    background: #d6f5f5;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.w-14 { width: 14% !important; }
.htbl-bold {font-weight:bold; font-size:12px;}

#carousel-grid a.carousel-control-next,#carousel-grid a.carousel-control-prev{
    line-height: 315px;    
}

#header-grid {
	border-top: 5px solid #3188a7;
    border-bottom: 5px solid #e9e9e9;
    background: #3d9abb;
    min-height: 75px;	
}

#header-grid h1 {
	color: white;
	text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
	font-weight: bold;
	font-size: 34px;

}


.carousel-item{
    min-height: 315px;
    margin-bottom: 0px;
    background-color: transparent;
    color:#fff;

}


.navbar-brand{
    font-weight: bold;
    font-size: 34px;
    color: #000;
    margin: 10px 0px;
}

.navbar-brand img {
	width: 150px;				   
}


#section-top{
    margin: 20px auto;
}
.section h1{
    font-size: 35px;
    color: #000;
    margin: 24px 0px;
    font-weight: bold;
}

#section-top .snapshot img{
    max-width: 100%;
    height: auto;
    padding-bottom: 15px;
}
.section p{
    font-size: 18px;
    color: #000;
    line-height: 30px;
}

#section-middle{
    padding: 1% 0%;
    margin-top: 40px;
    background: url(../images/front/section-middle-bkg.png);
}

#section-middle p{
    margin-bottom: 30px;
}

#section-middle .card{
    min-height: 208px;
    max-height: 208px;
}


#section-middle .card{
    box-shadow: none;
}

#section-middle .card-default{
    border-bottom: 2px solid #ddd;
}

#section-middle .card-body .text-divider{
    width: 35px;
    border-top: 1px solid #3d9abb;
    margin: 16px auto;
}

#section-middle .card-body > p{
    padding-left: 45px;
    padding-right: 45px;
    
}

section img{
    margin: 12px;
}
#section-bottom{
    padding-top: 20px;
   _background: #414cb4d4;
background-image: url("/obr/zakladni2u2.jpg");
}

.btn-primary-carousel{
   color: #fff;
  background-color: #476fb1;
  border-color: #121313;
}
.btn-primary-carousel:hover{
   color: yellow;
  background-color: 	#4252d1;
  border-color: #121313;
}

#section-bottom .card-primary > .card-body,#section-bottom .card-primary > .card-header{
    _background: #3b98b9;
    background-repeat: no-repeat; 
    background-position: top;
    border-radius: 0px 0px 4px 4px;
    padding-bottom: 10px;
}

#section-bottom .tryit > .card-body{
    color: #fff;
    margin-top: 40px;
}

#section-bottom .list-group-item-success{
    font-size: 24px;
    padding-top: 10px;
}
.navbar-nav li:last-child{
    background-image: none;
    padding-right: 0px;
}


img.arrow-try{
    
    margin: -20px 0px 20px -2px;
}
#footer-top{
    margin-top: 15px;
}

#contact-boxes {
	width: 100%;
	position: relative;
	padding-bottom: 1.5em;
}

#contact-boxes ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
	text-align: center;
}

#contact-boxes li {
	display: inline-block;
	vertical-align: top;
	width: 256px;
	margin: 0.5em 5px;
	height: 230px;
	padding: 10px;
	border: 2px solid;
	text-align: left;
}

#contact-boxes .cb-item-title {
	text-align: center;
	font-weight: bold;
	font-size: 20px;
}

#contact-boxes hr {
	margin: 10px 0;
}

#contact-boxes .cb-item-image {
	margin: 10px auto;
	display: block;
	width: 100px;
	border: 3px solid;
}

#contact-boxes .cb-item-image-130px {
	width: 130px;
}

#contact-boxes .cb-item-text {
	text-align: center;
}

#contact-boxes .cb-item-text .cb-text-block {
	margin-bottom: 10px;
}

#contact-boxes .cb-item-phone {
	text-align: center;
}

#contact-boxes .cb-item-button {
	display: block;
	margin: 0 auto;
	margin-top: 10px;
	padding: 5px 10px;
	width: 75%;
	text-align: center;
	font-weight: bold;
}

#contact-boxes .cb-item-sub {
	font-size: 12px;
	text-align: center;
}

#contact-boxes li {
  border-color:#E6E6E6;
}

#contact-boxes .cb-item-image {
  border-color:#E6E6E6;
}

.registerForm {
	width:350px;
	margin: 0 auto;
}
/*screen size lg*/
@media (min-width: 990px) {
    #topnav{
        background-image: url(../images/front/side-lg-nav-bkg.png); 
        background-repeat: repeat-y; 
        background-position: right;

    }

	.navbar-brand img {
		width: 130px;				   
	}

    .navbar-default .navbar-nav > .active > a,
    .navbar-default .navbar-nav > .active > a:hover,
    .navbar-default .navbar-nav > .active > a:focus {
        background-image: url(../images/front/nav-lg-active.png); 
        background-repeat: no-repeat; 
        background-position: bottom;
        /*background-color: #e7e7e7;*/

    }

    .nav-item img{
        float: left;
        margin: 0px 20px;
    }

    .text-divider{
        display: block;
        margin: 20px auto;
        width: 35px;
       border-top: 1px solid #3d9abb;
 
    }

    #navbar-side{
        background-image: url(../images/front/side-nav-border-left.png); 
        background-color: #f4f4f4;
        background-repeat: no-repeat; 
        background-position: left;
        padding-left: 11px;
        width: 232px;

    }

    #navbar-side > li:first-child{
        padding-left: 0px;
    }

    #navbar-side > li:last-child{
        /*padding-right: 0px;*/
    }

    .carousel-cap h2{
        padding-top: 40px;
        text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
        font-weight: bold;
        font-size: 34px;
        color:white;
    }

    .carousel-cap p{
        color: #d2f3ff;
        font-size: 20px;
    }



    .navbar-nav > li a{
        background-image: url(../images/front/nav-border.png); 
        background-repeat: repeat-y; 
        background-position: right;
        padding: 0px 15px;
        margin: 10px 0px;
color: #000;
font-weight: bold;
    }

    footer nav{

    }
    .nav-pills > li{
        background-image: url(../images/front/nav-border.png); 
        background-repeat: repeat-y; 
        background-position: right;
        width: auto;
        float: none;
        display: inline-block;
    }
    .nav-pills > li:last-child{
        background-image: none; 
    }





}
/*screen siza md*/
@media (max-width: 989px) and (min-width: 769px){
    #topnav{
        background-image: url(../images/front/side-nav-bkg.png); 
        background-repeat: repeat-y; 
        background-position: right;

    }
	
	.navbar-brand img {
		width: 100px;				   
	}
    .navbar-default .navbar-nav > .active > a,
    .navbar-default .navbar-nav > .active > a:hover,
    .navbar-default .navbar-nav > .active > a:focus {
        background-image: url(../images/front/nav-lg-active.png); 
        background-repeat: no-repeat; 
        background-position: bottom;
        /*background-color: #e7e7e7;*/

    }

    .nav-item img{
        float: left;
        margin: 0px 20px;
    }

    .text-divider{
        display: block;
        margin: 20px auto;
        width: 35px;
        border-top: 1px solid #d2f3ff;
        text-align: center;
    }

    #navbar-side{
        background-image: url(../images/front/side-nav-border-left.png); 
        background-color: #f4f4f4;
        background-repeat: no-repeat; 
        background-position: left;
        padding-left: 11px;

    }
      
    .carousel-cap h2{
        padding-top: 40px; 
        text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
        font-weight: bold;
        font-size: 30px;
        color:white;
    }


    .carousel-cap p{
        color: #d2f3ff;
        font-size: 18px;
    }

    .navbar-nav > li a{
        background-image: url(../images/front/nav-border.png); 
        background-repeat: repeat-y; 
        background-position: right;
        padding: 0px;
        margin: 10px 0px;
color: #000;
font-weight: bold;
    }


}

/*screen size sm*/
@media (max-width: 768px){
    .navbar-default .navbar-nav > .active > a,
    .navbar-default .navbar-nav > .active > a:hover,
    .navbar-default .navbar-nav > .active > a:focus {
        background-image: url(../images/front/nav-active.png); 
        background-repeat: no-repeat; 
        background-position: left;
        /*background-color: #e7e7e7;*/

    }
	
	@media screen {
  #printSection {
      display: none;
  }
}

@media print {
  body * {
    visibility:hidden;
  }
  #printSection, #printSection * {
    visibility:visible;
  }
  #printSection {
    position:absolute;
    left:0;
    top:0;
  }
}






	
	
	.navbar-brand img {
		width: 100px;				   
	}
    .nav-item img{
        display: block;
        margin: auto;
    }

    .carousel-cap{
        margin: 0px;
        padding: 0px;
        color:white;
    }
    .carousel-cap h2{
        text-shadow: 0 1px 2px rgba(0, 0, 0, .6);
        font-weight: bold;
        font-size: 24px;
        margin: 0px;
        padding: 0px;
        color:white;
    }


    .carousel-cap p{
        color: #d2f3ff;
        font-size: 16px;
    }

    .logos div{
        text-align: center;
    }

    .navbar-brand{
        margin: 0px;
    }

.navbar-nav > li a{
        background-image: url(../images/front/nav-border.png); 
        background-repeat: repeat-y; 
        background-position: right;
        padding: 0px;
        margin: 10px 0px;
color: #000;
font-weight: bold;
    }

}
@media screen {
  #printSection {
      display: none;
  }
}

@media print {
  body * {
    visibility:hidden;
	max-height:10px;
  }
  #printSection, #printSection * {
    visibility:visible;
  }
  #printSection {
    position:absolute;
    left:0;
    top:0;
  }
}


.navbar{
  padding:0px,
}
.navbar-collapse {
flex-grow: 0;
}

.bg-iconnav {
  background: #5c78f2;
  /* Old browsers */
  background: -moz-linear-gradient(top, #5c78f2 0%, #2c51f2 100%);
  /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #5c78f2 0%, #2c51f2 100%);
  /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #5c78f2 0%, #2c51f2 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='##5c78f2', endColorstr='#2c51f2', GradientType=0);
  /* IE6-9 */
  border-radius: 0;
  padding: 10px;
}

.navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255, 1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
}
 input[type="submit"]:disabled {
    background-color: red;      }
#form label{float:left; width:140px;font-weight: bold;}


#carousel-grid {
    width: 100%;
    background-size: auto auto;
    background-position: center top;
    _background-repeat: no-repeat;
    z-index: 1;
    position: relative;

background-image: url("/obr/zakladni2u2.jpg");
_background-color:#414cb4d4;
}
input[type="text"], textarea, button, a.button, a.input[type="file"] {
    -moz-transition: -moz-box-shadow 0.5s, border 0.5s, background 0.5s;
    -webkit-transition: -webkit-box-shadow 0.5s, border 0.5s, background 0.5s;
    -o-transition: box-shadow 0.5s, border 0.5s, background 0.5s;
    transition: box-shadow 0.5s, border 0.5s, background 0.5s;
}

.table-bordered {
  border: 1px solid #dddddd;
    border-left-color: rgb(221, 221, 221);
    border-left-style: solid;
    border-left-width: 1px;
  *border-collapse: separate;
  border-collapse: collapse;
  border-left: 0;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  _background-color: #0aa5f126;
  background-color: #4fcbf11a;
}
.tablex {
  width: 100%;
  margin-bottom: 20px;
}
.table-info, .table-info > td, .table-info > th {
  _background-color: #bee5eb;
}
.table-bordered th {
  border-left: 1px solid #aaa;
background-color: #eee;
padding:5px;
  }
  .table-bordered td {
  border-left: 1px solid #aaa;
_background-color: #57aaec38;
	_background-color: #4fcbf17a;
	background-color: #fafaff;
  _background: linear-gradient(180deg,#c4b3b426 0px,#1474c5 200px,#282222 0) no-repeat;

  padding:1px;
  }
.table-striped tbody tr:nth-of-type(2n+1){
background-color: #e5eff7;

}
  
.tablex th, .tablex td {
  padding: 8px;
  line-height: 20px;
  text-align: left;
  vertical-align: top;
  border-top: 1px solid #dddddd;
}

#kal table  {
		border:1px solid #aaa;
		border-collapse:collapse;
		background-color:#fff;
		font-family: Verdana;
		font-size:12px;
	}
	
#kal th {
		background-color:#777;
		color:#fff;
		height:32px;
	}
	
#kal td {
		border:1px solid #ccc;
		height:32px;
		width:32px;
		text-align:center;
	}
	
#kal td.red {
		color:red;
	}
	
#kal td.bg-yellow {
		background-color:#ffffe0;
	}
	
#kal td.bg-orange {
		background-color:#ffa500;
	}
	
#kal td.bg-green {
		background-color:#90ee90;
	}
	
#kal td.bg-white {
		background-color:#fff;
	}
	
#kal td.bg-blue {
		background-color:#add8e6;
	}
	
#kal a{
		color: #333;
		text-decoration:none;
		
	}

#res_form {
  padding: 15px;
  _max-width: 400px;
  background: #fdfdfd;
}
#res_form label, #res_form Iinput, #res_form Bbutton, #res_form Sselect {
  font-size: 16px;
  width: 100%;
  box-sizing: border-box;
}
#res_form button {
  _display: block;
}
#res_form label, #res_form input {
  display: block;
}
#res_form label {
  color: #555;
  margin: 5px 0;
}
#res_form input, #res_form select {
  padding: 5px;
}
#res_form button.red {
  margin-top: 10px;
  background: #b53732;
  color: #fff;
  padding: 10px;
  border: 0;
}
#res_form  button.active {
_background: #b53732;
background: #007bff;
}
#res_form buttona {
  margin-top: 10px;
  -background: #b53732;
  -color: #fff;
  padding: 10px;
  border: 0;
}
#res_delres button {
  font-size: 16px;
  width: 100%;
  box-sizing: border-box;
}


.btn-sluzba{
background: #efefff;
}
.btn-time{
background:#ebeeea;

_background: #c9f4c6;
}

/* [CALENDAR] */
/* Month & year selector navigation bar */
div.calendar .cal-nav-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  width: 100%;
}
div.calendar .cal-nav-selects {
  display: flex;
  flex: 1;
  gap: 4px;
}
div.calendar select,
div.calendar .cal-nav-selects select {
  width: 50% !important;
  padding: 5px;
  background: #8888886b;
  color: #fff;
  border: 1px solid #ffffff;
  border-radius: 3px;
  font-weight: 500;
  -moz-transition: -moz-box-shadow 0.5s, border 0.5s, background 0.5s;
  -webkit-transition: -webkit-box-shadow 0.5s, border 0.5s, background 0.5s;
  -o-transition: box-shadow 0.5s, border 0.5s, background 0.5s;
  transition: box-shadow 0.5s, border 0.5s, background 0.5s;
}
div.calendar select:focus,
div.calendar .cal-nav-selects select:focus {
  outline: none;
  border-color: #ffffff;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5);
}
div.calendar select option,
div.calendar .cal-nav-selects select option {
  background-color: #555555;
  color: #ffffff;
}
div.calendar .btn-cal-nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 33px;
  padding: 0;
  margin: 0;
  background: #8888886b;
  color: #fff;
  border: 1px solid #ffffff;
  border-radius: 3px;
  cursor: pointer;
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
  transition: background 0.2s, opacity 0.2s;
  user-select: none;
  flex-shrink: 0;
}
div.calendar .btn-cal-nav:hover:not(:disabled) {
  background: #88888899;
  color: #fff;
}
div.calendar .btn-cal-nav:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}
div.calendar table {
  width: 100%;
  border-collapse: separate !important;
  margin-top: 10px;
}
/* All the cells in general */
div.calendar table td {
  width: 14%;
  padding: 10px 4px;
  text-align: center;
  border-radius: 2px;
  position: relative;
}

/* Počet zbývajících volných termínů vpravo dole */
div.calendar table td[data-free]::after {
  content: attr(data-free);
  position: absolute;
  right: 2px;
  bottom: 1px;
  font-size: 10px;
  line-height: 1;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.7);
  pointer-events: none;
}
/* First row - days of week */
div.calendar table tr.days td {
  _background: #888;
  background:#8888886b;
  color: #fff;
  font-weight: bold;
}
/* Currently chosen date */
div.calendar table td.active {
  background: #33ccff;
  color: #000;
	_border:1px solid #333;

}
/* Dates you can choose */
div.calendar table td.pick:hover {
  cursor: pointer;
  background: #99ffff;
	_border:1px solid #333;
  border-radius: 2px;

 -moz-transition: -moz-box-shadow 0.5s, border 0.5s, background 0.5s;
    -webkit-transition: -webkit-box-shadow 0.5s, border 0.5s, background 0.5s;
    -o-transition: box-shadow 0.5s, border 0.5s, background 0.5s;
    transition: box-shadow 0.5s, border 0.5s, background 0.5s;	
}
/* Blank cells */
div.calendar td.blank {
  background: #dddddd38;
color:#aaa;
 
}
div.calendar td.pick {
  background: #eeeeee78;
_background-image: linear-gradient(180deg,#f0f0f0,#f8f8f8,#f0f0f0);
 _background-image: radial-gradient(#bbb,#f8f8f8);
 color:#aaa;
 border-radius: 2px;
}

 /* half fill cells */
div.calendar td.hf {
  background: #a2ec4973;
_background-image: radial-gradient(#ccffcc,#f8f8f8);
_color:#000;
}

/* full filled cells */
div.calendar td.ff {
  background: #ff50509e;
_background-image: radial-gradient(#ff5050,#f8f8f8);
color:#000;
}
/* empty cells */
div.calendar td.empty {
  background: #66ffcc4d;
_background-image: radial-gradient(#66ffcc,#f8f8f8);
_color:#000;
}

.mymaterial-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;  /* Preferred icon size */
  display: inline-block;
  text-transform: none;
  letter-spacing: normal;
  word-wrap: normal;
  white-space: nowrap;
  direction: ltr;
  color:669999;

  /* Support for all WebKit browsers. */
  -webkit-font-smoothing: antialiased;
  /* Support for Safari and Chrome. */
  text-rendering: optimizeLegibility;

  /* Support for Firefox. */
  -moz-osx-font-smoothing: grayscale;

  /* Support for IE. */
  font-feature-settings: 'liga';
}
.material-icons {
  vertical-align: middle;
  line-height: 0 !important;
  position: relative;
  top: -1px;
color:669999;
}
 a{
        margin: 10px 0px;
color: #006;
font-weight: bold;
    }
	
.roundedBoxB {
-moz-border-radius: 6px;
-webkit-border-radius: 6px;
border-radius: 6px;
-moz-box-shadow: 2px 2px 2px rgba(0,0,0,0.2);
-webkit-box-shadow: 2px 2px 2px rgba(0,0,0,0.2);

box-shadow: 2px 2px 2px rgba(0,0,0,0.2), 2px 2px 4px rgba(0,255,0,0.2);

}

.file {
   position: relative;
   background: linear-gradient(to right, lightblue 50%, transparent 50%);
   background-size: 200% 100%;
   background-position: right bottom;
   transition:all 1s ease;
}
#opc_passwordd{
 
 -moz-transition:all 1s ease;
    -webkit-transition:all 1s ease;
    -o-transition:all 1s ease;
    transition:all 1s ease;
}

 .file.done {
   background: lightgreen;
}
 .file a {
   display: block;
   position: relative;
   padding: 5px;
   color: black;
}


.file-drop-area{

  position: relative;
  display: flex;
  align-items: center;
  /*width: 450px;*/
  max-width: 100%;
  padding:25px;
  border: 1px dashed rgba(0,0,0,0.6);
  border-radius: 3px;
  transition: .2s;
}

.choose-file-button{

  flex-shrink: 0;
  background-color: rgba(75, 239, 15, 0.26);
  border:1px solid rgba(0,0,0,0.1);
  border-radius: 3px;
  padding:8px 15px;
  margin-right: 10px;
  font-size: 12px;
  text-transform: uppercase;

}

.file-message{

  font-size: small;
  font-weight: 300;
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.file-input{
  position: absolute;
  left: 0;
  top:0;
  height: 100%;
  windows: 100%;
  cursor: pointer;
  opacity: 0;

}

.roundedBoxBAll {
border: 1px solid #BFBFBF;

_box-shadow: 10px 10px 5px #aaaaaa;
padding: 10px 10px 20px 10px;

}

div.rotate_right {
  _float: left;
  -ms-transform: rotate(7deg); /* IE 9 */
  -webkit-transform: rotate(7deg); /* Safari */
  transform: rotate(7deg);
}

div.rotate_left {
  _float: left;
  -ms-transform: rotate(-8deg); /* IE 9 */
  -webkit-transform: rotate(-8deg); /* Safari */
  transform: rotate(-8deg);
}


.shad-border {
  box-shadow: var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow);
}
.shad-border {
  --tw-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.round-border{
  border-radius: 12px;
}
* {
  --tw-shadow: 0 0 transparent;
  --tw-ring-inset: var(--tw-empty, );
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgba(59,130,246,0.5);
  --tw-ring-offset-shadow: 0 0 transparent;
  --tw-ring-shadow: 0 0 transparent;
  
  --tww-shadow: 200 200 transparent;
  --tww-ring-inset: var(--tw-empty, );
  --tww-ring-offset-width: 0px;
  --tww-ring-offset-color: #222;
  --tww-ring-color: rgba(59,130,246,0.5);
  --tww-ring-offset-shadow: 200 200 transparent;
  --tww-ring-shadow: 200 200 transparent;
}



.text-brand-gray-900 {
  --tw-text-opacity: 1;
  color: rgba(17,24,39,var(--tw-text-opacity));
}
.bg-brand-gray-50 {
  --tw-bg-opacity: 1;
  background-color: rgba(249,250,251,var(--tw-bg-opacity));
}

.transition-all {
  transition-property: all;
  transition-timing-function: cubic-bezier(.4,0,.2,1);
  transition-duration: 1 s;
}
.shadow-xl {
  --tw-shadow: 0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04);
}
.shadow-lg, .shadow-xl {
  box-shadow: var(--tw-ring-offset-shadow,0 0 transparent),var(--tw-ring-shadow,0 0 transparent),var(--tw-shadow);
}

.shadow-xlwhite {
  --tw-shadow: 0 20px 25px -5px rgba(200,200,200,0.1),0 10px 10px -5px rgba(200,200,200,0.04);
}
.shadow-lg, .shadow-xlwhite {
  box-shadow: var(--tww-ring-offset-shadow,0 0 transparent),var(--tww-ring-shadow,0 0 transparent),var(--tww-shadow);
}


rounded-lg {
  border-radius: .5rem;
}

.bg-blue {
  background: linear-gradient(180deg,#c4b3b426 50px,#1474c5 2500px,#282222 0) no-repeat;
 _ background: linear-gradient(180deg,#14abf4 50px,#0a69b6 1400px,#fff 0) no-repeat;
   _background-size: auto;
  _background-size: 100%;
 
 
}

.modal-content {
  background: linear-gradient(#f0f0ff ,#ffffff ) no-repeat;
 
 
}

#UsersInput,#UsersInputPhone{
  background-image: url('/images/searchicon.png');
  background-position: 10px 10px;
  background-repeat: no-repeat;
  width: 100%;
  font-size: 16px;
  padding: 12px 20px 12px 40px;
  border: 1px solid #ddd;
  margin-bottom: 12px;
}

.a_refbutton {

text-decoration: none;
	font-size: 14px;
	
background-color: #fdd;
border: 1px solid #000;
margin: 1px;
padding: 0px;
height: 22px;
}
.a_refbutton_free {

	
/*text-decoration: none;*/
	font-size: 12px;
	
background-color: #dfd;
border: 1px solid #000;

padding: 1px;
height: 16px;
}

.a_refbutton_blue {
background-color: #fff;
border: 1px solid #555;
cursor:pointer;
padding:0 3px 0 3px;
webkit-transition: all 1s ease-out;
moz-transition: all 1s ease-out;
o-transition: all 1s ease-out;
transition: all 1s ease-out;

}
.a_refbutton_green {
background-color: #efe;
border: 1px solid #555;
cursor:pointer;
padding:0 3px 0 3px;
webkit-transition: all 1s ease-out;
moz-transition: all 1s ease-out;
o-transition: all 1s ease-out;
transition: all 1s ease-out;

}
.a_refbutton_black {
background-color: #000;
border: 1px solid #555;
cursor:pointer;
padding:0px 2px 0px 2px;
webkit-transition: all 1s ease-out;
moz-transition: all 1s ease-out;
o-transition: all 1s ease-out;
transition: all 1s ease-out;

}

.a_refbutton_blueDPP{
background-color: #CEE3F6;
border: 1px solid #555;
cursor:pointer;
padding:0 3px 0 3px;
webkit-transition: all 1s ease-out;
moz-transition: all 1s ease-out;
o-transition: all 1s ease-out;
transition: all 1s ease-out;

}
.a_refbutton_blueDPC{
background-color: #CEF6E3;
border: 1px solid #555;
cursor:pointer;
padding:0 3px 0 3px;
webkit-transition: all 1s ease-out;
moz-transition: all 1s ease-out;
o-transition: all 1s ease-out;
transition: all 1s ease-out;

}
.a_refbutton_blueHPP{
background-color: #ddd;
border: 1px solid #555;
cursor:pointer;
padding:0 3px 0 3px;
webkit-transition: all 1s ease-out;
moz-transition: all 1s ease-out;
o-transition: all 1s ease-out;
transition: all 1s ease-out;

}
.a_refbutton_white2{
background-color: #efefef;
border: 1px solid #555;
cursor:pointer;
padding:3px 3px 3px 3px;
color:#555;
webkit-transition: all 1s ease-out;
moz-transition: all 1s ease-out;
o-transition: all 1s ease-out;
transition: all 1s ease-out;
}
.a_refbutton_red{
background-color: #ff5555;
border: 1px solid #555;
cursor:pointer;
padding:0 3px 0 3px;
webkit-transition: all 1s ease-out;
moz-transition: all 1s ease-out;
o-transition: all 1s ease-out;
transition: all 1s ease-out;
}


.a_refbutton_red2{
background-color: #ff6666;
border: 1px solid #555;
cursor:pointer;
padding:0 3px 0 3px;
webkit-transition: all 1s ease-out;
moz-transition: all 1s ease-out;
o-transition: all 1s ease-out;
transition: all 1s ease-out;
}

.a_refbutton_lightred {
text-decoration: none;
	font-size: 14px;
background-color: #fdd;
border: 1px solid #000;
margin: 1px;
height: 22px;
padding:0 3px 0 3px;
cursor:pointer;
webkit-transition: all 1s ease-out;
moz-transition: all 1s ease-out;
o-transition: all 1s ease-out;
transition: all 1s ease-out;
}
.a_refbutton_lightred:hover{
background-color: #faa;
}

.a_refbutton_lightgreen {
text-decoration: none;
	font-size: 14px;
background-color: #efe;
border: 1px solid #555;
height: 22px;
margin: 1px;
cursor:pointer;
padding:0 3px 0 3px;
webkit-transition: all 1s ease-out;
moz-transition: all 1s ease-out;
o-transition: all 1s ease-out;
transition: all 1s ease-out;
}
.a_refbutton_lightgreen:hover{
background-color: #afa;
}

.a_refbutton_blue2{
background-color: #CEE3FF;
border: 1px solid #555;
	font-size: 14px;
 margin: 1px;
 height: 22px;
cursor:pointer;
padding:0 3px 0 3px;
webkit-transition: all 1s ease-out;
moz-transition: all 1s ease-out;
o-transition: all 1s ease-out;
transition: all 1s ease-out;

}
.a_refbutton_blue2:hover{
background-color: #aaf;
}

.a_refbutton_oranz2{
background-color: #ffdab3;
border: 1px solid #555;
cursor:pointer;
padding:0 3px 0 3px;
webkit-transition: all 1s ease-out;
moz-transition: all 1s ease-out;
o-transition: all 1s ease-out;
transition: all 1s ease-out;
}

.a_refbutton_blue:hover,.a_refbutton_blueDPP:hover,.a_refbutton_blueDPC:hover,.a_refbutton_blueHPP:hover,.a_refbutton_black:hover,.a_refbutton_red2:hover,.a_refbutton_red:hover {
background-color: #aff;
/* font-weight:bold; */
}

/* zvyrazneni a href jako button zeleny */
.a_refbutton_green {
text-decoration: none;
	font-size: 14px;
background-color: #cfc;
border: 1px solid #000;
margin: 1px;
padding: 0px;
height: 22px;
cursor:pointer;
}
.zapsatb{
cursor:pointer;
}

.a_refbutton_greenb {

 text-decoration: none;
 font-size: 14px;
border: 1px solid #000;
margin: 1px;
padding: 5px;
height: 22px;
cursor:pointer;
webkit-transition: all 2s ease-out;
moz-transition: all 2s ease-out;
o-transition: all 2s ease-out;
transition: all 2s ease-out;
}
.a_refbutton_greenb:hover {
background-color: #5e5;
color:black;
}

.a_refbutton_w {
text-decoration: none;
	font-size: 14px;
	
background-color: #eee;
border: 1px solid #000;
margin: 1px;
padding: 1px 3px 1px 3px;
height: 22px;
cursor:pointer;
}
.zapsatb{
cursor:pointer;
}

.zapsatb{
cursor:pointer;
}

.zapsatsmall {
/*display: inline;
float:left;
position: relative;
 top: 0px;
left: 50px;

position: absolute;
top: 39px;
left: 5px;
*/
text-decoration: none;
	font-size: 10px;
	
background-color: #eef;
border: 1px solid #000;
margin: 0px;
padding: 2px;
height: 22px;
}

/* jako dva div v sobe tlacitko pres ktere jezdi prouzek*/
.newbutton-animation {
  padding: 3px;
  height: 18px;
  background: linear-gradient(106.02deg,#ff1fc0 14.05%,#febe42 85.87%);
  margin-left: 5px;
  border-radius: 6px;
  color: #fff;
  font-weight: 600;
  font-size: 8px;
  line-height: 12px;
  font-style: italic;
  transform: scale(.66);
  overflow: hidden;
  margin-top: -15px;
  z-index: 99;
  }
  .newbutton-animation::before {
  content: "";
  position: absolute;
  width: 5px;
  height: 22px;
  background-color: hsla(0,0%,100%,.5);
  transform: rotate(20deg);
  animation: blink 1.5s ease-in 1.5s infinite;
  z-index: 999999;
}

.bgoogle {

 text-decoration: none;
 font-size: 12px;
 font-weight:normal;
border: 1px solid #000;
margin: 10px;
padding: 5px;
height: 22px;
cursor:pointer;
webkit-transition: all 2s ease-out;
moz-transition: all 2s ease-out;
o-transition: all 2s ease-out;
transition: all 2s ease-out;
}
.ulcena{
gap: 24px;
padding: 0;
margin-top: 24px;
grid-template-columns: repeat(5, 1fr);
display: grid;
flex-direction: column;
_max-width: 900px;
  list-style: none;
  margin-top: 16px;
  margin-bottom: 0;
  line-height: 1.5;
  font-size: 14px;
  letter-spacing: -0.14px;
  color: #011e39;
  font-family: Arial,sans-serif;
  font-size: 13px;
  font-style: normal;
  font-weight: 400;
  text-align: left;
}

.licena{
gap: 14px;
grid-row: span 5;
grid-template-rows: subgrid;
display: grid;
color: #011e39;
}
.divcena{
grid-row: span 4;
grid-template-rows: subgrid;
flex-direction: column;
border: 4px solid rgba(1,30,57,.08);
    border-radius: 40px;
    padding: 36px 32px 32px;
	padding: 36px 8px 8px;
	align-items: center;
  text-align: center;

}
.h3cena{
margin-block: 0;
line-height: 34px;
  font-size: 14px;
  font-weight: 700;
  box-sizing: border-box;
}
.pcena{
margin-top: 0;
}
.pcenacena
{line-height: 58px;
    font-size: 36px;
    font-weight: 800;
}
.smalldiv
{
display: block;
margin-top: -1px;
    font-weight: 500;
	line-height: 20px;
  font-size: 14px;
  color: #011e39;
}
.buttcl
{
background-color: #236f15;
width: clamp(8em,19em,100%);
color: #fff;
border-color: rgba(0,0,0,0);
  border-radius: 20px;
  background-color: #21a508;
  color: #fff;
  padding: 18px 32px;
  border: 1px solid rgba(0,0,0,0);
    border-top-color: rgba(0, 0, 0, 0);
    border-right-color: rgba(0, 0, 0, 0);
    border-bottom-color: rgba(0, 0, 0, 0);
    border-left-color: rgba(0, 0, 0, 0);
	border-radius: 20px;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  -webkit-appearance: button;
  
  overflow: visible;
  line-height: 1.3846153846;
  font-family: inherit;
  font-size: 100%;
  text-transform: none;
  outline-color: #80c0ff;
}
.buttdemo
{
border: 4px solid rgba(1,30,57,.08);
    border-radius: 40px;
    padding: 20px;

	align-items: center;
  text-align: center;		
  text-decoration:none !important;
}
  .buttdemo::before {
  content: "";
  position: absolute;
  padding:0px 10px 0px 0px;
  width: 5px;
  height: 50px;
  background-color: hsla(0,0%,100%,.5);
  animation: move 5s ease infinite;
	z-index: 999999;

}
@keyframes move {
  50% {
     transform: translate(calc(8vw),0);
  }
}
.buttdemo2
{
border: 4px solid rgba(1,30,57,.08);
    border-radius: 20px;
    padding: 20px;

	align-items: center;
  text-align: center;		
  text-decoration:none !important;
}
  .buttdemo2::before {
  content: "";
  position: absolute;
  padding:0px 10px 0px 0px;
  width: 5px;
  height: 20px;
  background-color: hsla(0,0%,100%,.5);
  animation: move 5s ease infinite;
	z-index: 999999;

}
@keyframes move {
  50% {
     transform: translate(calc(8vw),0);
  }
}





.buttdemocarousel
{
border: 4px solid rgba(1,30,57,.08);
    border-radius: 30px;
    padding: 10px;
  font-weight: 600;
	align-items: center;
  text-align: center;		
 	text-decoration:none !important;
	
}

/* PWA tlacitko skryte na PC / velkych monitorech (nad 992px) */
@media (min-width: 992px) {
    #pwa-install-btn, .pwa-install-btn, .moje-pwa-tlacitko {
        display: none !important;
    }
}

/* Očíslované sekce rezervace (Stepper) */
.res-step-card {
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 10px 4px 18px 4px;
    margin-bottom: 16px;
    box-shadow: none;
    scroll-margin-top: 15px;
}

/* Oddělení sekcí modrou vodorovnou čarou (barva rámečku tlačítka Tisk) */
.res-step-card:not(:last-child) {
    border-bottom: 1px solid #1e7de282;
}

.res-step-card:last-child,
#res_step_4 {
    border-bottom: none;
    padding-bottom: 8px;
    margin-bottom: 0;
}

#res_form label {
    background: transparent !important;
}

.res-step-header {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
    padding-bottom: 0;
    border-bottom: none;
}

/* Na mobilním zobrazení nulové boční odsazení pro maximum místa */
@media (max-width: 768px) {
    .res-step-card {
        padding-left: 0 !important;
        padding-right: 0 !important;
        padding-bottom: 16px !important;
        margin-bottom: 14px !important;
    }
}

.res-step-badge {
    background: #007bff;
    color: #ffffff;
    width: 26px;
    height: 26px;
    min-width: 26px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 14px;
    margin-right: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.res-step-title,
#res_form .res-step-header label.res-step-title {
    font-size: 16px;
    font-weight: bold;
    width: auto;
    display: inline;
    margin: 0;
    padding: 0;
}

/* Točící se kolečko (spinner) na tlačítku při odesílání rezervace */
.res-spinner {
    display: inline-block;
    width: 18px;
    height: 18px;
    vertical-align: middle;
    margin-right: 8px;
    border: 3px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: res-spin 0.75s linear infinite;
}

@keyframes res-spin {
    to {
        transform: rotate(360deg);
    }
}

/* Zvolený termín - Varianta B: Decentní orámovaná karta */
.res-selected-term-card {
    background: transparent;
    border: 1px solid #1e7de282;
    border-radius: 8px;
    padding: 10px 14px;
    margin-bottom: 12px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 12px;
}

/* Tmavý režim pro orámovanou kartu */
.res-selected-term-card.is-dark {
    border-color: rgba(255, 255, 255, 0.45);
}

@media (prefers-color-scheme: dark) {
    .res-selected-term-card:not(.is-light) {
        border-color: rgba(255, 255, 255, 0.45);
    }
}

.res-selected-term-label {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    display: inline-flex;
    align-items: center;
    line-height: 1.2;
}

.res-selected-term-badges {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 10px;
}

/* Decentní pilulka / badge pro datum a vybranou službu */
.res-term-badge {
    display: inline-flex;
    align-items: center;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.3;
    padding: 4px 12px;
    border-radius: 16px;
    background: rgba(30, 125, 226, 0.12);
    color: #1264c5;
    border: 1px solid rgba(30, 125, 226, 0.35);
    transition: all 0.2s ease;
}

/* Skrytí odznaku, pokud je prázdný */
.res-term-badge:empty {
    display: none !important;
}

/* Jemně odlišený tón pro službu s interaktivním proklikem zpět na bod 1 */
.res-term-badge.res-term-service {
    background: rgba(30, 125, 226, 0.08);
    font-weight: 500;
    cursor: pointer;
    user-select: none;
    transition: all 0.2s ease;
}

.res-term-badge.res-term-service:hover {
    background: rgba(30, 125, 226, 0.2);
    border-color: #1e7de2;
    transform: translateY(-1px);
}

.res-term-badge.res-term-service:active {
    transform: translateY(0);
}

.res-selected-term-card.is-dark .res-term-badge.res-term-service:hover {
    background: rgba(255, 255, 255, 0.22);
    border-color: rgba(255, 255, 255, 0.6);
}

@media (prefers-color-scheme: dark) {
    .res-selected-term-card:not(.is-light) .res-term-badge.res-term-service:hover {
        background: rgba(255, 255, 255, 0.22);
        border-color: rgba(255, 255, 255, 0.6);
    }
}

/* Odznaky v tmavém režimu */
.res-selected-term-card.is-dark .res-term-badge {
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.4);
}

@media (prefers-color-scheme: dark) {
    .res-selected-term-card:not(.is-light) .res-term-badge {
        background: rgba(255, 255, 255, 0.12);
        color: #ffffff;
        border-color: rgba(255, 255, 255, 0.4);
    }
}

@media (max-width: 768px) {
    .res-selected-term-card {
        padding: 8px 10px;
        gap: 6px 8px;
    }
    .res-term-badge {
        font-size: 13px;
        padding: 3px 10px;
    }
}

/* Sjednocení vhledu karet, polí a výpisu rezervací (Budoucí vs. Proběhlé) */
#res_form {
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    border: 1px solid rgba(0, 0, 0, 0.08);
}

#res_form input.form-control,
#res_form select.form-control,
#res_form select.custom-select {
    border-radius: 8px;
    border: 1px solid rgba(0, 0, 0, 0.15);
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04);
}

tr.res-row-upcoming {
    background-color: #ecfdf5 !important;
    color: #064e3b;
    border-left: 4px solid #10b981;
}
tr.res-row-upcoming:hover {
    background-color: #d1fae5 !important;
}
tr.res-row-past {
    background-color: #f8fafc !important;
    color: #64748b;
    border-left: 4px solid #cbd5e1;
}
tr.res-row-past td,
tr.res-row-past b {
    color: #64748b;
}
.res-badge-upcoming {
    display: inline-block;
    background-color: #10b981;
    color: #ffffff;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 999px;
    margin-top: 4px;
}
.res-badge-past {
    display: inline-block;
    background-color: #cbd5e1;
    color: #475569;
    font-size: 11px;
    font-weight: 600;
    padding: 2px 8px;
    border-radius: 999px;
    margin-top: 4px;
}

/* Detaily rezervace v potvrzovacím dialogu (#confirmBox) */
#confirmBox .modal-header {
    border-bottom: 1px solid rgba(30, 125, 226, 0.2);
}

#confirmBox .modal-footer {
    border-top: 1px solid rgba(30, 125, 226, 0.2);
}

#confirmBox .modal-footer .yes {
    background-color: #0d6efd;
    border-color: #0b5ed7;
    color: #ffffff;
    font-weight: 600;
    min-width: 80px;
}

#confirmBox .modal-footer .no {
    min-width: 80px;
}

.res-confirm-prompt {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 14px;
    color: #0b5ed7;
    text-align: center;
}

.res-confirm-details {
    background: rgba(30, 125, 226, 0.05);
    border: 1px solid #1e7de282;
    border-radius: 8px;
    padding: 12px 16px;
    text-align: left;
}

.res-confirm-item:not(:last-child) {
    margin-bottom: 10px;
    padding-bottom: 8px;
    border-bottom: 1px dashed rgba(30, 125, 226, 0.25);
}

.res-confirm-label {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    color: #64748b;
    letter-spacing: 0.5px;
    display: block;
    margin-bottom: 2px;
}

.res-confirm-value {
    font-size: 15px;
    font-weight: 600;
    color: #1e293b;
    display: block;
    word-break: break-word;
}

/* Plynulé odrolování na sekci nastavení hlídání termínů */
#section-top2pes {
    scroll-margin-top: 25px;
}

/* ==========================================================================
   Moderní přihlašovací okno (ModalCenterLogin & ModalCenterLogin2)
   ========================================================================== */

#ModalCenterLogin .modal-content.login-modal-card,
#ModalCenterLogin2 .modal-content.login-modal-card {
    border-radius: 18px;
    border: 1px solid rgba(0, 0, 0, 0.08);
    box-shadow: 0 20px 45px rgba(0, 0, 0, 0.16);
    background: #ffffff;
    overflow: hidden;
}

#ModalCenterLogin .modal-header,
#ModalCenterLogin2 .modal-header {
    border-bottom: none;
    padding: 24px 24px 0 24px;
    position: relative;
}

.login-modal-close {
    position: absolute;
    top: 16px;
    right: 18px;
    font-size: 26px;
    font-weight: 300;
    color: #94a3b8;
    background: transparent;
    border: none;
    outline: none !important;
    transition: color 0.2s ease, transform 0.2s ease;
    z-index: 10;
}

.login-modal-close:hover {
    color: #334155;
    transform: scale(1.1);
}

.login-avatar-icon {
    width: 52px;
    height: 52px;
    margin: 0 auto 10px auto;
    border-radius: 50%;
    background: rgba(13, 110, 253, 0.1);
    color: #0d6efd;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 10px rgba(13, 110, 253, 0.15);
}

.login-avatar-icon .material-icons {
    font-size: 32px;
}

.login-modal-title {
    font-size: 20px;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 4px;
}

.login-modal-subtitle {
    font-size: 13px;
    color: #64748b;
    margin-bottom: 0;
}

#ModalCenterLogin .modal-body,
#ModalCenterLogin2 .modal-body {
    padding: 20px 28px 28px 28px;
}

.login-field-label {
    font-size: 13px;
    font-weight: 600;
    color: #334155;
    margin-bottom: 6px;
    display: block;
}

.login-forgot-link {
    font-size: 12px;
    color: #0d6efd;
    text-decoration: none;
    transition: color 0.15s ease, text-decoration 0.15s ease;
}

.login-forgot-link:hover {
    color: #0a58ca;
    text-decoration: underline;
}

.login-input-group {
    border-radius: 10px;
    transition: box-shadow 0.2s ease, border-color 0.2s ease;
}

.login-input-group .input-group-text {
    background-color: #f8fafc;
    border: 1px solid #cbd5e1;
    border-right: none;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    color: #64748b;
    padding: 0 12px;
}

.login-input-group .input-group-text .material-icons {
    font-size: 20px;
}

.login-input-group .login-input {
    border: 1px solid #cbd5e1;
    border-left: none;
    font-size: 14px;
    height: 44px;
    padding: 10px 14px;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.login-input-group .login-input:focus {
    border-color: #0d6efd;
    box-shadow: none;
    background-color: #ffffff;
}

.login-input-group:focus-within {
    box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.18);
    border-radius: 10px;
}

.login-input-group:focus-within .input-group-text,
.login-input-group:focus-within .login-input,
.login-input-group:focus-within .login-toggle-pwd {
    border-color: #0d6efd;
}

.login-toggle-pwd {
    border: 1px solid #cbd5e1;
    border-left: none;
    background-color: #f8fafc;
    color: #64748b;
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    padding: 0 12px;
    outline: none !important;
}

.login-toggle-pwd:hover {
    color: #334155;
    background-color: #f1f5f9;
}

.login-toggle-pwd .material-icons {
    font-size: 20px;
    vertical-align: middle;
}

/* Karta ověření / Nejsem robot */
.login-robot-card {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 10px 14px;
    display: flex;
    align-items: center;
}

.login-robot-card .form-check {
    margin: 0;
    padding-left: 24px;
    display: flex;
    align-items: center;
}

.login-robot-card .form-check-input {
    width: 17px;
    height: 17px;
    margin-top: 0;
    cursor: pointer;
}

.login-robot-card .form-check-label {
    font-size: 13px;
    font-weight: 500;
    color: #334155;
    cursor: pointer;
    margin-left: 6px;
    user-select: none;
}

/* Chybové hlášení */
.infpsw {
    font-size: 13px;
    padding: 0;
    margin: 0;
    transition: all 0.2s ease;
}

.infpsw:not(:empty):not(:contains('.')) {
    background-color: #fef2f2;
    color: #dc2626 !important;
    border: 1px solid #fecaca;
    border-radius: 8px;
    padding: 8px 12px;
    margin-bottom: 12px;
    text-align: center;
}

/* Tlačítko Přihlásit se */
.login-submit-btn {
    height: 44px;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: 0.3px;
    border-radius: 10px;
    background: #0d6efd;
    border: none;
    box-shadow: 0 4px 12px rgba(13, 110, 253, 0.25);
    transition: all 0.2s ease;
}

.login-submit-btn:hover {
    background: #0b5ed7;
    box-shadow: 0 6px 16px rgba(13, 110, 253, 0.35);
    transform: translateY(-1px);
}

.login-submit-btn:active {
    transform: translateY(0);
}

/* Oddělovač "nebo" */
.login-divider {
    display: flex;
    align-items: center;
    text-align: center;
    margin: 18px 0;
    color: #94a3b8;
}

.login-divider::before,
.login-divider::after {
    content: '';
    flex: 1;
    border-bottom: 1px solid #e2e8f0;
}

.login-divider span {
    padding: 0 12px;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Tlačítko Google */
.login-google-btn,
.bgoogle.login-google-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 44px !important;
    background: #ffffff !important;
    color: #374151 !important;
    border: 1px solid #dadce0 !important;
    border-radius: 10px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
    margin: 0 !important;
    padding: 0 16px !important;
    transition: all 0.2s ease !important;
}

.login-google-btn:hover,
.bgoogle.login-google-btn:hover {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important;
    color: #111827 !important;
    transform: translateY(-1px);
}

.login-google-btn svg {
    margin-right: 10px;
    flex-shrink: 0;
}

.login-google-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    color: #64748b;
    background: #f1f5f9;
    padding: 4px 10px;
    border-radius: 20px;
    margin-top: 8px;
}

.login-google-badge .material-icons {
    font-size: 13px;
    color: #0d6efd;
}

@media (prefers-color-scheme: dark) {
    #ModalCenterLogin .modal-content.login-modal-card,
    #ModalCenterLogin2 .modal-content.login-modal-card {
        background: #1e293b;
        color: #f8fafc;
        border-color: rgba(255, 255, 255, 0.12);
        box-shadow: 0 20px 45px rgba(0, 0, 0, 0.45);
    }
    .login-modal-title {
        color: #f8fafc;
    }
    .login-modal-subtitle {
        color: #94a3b8;
    }
    .login-field-label {
        color: #cbd5e1;
    }
    .login-input-group .input-group-text {
        background-color: #0f172a;
        border-color: #334155;
        color: #94a3b8;
    }
    .login-input-group .login-input {
        background-color: #1e293b;
        border-color: #334155;
        color: #f8fafc;
    }
    .login-input-group .login-input:focus {
        background-color: #1e293b;
        border-color: #3b82f6;
        color: #ffffff;
    }
    .login-toggle-pwd {
        background-color: #0f172a;
        border-color: #334155;
        color: #94a3b8;
    }
    .login-robot-card {
        background: #0f172a;
        border-color: #334155;
    }
    .login-robot-card .form-check-label {
        color: #cbd5e1;
    }
    .login-divider::before,
    .login-divider::after {
        border-color: #334155;
    }
    .login-google-btn,
    .bgoogle.login-google-btn {
        background: #0f172a !important;
        border-color: #334155 !important;
        color: #f8fafc !important;
    }
    .login-google-btn:hover,
    .bgoogle.login-google-btn:hover {
        background: #1e293b !important;
        border-color: #475569 !important;
        color: #ffffff !important;
    }
    .login-google-badge {
        background: #0f172a;
        color: #94a3b8;
    }
}

@media (max-width: 576px) {
    #ModalCenterLogin .modal-dialog,
    #ModalCenterLogin2 .modal-dialog {
        margin: 16px;
    }
    #ModalCenterLogin .modal-body,
    #ModalCenterLogin2 .modal-body {
        padding: 16px 20px 24px 20px;
    }
    #ModalCenterLogin .modal-header,
    #ModalCenterLogin2 .modal-header {
        padding: 20px 20px 0 20px;
    }
}

.login-hp-field {
    display: none !important;
    position: absolute !important;
    left: -9999px !important;
    opacity: 0 !important;
    pointer-events: none !important;
    height: 0 !important;
    width: 0 !important;
}

/* ==========================================================================
   Moderní horní lišta / navigace v hlavičce (mobilní i desktopové zobrazení)
   ========================================================================== */

#topnav {
    padding: 6px 0;
    min-height: 52px;
}

#topnav .navbar-brand img {
    max-height: 40px;
    width: auto;
    max-width: 140px;
    object-fit: contain;
}

.header-nav-actions {
    gap: 4px;
}

.header-nav-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    height: 36px;
    min-width: 36px;
    padding: 0 8px;
    border-radius: 8px;
    line-height: 1;
    font-size: 13px;
    transition: all 0.2s ease;
}

.header-nav-btn .material-icons {
    font-size: 20px;
    line-height: 1;
}

/* Tlačítko přihlášeného uživatele */
.header-nav-user {
    padding: 0 10px !important;
    font-weight: 500;
}

.header-nav-user .material-icons {
    font-size: 18px;
    margin-right: 4px;
}

.header-user-email {
    font-size: 12px;
    line-height: 1.2;
    display: inline-block;
    vertical-align: middle;
}

/* Mobilní optimalizace */
@media (max-width: 576px) {
    #topnav {
        padding: 4px 0;
    }
    #topnav .container {
        padding-left: 8px;
        padding-right: 8px;
    }
    #topnav .navbar-brand img {
        max-height: 32px;
        max-width: 95px;
    }
    .header-nav-btn {
        height: 34px;
        min-width: 34px;
        padding: 0 6px;
        border-radius: 6px;
    }
    .header-nav-btn .material-icons {
        font-size: 19px;
    }
    .header-user-email {
        font-size: 11px;
        max-width: 105px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

/* Velmi úzké obrazovky (< 380px) */
@media (max-width: 380px) {
    #topnav .navbar-brand img {
        max-width: 75px;
    }
    .header-user-email {
        max-width: 80px;
    }
    .header-nav-btn {
        padding: 0 4px;
        min-width: 32px;
    }
}

/* Tmavý režim pro navigační tlačítka */
@media (prefers-color-scheme: dark) {
    .header-nav-btn.btn-outline-dark {
        color: #e2e8f0;
        border-color: rgba(255, 255, 255, 0.25);
    }
    .header-nav-btn.btn-outline-dark:hover {
        background-color: rgba(255, 255, 255, 0.12);
        color: #ffffff;
    }
    .header-nav-btn.btn-outline-primary {
        color: #60a5fa;
        border-color: #3b82f6;
    }
    .header-nav-btn.btn-outline-primary:hover {
        background-color: #3b82f6;
        color: #ffffff;
    }
    .header-nav-btn.btn-outline-danger {
        color: #f87171;
        border-color: #ef4444;
    }
    .header-nav-btn.btn-outline-danger:hover {
        background-color: #ef4444;
        color: #ffffff;
    }
}
