/*@import url('https://fonts.googleapis.com/css2?family=Bitter:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital@0;1&family=IBM+Plex+Sans+Condensed:ital@0;1&family=IBM+Plex+Sans:ital,wght@0,100;0,400;0,700;1,100;1,400;1,700&family=IBM+Plex+Serif:ital@0;1&display=swap');

--- 

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,700;1,800;1,900&family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap'); */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100;0,9..40,200;0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;0,9..40,900;1,9..40,100;1,9..40,400;1,9..40,700&family=Public+Sans:ital,wght@0,100;0,400;0,600;0,700;0,900;1,400&display=swap');


* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 5.5rem;
}

body {
  margin: 0;
  font-family: 'DM Sans', sans-serif !important;
  background-color: snow;
}

a {
  text-decoration: none;
  color: inherit;
}

a.underline {
  text-decoration: underline;
}

  a.underline:hover {
    text-shadow: 1px 1px 1px #b3a9a9;
  }

.pointer {
  cursor: pointer !important;
}

.bold {
  font-weight: 600 !important;
}

/* NAVBAR */

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  text-align: right;
  padding: .1rem 1.3rem;
  transition: all .2s ease;
  z-index: 5;
  color: white;
  /*border-bottom: 1px solid #ffffff76;*/
  backdrop-filter: blur(7px);
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0.4) 100%);
}

header .name {
  float: left;
  font-size: 2.6rem;
  margin-top: .7rem;
  font-weight: 900;
  text-transform: uppercase;
  text-shadow: 1px 1px 2px #606060;
  margin-bottom: .5rem;
}

  header .name > span {
    color: lightgrey;
  }

header.scrolled {
  /* background-color: #242424;
  box-shadow: 3px 0 6px #2d2d2d; */
  border-bottom: none;
}

@media only screen and (max-width: 1100px) {
  header .name {
    font-size: 2.4rem;
  }
}

@media only screen and (max-width: 900px) {
  header .name {
    font-size: 2rem;
  }
}

