* {
  box-sizing: border-box;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
    Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  font-size: 1rem;
  line-height: 1.7;
  padding: 0 1rem;
  word-wrap: break-word;
  color: var(--text-main);
  background: var(--background-body);
  text-rendering: optimizeLegibility;

  /* center by default */
  /*display: flex;*/
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  padding: 1rem;
}

input[type=text], input[type=email], input[type=tel], input[type=number], select, textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
  resize: vertical;
}

label {
  padding: 12px 12px 12px 0;
  display: inline-block;
}
/*
input[type=submit] {
  background-color: #04AA6D;
  color: white;
  padding: 12px 20px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  float: right;
}
*/
input[type=submit]:hover {
  background-color: #45a049;
}

.container {
  border-radius: 5px;
  background-color: #f2f2f2;
  padding: 20px;
}

.col-25 {
  float: left;
  text-align: right;
  width: 25%;
  margin-top: 6px;
}

.col-15 {
  float: left;
  text-align: right;
  width: 15%;
  margin-top: 6px;
}

.col-20 {
  float: left;
  text-align: right;
  width: 20%;
  margin-top: 6px;
}

.col-35 {
  float: left;
  text-align: right;
  width: 35%;
  margin-top: 6px;
}
.col-35-left {
  float: left;
  text-align: left;
  width: 35%;
  margin-top: 6px;
}

.col-75 {
  float: left;
  width: 75%;
  margin-top: 6px;
}
.col-85 {
  float: left;
  width: 85%;
  margin-top: 6px;
}
.col-65 {
  float: left;
  width: 65%;
  margin-top: 6px;
}
.col-100 {
  float: left;
  text-align: center;
  width: 100%;
  margin-top: 6px;
}
.col-50 {
  float: left;
  text-align: center;
  width: 50%;
  margin-top: 6px;
}
.col-100-left {
  float: left;
  text-align: left;
  width: 100%;
  margin-top: 6px;
}

input + small, select + small {
  color: var(--error);
}

/* input error & success */
input.error,
textarea.error,
select.error {
  border-color: var(--error);
}

input.error:focus,
textarea.error:focus,
select.error:focus {
  box-shadow: 0 0 0 0.25rem rgb(220 53 69 / 25%);
}

.alert-error {
  color: #842029;
  background-color: #f8d7da;
  border-color: #f5c2c7;
}

.error {
  color: var(--error);
}

/* Clear floats after the columns */
.row:after {
  content: "";
  display: table;
  clear: both;
}

button {
  background: var(--primary);
  color: var(--button-text);
  border-radius: 0.25rem;
  font-size: 1rem;
  font-weight: 400;
  border: 1px solid var(--primary);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,
    border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  text-align: center;
  padding: 0.375rem 0.75rem;
}

button:hover {
  background: var(--secondary);
  border-color: var(--border-color);
  cursor: pointer;
}

button:focus {
  outline: none;
  color: var(--button-text);
  background-color: var(--secondary);
  border-color: var(--border-color);
  box-shadow: var(--button-focus);
}

form > button {
  display: block;
  width: 100%;
}

/* 
	Place multiple checkbox or radibo button inside a label and wrap
 	them with a <p> tag to make them stacked 
*/
form > div > p > label {
  display: block;
  margin-left: auto;
  margin-bottom: 0.75rem;
}

/* 
	Add margin to the checkbox or radio button 
	if they're placed next to each other
*/
label + label {
  margin-left: 1rem;
}

/*  Links
--------------------------------------------------------------------------*/
a {
  text-decoration: none;
  color: var(--link-color);
}

a:hover {
  text-decoration: underline;
}
a:focus {
  box-shadow: var(--button-focus);
  border-radius: 3px;
  outline: none;
}

input,
button,
textarea,
select {
  font: inherit;
}
/*
input[type="file"] {
    display: none;
}
*/
.custom-file-upload {
    max-width: 100%;
    border: 1px solid #ccc;
    display: inline-block;
    padding: 6px 12px;
    cursor: pointer;
}

/* The container */
.ccontainer {
  display: block;
  position: relative;
  padding-left: 35px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* Hide the browser's default checkbox */
.ccontainer input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

/* Create a custom checkbox */
.checkmark {
  position: absolute;
  top: 3px;
  left: 0;
  height: 25px;
  width: 25px;
  background-color: var(--primary);
}

/* On mouse-over, add a grey background color */
.ccontainer:hover input ~ .checkmark {
  background-color: var(--secondary);
}

/* When the checkbox is checked, add a blue background */
.ccontainer input:checked ~ .checkmark {
  background-color: #2196F3;
}

/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

/* Show the checkmark when checked */
.ccontainer input:checked ~ .checkmark:after {
  display: block;
}

/* Style the checkmark/indicator */
.ccontainer .checkmark:after {
  left: 9px;
  top: 5px;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 3px 3px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

/* Responsive layout - when the screen is less than 600px wide, make the two columns stack on top of each other instead of next to each other */
@media screen and (max-width: 1000px) {
  .col-15, .col-20, .col-25, .col-35, .col-50, .col-65, .col-75, .col-85 {
    width: 100%;
    margin-top: 0;
    text-align: left;
  }
}

/* barvy platí vždy; dřív byly jen pro světlý režim a v tmavém chyběly */
:root {
  color-scheme: light;
  --error: #dc3545;
  --success: #198754;
  --primary: #7952b3;
  --secondary: #61428f;
  --border-color: #61428f;
  --button-text: #fff;
  --button-focus: 0 0 0 3px rgb(121, 82, 179, 0.25);
  /* link color */
  --link-color: #7952b3;
  /* text */
  --text-main: #363636;
  --text-bright: #000;
  /* background */
  --background-body: #f9fafb;
  --main-bg: #fff;
  --main-border: transparent;

  /* input */
  --input-text-color: #000;
  --input-placeholder-color: #c2c2c2;
  --input-border-color: #ccc;
  --input-background-color: #fff;
  --input-disabled: #f5f5f5;
  --input-focus: 0 0 0 3px rgb(121, 82, 179, 0.25);
  --box-shadow: rgb(50 50 93 / 25%) 0px 2px 5px -1px,
    rgb(0 0 0 / 30%) 0px 1px 3px -1px;
}

.alert-error {
  padding: 12px;
  border: 1px solid #f5c2c7;
  border-radius: 4px;
  margin: 12px 0;
}

.center {
  text-align: center;
}

input[type=file] {
  max-width: 100%;
}

img {
  max-width: 100%;
  height: auto;
}

/* objednávka jídel: oddělení dnů */
.den-start {
  border-top: 2px solid var(--primary);
  margin-top: 12px;
  padding-top: 6px;
}

.den {
  font-weight: bold;
}
