/* Tělo */
body, html {
  font-family: 'Rubik', sans-serif;
	font-weight: 400;
	font-style: normal;
  margin: 0;
  padding: 0 0 20px 0;
	font-weight: 400;
	font-style: normal;
  
    user-select: none;
}


.highlight{
outline: 2px solid salmon !important;
}

/* Styling the main scrollbar */
::-webkit-scrollbar {
  width: 10px; /* Width of the scrollbar */
}

/* Styling the scrollbar thumb (the draggable part) */
::-webkit-scrollbar-thumb {
  background-color: #888; /* Color of the thumb */
  border-radius: 5px; /* Rounded corners for the thumb */
}

/* Styling the scrollbar track (the non-draggable part) */
::-webkit-scrollbar-track {
  background-color: #f1f1f1; /* Color of the track */
}

/* Styling the scrollbar corner (between the vertical and horizontal scrollbars) */
::-webkit-scrollbar-corner {
  background-color: #f1f1f1; /* Color of the corner */
}

.stitek{
height: 20px;
position: relative;
display: inline-block;
z-index: 1;
line-height: 20px;
font-size: 10pt;
font-weight:600;
padding: 3px 8px;
filter: drop-shadow(2px 2px 1px lightgray);
border-radius: 0 0 10px 0;
}

.std{
background-color: #F9E88F;
}

.fine{
background-color: #FF8B57;
}

.basic{
background-color: #C4EDFF;
}

header {                
	background-color: #3B3B3B;
	width: 100%;
	height: 80px;
  position: sticky;
  top: 0;
  z-index: 1000;
}

.header-inner{
width: 60vw;
height: 60px;
padding: 0 20px;
margin: 0 auto;
text-align: left;
} 

#logo-wrap{
float: left;
width: 25vw;
padding: 0;
margin: 0;
}
       
#logo-wrap > img {
height: 50px; 
padding: 10px 10px;
}

.main-cart {
  display: flex;
  flex-direction: column;
	width: 60vw;
	margin: 30px auto;
	padding: 0;                 
	background-color: #fff;
}

@media only screen and (max-width: 1400px) {
.main-cart {
	width: 90%;
	padding: 0;
}
}

form {
	width: 60vw;
	margin: 30px auto;
	padding: 0;                
}

@media only screen and (max-width: 1400px) {
form {
	width: 90%;
	padding: 0;
}

.header-inner {
width: 90vw;
}
}



b {
	font-family: jaf-bernino-sans, sans-serif;
	font-weight: 700;
	font-style: normal;
}


fieldset {
	border: 0;
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	border-radius: 8px;
	margin: 0px;
	padding: 0;
  
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 3fr));
  gap: 20px; /* Můžete upravit mezery mezi prvky podle svých preferencí */
  justify-items: legacy; /* Uprostřed zarovnání prvků */
  
  /*
  display: flex;      
  justify-content: left;     
  gap: 20px;
  flex-wrap: wrap;
  */
}

fieldset.contactform {
  grid-template-columns: 1fr 6fr 1fr 6fr;
  display: grid;
  gap: 40px;
  align-items: center;
}


legend {
	display: block;
	width: 100%;
	font-size: 16pt;
	font-weight: 600;
	border-bottom: 1px solid #707070;
	margin-bottom: 20px;
	padding-top: 30px;
	color: #1C1C1C;
}

.number-field {
  display: flex;
  box-sizing: border-box;
  flex-flow: column;
  
}


input[type="number"], input[type="text"], input[type="email"], input[type="tel"], select {
	cursor: pointer;
	box-sizing: border-box;
	border: 2px solid white;
    -moz-box-shadow:     2px 2px 6px #DDD;
    -webkit-box-shadow:  2px 2px 6px #DDD;
    box-shadow:          2px 2px 6px #DDD;
	padding: 10px;
	border-radius: 30px;
}

input[type="number"]:focus, input[type="text"]:focus,  input[type="email"]:focus, input[type="tel"]:focus {
	cursor: pointer;
  outline: none;
	box-sizing: border-box;
	border: 2px solid #9AFF9A;
}


 
/* Štítky produktů a materiálů */

input[type="radio"] {
	display: none;
	visibility: hidden;
}

input[type="radio"] + label {
	display: block;
	float: left;
	cursor: pointer;       
	color: #3B3B3B;
}

input[type="radio"]:checked + label > .product-label-inner > .product-label-title{
	display: block;
	float: left;
	cursor: pointer;
	color: #9AFF9A;
	background-color: #3B3B3B;   
}