.background {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  transition: all 1s;
  background: /*linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0) 85%, rgba(255,255,255,1) 98%),*/ url("../img/hero.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}


/*  ------ MAIN + FOOTER ------- */

main {
  width: 80%;
  margin: 20vh auto 2rem auto;
  background-color: snow;
}

footer {
  width: 80%;
  margin: 1.5rem auto 1rem auto;
  padding: .5rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr;
  text-align: left;
  background-color: rgba(255, 250, 250, 0.5);
}

  footer p {
    display: inline-block;
    margin: 0;
    padding: 0;
  }

  footer p.docs {
    text-align: right;
  }

  footer a {
    text-decoration: underline;
  }

@media only screen and (max-width: 1100px) {
  footer { display: block; text-align: center; }
  footer p { display: block; text-align: center !important; }
}

@media only screen and (max-width: 950px) {
  main, footer { width: 90%; }
}

@media only screen and (max-width: 650px) {
  main, footer { width: 95%; }
}


/*  ------ NAVBAR ------- */

div.navbar {
  width: 100%;
  padding: 1.3rem 2rem;
  background-color: #1B1B1B;
  color: white;
  text-align: right;
}

div.navbar nav.navbar {
  float: left;
}

div.navbar a {
  text-transform: uppercase;
  display: inline-block;
  font-size: 1.2rem;
  font-weight: 200;
  text-shadow: 1px 1px 2px #606060;
}

  div.navbar nav.navbar > a {
    padding-right: 1rem;
    opacity: .9;
    transition: all .3s;
  }

  div.navbar nav.navbar > a.active, div.navbar nav.navbar > a:hover {
    opacity: 1;
  }

  div.navbar a.kosik {
    font-weight: 600;
  }

div.navbar a.button {
  display: none;
  cursor: pointer;
  filter: invert(1);
  z-index: 7;
  float: left;
}

  div.navbar a.button img {
    transition: transform .3s ease;
  }

  div.navbar a.button img.rotated {
    transform: rotate(90deg);
  }

div.navbar nav.mobile {
  display: none;
}

  div.navbar nav.mobile.show {
    text-align: left;
    display: block;
    padding-top: .5rem;
  }
  
  div.navbar nav.mobile.show a {
    display: block;
    margin-top: 1rem;
  }

@media only screen and (max-width: 750px) {
  div.navbar a.button { display: block; }
  div.navbar nav.navbar { display: none; }
}

/* ---- GRID ---- */

main div.body {
  display: grid;
  grid-template-columns: 2fr 1fr;
  grid-template-rows: 1fr;
  grid-column-gap: 1rem;
}

@media only screen and (max-width: 950px) {
  main div.body {
    display: block;
  }

  main .left:after {
    content: "";
    display: block;
    background-color: lightgrey;
    height: 2px;
    width: 85%;
    margin-left: auto;
    margin-right: auto;
    bottom: 0;
  }
}

div.body > div {
  padding: 1rem;
}


/*  ------ BODY ------- */

div.body h1 {
  margin-bottom: .3rem;
  font-weight: 500;
  font-size: 2.4rem;
}

div.body p.sub {
  font-size: 1.1rem;
  margin-top: 0;
  font-weight: 200;
  padding: 0 2rem;
}

div.body .left {
  text-align: center;
}

div.body h2 {
  text-align: center;
  font-weight: 500;
  font-size: 2rem;
  position: relative;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}

div.body h2:after {
    content: "";
    display: block;
    background-color: black;
    height: 2px;
    width: 75%;
    position: absolute;
    bottom: -.2rem;
    left: 12.5%;
  }

  body.dark-theme div.body h2:after {
    background-color: rgb(173, 173, 173);
  }

div.body p.hlavni {
  text-align: center;
  width: 60%;
  font-size: 1.4em;
  line-height: 1.5em;
  margin: 0 auto;
  font-weight: 200;
}

  @media only screen and (max-width: 650px) {
  div.body p.hlavni {
    font-size: 1.2em;
    padding-bottom: 2.5rem;
  }
  div.body h2 {
    font-size: 1.6rem;
    
  }
  }

  @media only screen and (max-width: 950px) {
    div.body p.hlavni {
      width: calc(100% - 2rem);
    }
  }

/*  ------ ZPŮSOB PLATBY ------- */

div.platba {
  width: 80%;
  margin-right: auto;
  margin-left: auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-column-gap: 1rem;
  margin-bottom: 3rem;
}

  @media only screen and (max-width: 750px) {
    div.platba {
      width: 90%;
    }
  }

  @media only screen and (max-width: 450px) {
    div.platba {
      width: 95%;
    }
  }

  div.platba div.platba-button {
    display: block;
    width: 100%;
    /*height: 0;
    padding-top: 100%;*/
    border-radius: 5px;
    border: 1px solid lightgrey;
  }

    div.platba-button p.icon {
      font-size: 3rem;
      margin: .5rem;
      margin-bottom: 0;
    }

    div.platba-button p.desc {
      margin: .5rem;
      margin-top: 0;
      font-weight: 600;
    }

/*  ------ FAQ ------- */

ul {
  list-style-type: none;
  text-align: left;
  margin-bottom: 3rem;
}

  ul li:before {
    content: "–⁠";
    margin-right: .5rem;
  }

  ul.no-dash li:before {
    content: "";
  }

  ul.no-dash {
    margin-bottom: 0;
  }

div.faq-button {
  width: 80%;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 1rem;
  border-radius: 5px;
  border: 1px solid lightgrey;
  text-align: LEFT;
}

  div.faq-button.last {
    margin-bottom: 4rem;
  }

  @media only screen and (max-width: 750px) {
    div.faq-button {
      width: 90%;
    }
  }

  @media only screen and (max-width: 450px) {
    div.faq-button {
      width: 95%;
    }
  }

  div.faq-button p {
    margin: 0;
    padding: 1rem;
  }

  div.faq-button p.question {
    width: 100%;
    border-bottom: 1px solid lightgrey;
    font-weight: 600;
  }

/* -------- RIGHT PANNEL -------- */

.right .button {
  border-radius: 5px;
  border: 1px solid lightgrey;
  width: 70%;
  margin: 4rem auto;
  padding: 1rem;
  text-align: center;
}

  @media only screen and (max-width: 750px) {
    .right .button {
      width: 80%;
    }
  }

  .right .button h3 {
    text-transform: uppercase;
    font-size: 1.3rem;
  }

  .right .button img {
    width: 100%;
  }

.right .container {
  width: 85%;
  margin: 0 auto 2rem auto;
  padding: 1rem;
  text-align: center;
}

a.link-button {
  display: block;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  padding: .5rem;
  border-radius: 3px;
  border: 2px solid black;
  transition: all .3s;
  font-weight: 500;
}

a.link-button:hover {
  padding: .5rem;
  border-radius: 3px;
  color: white;
  background-color: black;
}


a.link-button.disabled {
  opacity: .4;
  cursor: not-allowed;
}

a.link-button.disabled:hover {
  background-color: white;
  color: black;
}

/* ----- VIP ------ */

main div.body.no-grid {
  display: block;
}

.table-container {
  overflow-x: auto;
  width: 100%;
  padding: 1rem;
}

.table-container table {
  width: 100%;
  table-layout: fixed;
  text-align: center;
  min-width: 940px;
}


  .table-container table th:not(:first-child) {
    vertical-align: bottom;
    font-size: 1.3rem;
    padding-bottom: .5rem;
    border-bottom: 2px solid black;
  }

  .table-container table img {
    width: 40%;
    margin: 0 auto 1rem auto;
    display: block;
  }

.table-container table td {
  padding: .4rem;
}

  .table-container table td.cross {
    opacity: .4;
  }

  .table-container table td.bold {
    font-weight: 600;
  }

.table-container tr:nth-child(even):not(.no-bg) {
  background-color: rgb(240, 239, 239);
}

.table-container table tr.category {
  background-color: rgb(186, 183, 183) !important;
  font-size: 1.1rem;
  font-weight: 500;
}

.table-container table span.levneji {
  font-weight: 200;
}

h3.vysvetlivky {
  margin-left: 2rem;
  text-transform: uppercase;
  font-weight: 200;
}

/* ----- VIP BALÍČKY ----- */

.balicky {
  padding: 0 2rem;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr;
}

  @media only screen and (max-width: 1250px) {
    .balicky {
      grid-template-columns: 1fr 1fr;
      grid-template-rows: 1fr;
    }
  }

  @media only screen and (max-width: 950px) {
    .balicky {
      display: block;
    }
  }

.balicky-index {
  padding: 0 2rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr;
}

  @media only screen and (max-width: 950px) {
    .balicky-index {
      display: block;
    }
  }

.card {
  border-radius: 5px;
  border: 1px solid lightgrey;
  width: 90%;
  margin: 1rem auto;
  padding: 1rem;
  text-align: center;
}

  .card h3 {
    text-transform: uppercase;
    font-size: 1.3rem;
  }

  .card img {
    width: 70%;
  }

  @media only screen and (max-width: 950px) {
    .balicky .card {
      width: 80%;
    }
  }

  @media only screen and (max-width: 600px) {
    .balicky .card {
      width: 90%;
    }
  }

  .card .grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 1rem;
  }

  .card .grid.bez-slevy {
    grid-template-columns: 1fr 2fr;
  }

  .card .grid.odmena {
    grid-template-columns: 1fr 1.5fr;
  }

  @media only screen and (max-width: 350px) {
    .card .grid.odmena {
      grid-template-columns: 1fr 2.5fr;
      grid-column-gap: .5rem;
    }
  }

.card .cena-sleva {
  background-color: red;
  padding: .5rem;
  border-radius: 5px;
  text-align: center;
}

  .card .cena-sleva p {
    margin: 0;
    padding: 0;
    color: white;
  }

  .card .cena-sleva p.cena {
    font-size: 1.2rem;
    font-weight: 600;
  }

  .card .cena-sleva p.cena-puvodni {
    font-size: 1rem;
    font-weight: 200;
  }

    .card .cena-sleva p.cena-puvodni span {
      text-decoration: line-through;
    }


.card .link-button {
  width: 100%;
  font-size: 1.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

  .card .bez-slevy .link-button {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }

.card .cena {
  color: red;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  font-weight: 600;
}

ul.last {
  padding-bottom: 2rem;
  padding-right: 2rem;
}

/* ---- MĚSÍČNÍ ODMĚNA ---- */

.odmena-checker h3 {
  margin-left: 2rem;
  text-transform: uppercase;
  font-weight: 200;
  text-align: left;
}

.odmena-checker input {
  padding: .5rem;
  margin: 0 .5rem 0 2rem;
  font-size: 1.1rem;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 200;
}

.odmena-checker a {
  display: inline-block;
}

@media only screen and (max-width: 450px) {
  .odmena-checker a {
    display: block;
    margin: .5rem 0 0 2rem;
  }

  .grid.odmena a.link-button {
    font-size: 1rem;
  }

  .grid.odmena .cena {
    font-size: 1rem;
  }
}

.odmena-checker input[type="checkbox"], .odmena-checker label {
  font-size: 1.1rem;
  font-weight: 200;
  margin-top: 1rem;
}

.odmena-checker input[type="checkbox"] {
  accent-color: black;
}

.grid.odmena a.link-button {
  text-transform: uppercase;
}

.grid.odmena a.link-button.disabled {
  opacity: .4;
}

  .grid.odmena a.link-button.disabled:hover {
    background-color: white;
    color: black;
  }

  @keyframes shaker {
    0% { transform: translate(2px, 0); -webkit-transform: translate(2px, 0); }
    50% { transform: translate(-2px, 0); -webkit-transform: translate(-2px, 0); }
    100% { transform: translate(2px, 0); -webkit-transform: translate(2px, 0); }
  }

  .shake {
    animation-name: shaker;
    animation-duration: 0.1s;
    transform-origin: 50% 50%;
    animation-timing-function: linear;
    animation-iteration-count: 2;
    -webkit-animation-name: shaker;
    -webkit-animation-duration: 0.1s;
    -webkit-transform-origin: 50% 50%;
    -webkit-animation-timing-function: linear;
    -webkit-animation-iteration-count: 2;
  }

.centered {
  text-align: center;
}


/* ------ KOŠÍK ------- */


/* ------ PLATEBNÍ ÚDAJE ------- */

div.body.platebni-udaje .left {
  text-align: left;
  padding: 2rem;
}

div.body.platebni-udaje .right {
  text-align: center;
  padding: 2rem;
}

@media only screen and (max-width: 1050px) {
  main div.body.platebni-udaje {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  main .left:after {
    background-color: unset;
  }
}

@media only screen and (max-width: 840px) {
  main div.body.platebni-udaje {
    display: block;
  }

  main .left:after {
    background-color: lightgrey;
  }

  div.body.platebni-udaje .right {
    padding-top: 0;
  }

  .platebni-udaje h3 {
    text-align: center;
  }
}

@media only screen and (max-width: 650px) {
  div.body.no-grid.kosik p.hlavni {
      padding-bottom: 0rem;
  }
}

.platebni-udaje h3 {
  text-transform: uppercase;
  font-weight: 200;
}

  .platebni-udaje .left input, .platebni-udaje .left select {
    padding: .5rem;
    margin: 0;
    font-size: 1.1rem;
    font-family: 'DM Sans', sans-serif !important;
    font-weight: 200;
    position: relative;
  }

  .platebni-udaje .left label {
    margin-bottom: .5rem;
    font-size: 1.1rem;
    font-weight: 600;
    display: block;
    text-transform: uppercase;
  }

  .platebni-udaje .left div.inline {
    display: inline-block;
  }

    .platebni-udaje .left div.inline{
      margin-left: 1rem;
    }

    .platebni-udaje .left div.inline.bez-odsazeni {
      margin-left: unset;
      margin-top: 1rem;
    }

    input.payment-input-longer {
      width: 260px;
    }

  @media only screen and (max-width: 1450px) {
    .platebni-udaje .left div.inline {
      display: block;
    }

    .platebni-udaje .left div.inline.bez-odsazeni {
      margin-top: unset;
    }

    .platebni-udaje .left div.inline input {
      width: 250px;
    }

    .platebni-udaje .left div.inline:not(:nth-child(2)){
      margin-left: unset;
      margin-top: 1rem;
    }
  }


.platebni-udaje div.souhlas.margin {
  margin-top: 1rem;
}

.platebni-udaje .souhlas input[type="checkbox"], .platebni-udaje .souhlas label {
  font-size: 1.1rem;
  font-weight: 200;
  margin-top: .5rem;
  text-transform: none;
  display: inline-block;
}

.platebni-udaje .souhlas input[type="checkbox"] {
  accent-color: black;
}



.platebni-udaje .input-grid {
  margin: 1rem 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 1fr);
  grid-column-gap: .5rem;
  grid-row-gap: 1rem;  
  max-width: 666px;
}

.platebni-udaje .input-grid .delsi-input {
  grid-area: 1 / 2 / 2 / 4;
}

.platebni-udaje select {
  max-width: 189px;
}

@media only screen and (max-width: 1250px) {
  .platebni-udaje .input-grid {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(4, 1fr);
    max-width: 450px;
  }

  .platebni-udaje .input-grid .delsi-input {
    grid-area: unset;
  }
}

@media only screen and (max-width: 520px) {
  .platebni-udaje .input-grid {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(8, 1fr);
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }

  .platebni-udaje input[type="text"], .platebni-udaje input[type="email"], .platebni-udaje select {
    width: 100%;
    max-width: unset !important;
  }
}

/* --- PLATBA BUTTON --- */

.platba-buttons {
  display: block;
}

.platba-buttons a {
  display: block;
  font-size: 1.1rem;
  margin-bottom: 1rem;
  padding: .5rem;
  border-radius: 3px;
  transition: all .3s;
  font-weight: 500;
}

.platba-buttons a:active {
  box-shadow: 3px 3px 6px #bbbbbb;
}

.platba-buttons a.zdarma {
  background-color: rgb(39, 81, 188);
  color: white;
}

.platba-buttons a.zdarma:hover {
  background-color: rgb(31, 69, 165);
}

.platba-buttons a.stripe {
  background-color: rgb(10, 123, 17);
  color: white;
}

.platba-buttons a.stripe:hover {
  background-color: rgb(6, 104, 12);
}

.platba-buttons a.paypal {
  background-color: rgb(39, 81, 188);
  color: white;
}

.platba-buttons a.paypal:hover { 
  background-color: rgb(31, 69, 165);
}

.platba-buttons a.prevod {
  background-color: rgb(32, 32, 32);
  color: white;
}

.platba-buttons a.prevod:hover {
  background-color: rgb(21, 20, 20);
}

.platba-buttons a.disabled {
  opacity: .6 !important;
}

/* ------- BASKET -------- */

section.basket {
  padding: 0 1rem;
}

section.basket .item {
  padding: 1rem;
  background-color: white;
  text-align: left;
  display: block;
  margin-top: 1rem;
}

  section.basket .item .name {
    font-size: 1.2rem;
    line-height: 1.8rem;
    font-weight: 200;
    display: block;
    margin-left: .5rem;
  }

  @media only screen and (max-width: 820px) {
    section.basket .item .name span {
      display: inline-block;
      white-space: nowrap;
      text-overflow: ellipsis;
      overflow: hidden;
      width: 440px;
    }
  }

    section.basket .item .name > div {
      display: flex;
      align-items: center;
    }

    section.basket .item .name img.icon {
      height: 1.8rem;
      margin-right: .5rem;
    }

  div.float-right {
    float: right;
  }

  section.basket .item .cena, section.basket .item .cena-sleva {
    font-weight: 600;
    font-size: 1.2rem;
    line-height: 1.8rem;
    white-space: nowrap;
    display: inline-block;
    margin-right: .5rem;
  }

  section.basket .item .cena:after, section.basket .item .cena-sleva p:after {
    content: " Kč";
  }

  section.basket .item .cena-sleva p {
    display: inline-block;
    margin: 0;
  }

  section.basket .item .cena-sleva p.puvodni {
    text-decoration: line-through;
    font-weight: 400;
    margin-right: .3rem;
  }

  section.basket .item .amount {
    display: inline-block;
    font-size: 1.2rem;
    line-height: 1.8rem;
  }

    section.basket .item .amount::after {
      content: " ×";
    }

    section.basket .item span.max-amount {
      display: none;
    }

  section.basket .item a.basket-button {
    font-size: 1.2rem;
    cursor: pointer;
  }

    section.basket .item a.basket-button:hover {
      text-shadow: 3px 3px 6px #e3e3e3;
    }

section.basket-final .cena-celkem {
  text-align: right;
  font-weight: 600;
  font-size: 1.4rem;
  padding: 2rem;
  padding-right: 1.5rem;
  padding-bottom: 0;
}

section.basket-final .cena-celkem:before {
  content: "Celkem: ";
  text-transform: uppercase;
  font-weight: 200;
  margin-right: .3rem;
}

section.basket-final .cena-celkem p {
  margin: 0;
  display: inline;
}

section.basket-final .cena-celkem p.puvodni {
  text-decoration: line-through;
  font-weight: 400;
  margin-right: .3rem;
}

section.basket-final .cena-celkem p.uplatneny-kod {
  display: block;
  font-size: .8rem;
  font-weight: 200;
}

  section.basket-final .cena-celkem p.uplatneny-kod:after {
    content: unset;
  }


@media only screen and (min-width: 650px) {
  section.basket-final .cena-celkem {
    float: right;
  }
}

/* --- SLEVOVY KOD --- */

div.body div.slevovy-kod {
  text-align: left;
  font-weight: 200;
  font-size: 1.1rem;
  padding: 2rem !important;
}

  .slevovy-kod input {
    padding: .5rem;
    font-size: 1rem;
    margin: 0;
    font-family: 'DM Sans', sans-serif !important;
  }

    @media only screen and (max-width: 350px) {
      .slevovy-kod input {
        width: 140px;
      }
    }

  .slevovy-kod label {
    margin-bottom: .5rem;
    display: block;
  }

  .slevovy-kod button {
    padding: .5rem;
    font-size: 1rem;
    font-weight: 500;
    font-family: 'DM Sans', sans-serif !important;
    background-color: black;
    color: white;
    border-radius: 3px;
    cursor: pointer;
    background-color: rgb(32, 32, 32);
    transition: all .3s;
    border: 2px solid rgb(32, 32, 32);
  }

    .slevovy-kod button.disabled {
      opacity: .5;
      cursor: unset;
    }

    .slevovy-kod button:not(.disabled):hover {
      background-color: rgb(21, 20, 20);
    }

    .slevovy-kod button:not(.disabled):active {
      box-shadow: 3px 3px 6px #bbbbbb;
    }



/* --- POTVRZENÍ OBJEDNÁVKY --- */


.prehled-objednavky h3 {
  margin-left: 2rem;
  text-transform: uppercase;
  font-weight: 200;
  text-align: left;
  font-size: 1.2rem;
}

.prehled-objednavky section.basket-final .cena-celkem {
  float: unset;
}

.prehled-objednavky .udaje, .prehled-objednavky .uhrada {
  padding-left: 0;
}

.prehled-objednavky .udaje p {
  display: block;
  font-size: 1.1rem;
  font-weight: 200;
  margin: 0;
  margin-bottom: .5rem;
  text-align: left;
  padding-left: 2rem;
}

  .prehled-objednavky .udaje p .label {
    font-weight: 600;
    text-transform: uppercase;
  }


/* --- OBCHODNÍ PODMÍNKY --- */


.vop div.line {
  margin: 2rem;
  height: 0;
  padding: 0;
  width: calc(100% - 4rem);
  border-bottom: #acacac 1px solid;
}

.vop h3 {
  margin-left: 2rem;
  margin-right: 2rem;
  text-transform: uppercase;
  font-weight: 200;
}

.vop h3.headers {
  font-size: 1.3rem;
}

.vop .vop-quick {
  width: 100%;
  padding: 0.5rem 3rem;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr;
  grid-column-gap: 1rem;
}

  .vop .vop-quick .card {
    margin: 0;
    width: 100%;
    font-weight: 500;
    transition: all .3s ease-in-out;
    background-color: white;
  }

  .vop .vop-quick .card:hover {
    background-color: #f5f4f4;
  }
  
  .vop .vop-quick .card:active {
    box-shadow: 1px 1px 6px #bbbbbb;
  }

@media only screen and (max-width: 550px) {
  .vop .vop-quick {
    padding: 0 1.5rem;
    grid-column-gap: 0.5rem;
  }
}

@media only screen and (max-width: 450px) {
  .vop .vop-quick {
    padding: 0 1.5rem;
    grid-column-gap: 0.5rem;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    grid-row-gap: 0.5rem;
  }

  .vop .vop-quick .card:nth-child(3) {
    grid-area: 2 / 1 / 3 / 3;
    vertical-align: middle;
    line-height: 2.5rem;
  }
}

div.vop-odkazy {
  text-align: left;
  margin: 0 1.5rem;
  padding: 0 0 2rem 0 !important;
}

a.link-vop {
  margin: 0 .5rem;
}


.vop ul {
  padding-right: 2rem;
}

.vop ul > li {
  text-align: justify;
}

  @media only screen and (max-width: 750px) {
    .vop ul > li {
      margin-bottom: .5rem;
    }
  }


div.druh-zbozi {
  width: 80%;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 1rem;
  border-radius: 5px;
  border: 1px solid lightgrey;
  text-align: left;
  display: grid;
  grid-template-columns: 1fr 5fr;
  grid-template-rows: 1fr auto;
  padding: 0 !important;
}

  div.druh-zbozi.last {
    margin-bottom: 4rem;
  }

  @media only screen and (max-width: 1100px) {
    div.druh-zbozi {
      grid-template-columns: 1fr 4fr;
    }
  }

  @media only screen and (max-width: 750px) {
    div.druh-zbozi {
      width: 90%;
      grid-template-columns: 1fr 3fr;
    }
  }


  div.druh-zbozi p {
    margin: 0;
    padding: 1rem;
  }

  div.druh-zbozi div.img {
    grid-area: 1 / 1 / 3 / 2;
    position: relative;
    border-right: 1px solid lightgrey;
    padding: 1rem;
    height: 100%;
  }

    div.druh-zbozi div.img > img {
      position: absolute;
      top: 1rem;
      bottom: 1rem;
      left: 1rem;
      right: 1rem;
      width: calc(100% - 2rem);
      height: calc(100% - 2rem);
      object-fit: contain;
      object-position: center;
      max-height: calc(100vw - 40px);
    }

  div.druh-zbozi p.type {
    width: 100%;
    border-bottom: 1px solid lightgrey;
    font-weight: 600;
    grid-area: 1 / 2 / 2 / 3;
    padding: .7rem;
  }

  div.druh-zbozi p.desc {
    grid-area: 2 / 2 / 3 / 3;
    padding: .7rem;
    text-align: justify;
  }

  @media only screen and (max-width: 450px) {
    div.druh-zbozi {
      grid-template-columns: 0 1fr;
    }

    div.druh-zbozi div.img {
      display: none;
      border: none;
    }
  }

.vop img.vop-diagram {
  margin-top: -1rem;
  margin-left: 2rem;
  margin-bottom: 2rem;
}

  @media only screen and (max-width: 590px) {
    .vop img.vop-diagram {
      margin-left: auto;
      margin-right: auto;
      width: calc(100% - 1rem);
    }
  }

.vop div.zruseni {
  margin-left: 2rem;
  margin-right: 2rem;
  padding-top: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}

.vop h4 {
  text-transform: uppercase;
  font-weight: 200;
  margin: 0;
  font-size: 1.1rem;
}

.vop p.vop-info {
  margin: 2rem 2rem -1rem 2rem;
  font-weight: 200;
  font-size: 0.9rem;
}

@media only screen and (max-width: 590px) {
  .vop div.zruseni > ul {
    padding-left: 0;
    padding-right: 0;
  }

  .vop ul.no-dash {
    padding-left: 1rem;
    padding-right: 0;
  }
}

.vop li {
  text-align: left !important;
}


/* --- DONATE STEP2 --- */

section.donate-form {
  padding: 2rem;
  display: grid;
  grid-template-columns: 1fr 3fr;
  margin-left: auto;
  margin-right: auto;
  grid-row-gap: 1rem;
  width: fit-content;
}

section.donate-form .obr {
  position: relative;
  height: 100%;
}

  section.donate-form .obr:after {
    content: unset;
  }

  section.donate-form .obr > img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    max-height: calc(100vw - 40px);
  }


section.donate-form .form {
  text-align: left;
}

section.donate-form .form h3 {
  margin-left: 2rem;
  margin-top: 0;
  text-transform: uppercase;
  font-weight: 200;
  text-align: left;
}

section.donate-form .form input {
  padding: .5rem;
  margin: 0 .5rem 0 2rem;
  font-size: 1.1rem;
  font-family: 'DM Sans', sans-serif !important;
  font-weight: 200;
  min-width: 150px;
}

section.donate-form .form a {
  display: inline-block;
}

@media only screen and (max-width: 490px) {
  section.donate-form .form a {
    display: block;
    margin: .5rem 0 0 2rem;
  }

  section.donate-form .form a.link-button {
    font-size: 1rem;
  }

  section.donate-form .form .cena {
    font-size: 1rem;
  }

  
}

@media only screen and (max-width: 350px) {
  section.donate-form {
    display: block;
  }
  section.donate-form .obr {
    display: none;
  }
  section.donate-form .form {
    margin: 0 -2rem;
  }
}


p.small {
  text-align: left;
  margin-left: 2rem;
  font-size: .8rem;
  font-weight: 200;
}

p#donate-info {
  visibility: hidden;
}