/*
 * Právní stránky (obchodní podmínky, zásady ochrany osobních údajů).
 * Sazba v rem podle škály webu: :root má font-size 62.5 %, tedy 1rem = 10px.
 */

.legalPage{
  position: relative;
  padding: 6rem 0 9rem;
  background: #fdfbf9;
}

.legalPage .container{
  max-width: 86rem;
  width: 100%;
  margin: auto;
  padding: 0 2rem;
  box-sizing: border-box;
}

/* ---------- návrat na úvodní stránku ---------- */
.legalPage .backLink{
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  font: 700 1.5rem/2.2rem Satoshi;
  color: #987d3e;
  text-decoration: none;
  margin-bottom: 4rem;
  transition: color .18s ease;
}
.legalPage .backLink:hover{
  color: #2e2b24;
}
.legalPage .backLink:before{
  content: "";
  width: 1.6rem;
  height: 1.6rem;
  flex: 0 0 auto;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' d='M14 5l-7 7 7 7'/%3E%3C/svg%3E") no-repeat center / contain;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' d='M14 5l-7 7 7 7'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* ---------- hlavička dokumentu ---------- */
.legalPage h1{
  font: 700 4.8rem/5.6rem Satoshi;
  color: #2e2b24;
  letter-spacing: -0.02em;
  margin: 0 0 1.6rem;
}
.legalPage h1 span{
  color: #987d3e;
}
.legalPage h1:after{
  content: "";
  display: block;
  width: 6rem;
  height: 2px;
  background: #987d3e;
  margin-top: 2.4rem;
}

.legalPage .legalMeta{
  font: 400 1.4rem/2.2rem Satoshi;
  color: #8a8171;
  margin: 2.4rem 0 4.5rem;
}

/* ---------- obsah ---------- */
.legalPage .text{
  max-width: 72rem;
}

.legalPage .text h2{
  font: 700 2.4rem/3.2rem Satoshi;
  color: #2e2b24;
  margin: 5rem 0 1.6rem;
  padding-top: 3rem;
  border-top: 1px solid #e7ddc5;
}
.legalPage .text h2:first-child{
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.legalPage .text h2 span{
  color: #987d3e;
  font-weight: 700;
  margin-right: .8rem;
}

.legalPage .text h3{
  font: 700 1.8rem/2.6rem Satoshi;
  color: #2e2b24;
  margin: 3.2rem 0 1.2rem;
}

.legalPage .text p{
  font: 400 1.6rem/2.9rem Satoshi;
  color: #4a453c;
  margin: 0 0 1.8rem;
}

.legalPage .text p strong,
.legalPage .text li strong{
  color: #2e2b24;
  font-weight: 700;
}

.legalPage .text a{
  color: #7a6430;
  text-decoration: underline;
  text-underline-offset: .3rem;
  cursor: pointer;
}
.legalPage .text a:hover{
  color: #2e2b24;
}

.legalPage .text ul{
  margin: 0 0 2.4rem;
  padding-left: 2.2rem;
  list-style: none;
}
.legalPage .text ul li{
  position: relative;
  font: 400 1.6rem/2.9rem Satoshi;
  color: #4a453c;
  margin-bottom: .8rem;
}
.legalPage .text ul li:before{
  content: "";
  position: absolute;
  top: 1.2rem;
  left: -2.2rem;
  width: .7rem;
  height: .7rem;
  border-radius: 50%;
  background: #cab67f;
}

.legalPage .text code{
  font-family: Consolas, Menlo, monospace;
  font-size: 1.4rem;
  background: #f6f1e7;
  padding: .2rem .6rem;
  border-radius: .3rem;
  color: #2e2b24;
}

/* zvýrazněný blok pro důležité upozornění */
.legalPage .text .highlight{
  background: #f6f1e7;
  border-left: 3px solid #987d3e;
  padding: 2.2rem 2.6rem;
  margin: 0 0 2.4rem;
}
.legalPage .text .highlight p:last-child{
  margin-bottom: 0;
}

/* ---------- tabulka cookies ---------- */
.legalPage .cookieTableWrap{
  width: 100%;
  overflow-x: auto;
  margin: 2rem 0 3rem;
  border: 1px solid #e7ddc5;
}
.legalPage .cookieTable{
  width: 100%;
  min-width: 62rem;
  border-collapse: collapse;
}
.legalPage .cookieTable th,
.legalPage .cookieTable td{
  border-bottom: 1px solid #e7ddc5;
  padding: 1.2rem 1.4rem;
  text-align: left;
  vertical-align: top;
  font: 400 1.4rem/2.1rem Satoshi;
  color: #4a453c;
}
.legalPage .cookieTable th{
  background: #f6f1e7;
  font-weight: 700;
  color: #2e2b24;
  white-space: nowrap;
}
.legalPage .cookieTable tr:last-child td{
  border-bottom: 0;
}
.legalPage .cookieTable td:first-child{
  font-family: Consolas, Menlo, monospace;
  font-size: 1.3rem;
  color: #2e2b24;
  overflow-wrap: anywhere;
}

/* ---------- patka dokumentu ---------- */
.legalPage .legalFoot{
  margin-top: 6rem;
  padding-top: 3rem;
  border-top: 1px solid #e7ddc5;
}
.legalPage .legalFoot p{
  font: 400 1.4rem/2.4rem Satoshi;
  color: #8a8171;
  margin-bottom: 1rem;
}

/* ---------- mobil ---------- */
@media only screen and (max-width: 649px){
  .legalPage{
    padding: 3.5rem 0 6rem;
  }
  .legalPage h1{
    font-size: 3.4rem;
    line-height: 4.2rem;
  }
  .legalPage .text h2{
    font-size: 2.1rem;
    line-height: 2.9rem;
    margin-top: 4rem;
  }
  .legalPage .backLink{
    margin-bottom: 3rem;
  }
}

/* Tabulka smí přesáhnout šířku textového sloupce až do šířky obsahu stránky */
.legalPage .text .cookieTableWrap{
  width: 82rem;
  max-width: calc(100vw - 4rem);
}
.legalPage .cookieTable th:nth-child(2),
.legalPage .cookieTable td:nth-child(2),
.legalPage .cookieTable th:nth-child(4),
.legalPage .cookieTable td:nth-child(4),
.legalPage .cookieTable th:nth-child(5),
.legalPage .cookieTable td:nth-child(5){
  white-space: nowrap;
}
.legalPage .cookieTable td:first-child{
  min-width: 17rem;
}

/* ---------- vzorovy formular pro odstoupeni ---------- */
/*
 * Ze zákona musí být spotřebiteli k dispozici (§ 1820 odst. 1 písm. f OZ).
 * Odsazený rámeček, aby se dal opsat nebo vytisknout.
 */
.legalPage .text .formularOdstoupeni{
  border: 1px solid #e7ddc5;
  background: #fdfbf9;
  padding: 3rem 3.2rem;
  margin: 2rem 0 3rem;
}
.legalPage .text .formularOdstoupeni p{
  margin: 0 0 1.6rem;
}
.legalPage .text .formularOdstoupeni p:last-child{
  margin-bottom: 0;
  line-height: 3.4rem;
}

@media print{
  .legalPage .text .formularOdstoupeni{
    break-inside: avoid;
    border-color: #999;
  }
}