input[type="radio"] + label > .product-label-inner  > .product-label-title {
	box-sizing: border-box;
	border-radius: 25px;
  position: relative;
  z-index: 1; 
	visibility: visible;
	display: block;       
	float: left;
	text-align: center;
	width: 100%;
	font-size: 9pt;
	margin: 10px 0;
	padding: 7px 10px;
	height: 30px;      
	color: #3B3B3B;
  border: 1px solid #3B3B3B;
}


.paper-label, .kasirovani-label {
	box-sizing: border-box;
	margin: 0 0 20px 0;
	padding: 0;
}

@media only screen and (max-width: 1000px) {
.paper-label, .kasirovani-label {
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 20px 0;
	padding: 0;
}
}


@media only screen and (max-width: 800px) {
fieldset.contactform {
grid-template-columns: 1fr 6fr;
}   
}



.product-label-image {
    height: 150px;
    margin: 0 auto;
    padding: 0;
    overflow: hidden;
}


.product-label-image > img {
  width: 100%;
    position: relative;
    top: -100%;
    margin: 0 auto;
}

.label-title {
	box-sizing: border-box;
	display: block;
	float: left;
	width: calc(100% - 170px);
	font-size: 12pt;
	font-weight: 600;
	margin: 0;
	padding: 0 0 20px 20px;
}


.label-text {
	box-sizing: border-box;
	display: block;
	float: left;
	text-align: left;
	width: calc(100% - 170px);
	font-size: 9pt;
	margin: 0;
	padding: 0 0 20px 20px;
}


.label-image {
	box-sizing: border-box;
	display: block;
	float: left;
	width: 150px;
	height: 150px;
	margin: 0;
	padding: 0;
	overflow: hidden;
}


.label-image > img {
	width: 100%;
  position: relative;
  top: -26px;
}


.btn-sel {
	background-color: white;
	visibility: hidden;
}

input:checked + label > .label-image> .btn-sel {
	box-sizing: border-box;
	border-radius: 25px;
	visibility: visible;
	background-color: rgba(59,59,59,0.8);
	color: #9AFF9A;
	text-align: center;
	width: 100px;
	font-size: 9pt;
	margin: 0 20px;
	padding: 7px 10px;
	height: 30px;
  position: relative; 
  right: -10px;
  top: -60px;
  margin: 100px 0 0 25px;
}

/* Quick-zoom Container */
.img-hover-zoom--quick-zoom img {
	transition: transform .25s, visibility .25s ease-in;
}
/* The Transformation */
.img-hover-zoom--quick-zoom:hover img {
	transform: scale(2);
}

.image-item {
  position: relative;
  width: 100%;
  display: inline-block;
  text-align: center;
}

.outer-thumbnail {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  position: relative;
  padding: 10px 0 0 0;
  background: radial-gradient(circle, rgba(43,43,43,0.50) 0%, rgba(0,0,0,1) 100%);
  height: 400px;
  overflow: hidden;
  border: 2px solid #ccc; /* můžete upravit barvu ohraničení podle svých preferencí */
}

.thumbnail-image {
  width: 100%;
  height: 100%;
  background-size: contain; /* Změnil jsem na 'contain', aby bylo pozadí vycentrováno */
  background-position: center center; /* Vycentrování pozadí */
  background-repeat: no-repeat; /* Zabrání opakování pozadí */
}

.outer-thumbnail > p {
  margin: 10px 0;
  font-size: 10px;
  color: white; 
}

.close-button {
  position: absolute;
  top: 0;
  right: 0;
  background: none;
  border: none;
  cursor: pointer;
  outline: none;
}

.close-button svg {
  width: 20px;
  height: 20px;
  padding: 10px;
  color: red; /* můžete upravit barvu ikony zavíracího tlačítka podle svých preferencí */
}



table {
  border-collapse: collapse;
  width: 100%;
  background-color: #fff;
  border: 1px solid #ccc;
}

/* Styl záhlaví tabulky */
th {
  background-color: #f2f2f2;
  font-weight: bold;
  padding: 8px;
  text-align: left;
}

/* Styl buněk tabulky */
td {
  padding: 8px;
  text-align: left;
  border-bottom: 1px solid #eee;
}

tr > td:first-child {
max-width: 20%;
}

img {
  user-drag: none;
  user-select: none;
}




#price-info {
  text-align: center;
}

#total-container {
  box-sizing: border-box;
  width: 100%;
  padding: 10px;
  display: inline-block;
}

#cena {
  display: flex;
  flex-direction: column;
  font-size: 24px;
  color: #333;
}

#product_price {
  font-weight: bold;
  font-size: 30px;
  /*color: #0077b6; /* Or any other color you prefer */
}

i {
  font-style: italic;
  font-size: 14px;
  color: #999;
}


#image-container, #loading-info {
grid-column: span 2;
}

.dropzoneinput{
grid-column: span 1;
height: -webkit-fill-available;
width: 100%;
}



#logo-wrap{
float: left;
padding: 0;
margin: 0;
}

#logo-wrap > img {
height: 70px;
padding: 0;
}

#send-button {
  background-color: #9AFF9A;
  border: none;
  color: #3B3B3B;
  padding: 10px 20px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  border-radius: 20px; /* Adjust the radius to control the roundness of the corners */
  cursor: pointer;
}

.error {
  border: 2px solid red !important;
}

.error-message {
  color: red;
  font-size: 14px;             
  padding: 10px;           
  border: 2px solid red !important;
    margin: 20px 0 0 0;
}





/* NÁKUPNÍ KOŠÍK */

/* CSS pro umístění vpravo pod ikonkou nákupního košíku */
/* CSS s použitím CSS anchor pro umístění vpravo pod ikonkou */
#cart-summary {
    background-color: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(10px); /* Rozostření s hodnotou 5px */
    color: #333;
    max-width: 500px;
    min-width: 300px;
    max-height: 80vh; 
    overflow-x: hidden;
    overflow-y: auto;
    line-height: 1.4;
    padding: 0 20px 10px 20px;
    box-sizing: border-box;
    display: none;
    position: absolute;
    top: 80px;
    right: 0px;
    z-index: 2;
    border-radius: 0 0 10px 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Horizontální offset, vertikální offset, rozmazání, barva stínu */
}

#prejit-do-kosiku {
    width: 100%;
    text-align: center;
}


#prejit-do-kosiku > a {
    text-align: center;
    background-color: #9AFF9A;
    border: none;
    color: #3B3B3B;
    padding: 10px 20px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    border-radius: 20px;
    cursor: pointer;
}

#cart-icon {
  position: relative;
}

#cart-summary h3 {
    font-size: 18px;
    margin-bottom: 10px;
    color: #333;
}

#cart-items, #maincart-items {
    list-style-type: none;
    padding: 0;
}

#cart-items li, #maincart-items li {     
    font-size: 16px;
    padding: 15px 0;   
    border-bottom: 1px solid #ccc;
}


#maincart-items > li:hover {
    background-color: whitesmoke;
}


#cart-items li:last-child, #maincart-items li:last-child{
    border-bottom: none;
}

#cart-total {
    font-weight: bold;
    font-size: 18px;
    margin-top: 10px;
}

.kosik-prazdny {
  color: lightgray;
  display: flex;    
  justify-content: center;
  align-items: center;
  font-size: 50px !important;
  min-height: 200px 
}

.remove-item {
float: right;
      color:  #000;
      fill: currentColor;
      line-height: 12pt;
      height: 11pt;
      width: 1em;   
}

.remove-item:hover {
  color: #f00; /* Změna barvy textu při najetí myší */
}            
     
.remove-item:hover {
  color: #f00; /* Změna barvy textu při najetí myší */
}

.cart-close {
      float: right;
      color:  #000;
      fill: currentColor;
      line-height: 12pt;
      height: 11pt;
      width: 1em;   
}

.cart-close:hover {
      color:  #999;
}


.toolbtn {
cursor: pointer;
background: unset;
padding: 10px;
margin: 5px;
border-radius: 25px;
}

.green {
background: #9AFF9A;
border-color: #9AFF9A;
}
        
.toolbtn:hover {
background: #9AFF9A;
}

#cart-triangle{
float: right;
line-height: 80px;
padding-left: 5px;
color: white;
}

.stepscontainer {
    width: 60vw;
    height: 80px;
    margin: 0 auto;
    display: grid;
    padding-bottom: 30px;
    grid-template-columns: repeat(3, 1fr);
    grid-auto-rows: 1fr;
    grid-column-gap: 10px;
    grid-row-gap: 5px;
    cursor: hand;
}

.steps {
    text-align: center;    
    display: flex;
    flex-direction: column;
    align-items: center;
}

.steps > div {
    background-color: whitesmoke;
    text-align: center;
    line-height: 50px;
    width: 50px;
    height: 50px;
    border-radius: 50px;
    transition: all 0.7s ease-in-out;
}

.active {
    background-color: #9AFF9A !important;
}



.steps-slider {
    width: 100%;
}

.slide {
    width: 100%;
    height: 100%;
    display: none;
}

.slide.active-slide {
    display: flex;  
    width: 100%;
    flex-direction: column;
}

.zasilkovna-label {
    box-sizing: border-box;
    width: 100%;
    min-width: 300px;
    height: 150px;
    margin: 0 0 20px 0;
    padding: 0;
    }