

@font-face {
  font-family: 'Brygada';
  src: url(pismo/brygada-400-latin-ext.woff2) format('woff2');
  font-weight: 100 900; font-style: normal; font-display: swap;
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'Brygada';
  src: url(pismo/brygada-400-latin.woff2) format('woff2');
  font-weight: 100 900; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'NotoDisplay';
  src: url(pismo/notodisplay-400-latin-ext.woff2) format('woff2');
  font-weight: 100 900; font-style: normal; font-display: swap;
  unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'NotoDisplay';
  src: url(pismo/notodisplay-400-latin.woff2) format('woff2');
  font-weight: 100 900; font-style: normal; font-display: swap;
}

:root {
  --papir: #f5f2ec;
  --papir-2: #ece7dd;
  --papir-3: #e0d9cc;
  --inkoust: #1d231e;
  --text: #3d453c;
  --text-2: #686f64;   
  --les: #2b3a30;
  --les-2: #3d5344;
  --mosaz: #876839;    
  --linka: #d9d2c4;
  --linka-2: #c8c0af;
  --tma: #161b17;
  --pas: 1180px;
  --uzky: 760px;
  --nadpis: 'Brygada', Georgia, 'Times New Roman', serif;
  --pismo: 'NotoDisplay', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
  --stin: 0 1px 2px rgba(23, 28, 24, .05), 0 12px 32px -18px rgba(23, 28, 24, .3);
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; scroll-padding-top: 6.5rem; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
  margin: 0;
  
  overflow-x: clip;
  background: var(--papir);
  color: var(--text);
  font: 400 1.0625rem/1.72 var(--pismo);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4 {
  font-family: var(--nadpis);
  font-weight: 400;
  color: var(--inkoust);
  line-height: 1.14;
  letter-spacing: -.005em;
  margin: 0 0 .6em;
  text-wrap: balance;
}
h1 { font-size: clamp(2.45rem, 5.4vw, 4.15rem); }
h2 { font-size: clamp(1.85rem, 3.3vw, 2.75rem); }
h3 { font-size: clamp(1.2rem, 1.7vw, 1.42rem); }
h4 { font-size: 1.05rem; }

p { margin: 0 0 1.05em; }
p:last-child { margin-bottom: 0; }

a { color: var(--les); text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { color: var(--mosaz); }

strong { font-weight: 600; color: var(--inkoust); }
em { font-style: italic; }

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

svg { width: 1.05em; height: 1.05em; fill: currentColor; flex: none; }

:focus-visible { outline: 2px solid var(--mosaz); outline-offset: 3px; border-radius: 2px; }

.preskoc {
  position: absolute; left: -9999px; top: 0; z-index: 200;
  background: var(--inkoust); color: #fff; padding: .8rem 1.2rem;
}
.preskoc:focus { left: .6rem; top: .6rem; }

.pas { width: 100%; max-width: var(--pas); margin: 0 auto; padding: 0 1.5rem; }

section { padding: clamp(3.6rem, 7vw, 6.4rem) 0; }
section.tesne { padding-top: 0; }
section.tesna-spodek { padding-bottom: 0; }

.nadhlavi {
  font-size: .75rem; font-weight: 500; letter-spacing: .17em;
  text-transform: uppercase; color: var(--mosaz);
  margin: 0 0 .95rem;
}
.uvodni { font-size: clamp(1.08rem, 1.5vw, 1.22rem); line-height: 1.68; color: var(--text); }
.uzke { max-width: var(--uzky); }

.navrh-lista {
  background: var(--tma); color: #cfd4cd;
  font-size: .8rem; line-height: 1.5; padding: .55rem 0;
}
.navrh-lista .pas { display: flex; flex-wrap: wrap; gap: .3rem 1.6rem; justify-content: space-between; }
.navrh-lista strong { color: #fff; }
.navrh-lista a { color: #fff; }

.hlava {
  position: sticky; top: 0; z-index: 60;
  background: rgba(245, 242, 236, .94);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--linka);
}
.hlava .pas {
  display: flex; flex-wrap: wrap; align-items: center;
  gap: 1rem; min-height: 4.6rem;
  transition: min-height .3s cubic-bezier(.2, .6, .3, 1);
}
.znacka-odkaz { display: flex; align-items: center; margin-right: auto; }
.znacka-odkaz img {
  width: 148px; height: auto;
  transition: width .3s cubic-bezier(.2, .6, .3, 1);
}

.hlava.stazena .pas { min-height: 3.6rem; }
.hlava.stazena .znacka-odkaz img { width: 118px; }
.hlava.stazena { box-shadow: 0 1px 14px -6px rgba(23, 28, 24, .35); }

.prepinac {
  display: none;
  width: 46px; height: 46px; flex: none;
  align-items: center; justify-content: center;
  background: none; border: 1px solid var(--linka-2); border-radius: 3px;
  color: var(--inkoust); cursor: pointer;
}
.prep-c {
  width: 18px; height: 14px; position: relative; flex: none;
  background: linear-gradient(currentColor, currentColor) center / 100% 2px no-repeat;
}
.prep-c::before, .prep-c::after {
  content: ''; position: absolute; left: 0; width: 100%; height: 2px; background: currentColor;
}
.prep-c::before { top: 0; }
.prep-c::after { top: 12px; }
.hlava.otevreno .prep-c { background-size: 0 2px; }
.hlava.otevreno .prep-c::before { top: 6px; transform: rotate(45deg); }
.hlava.otevreno .prep-c::after { top: 6px; transform: rotate(-45deg); }

.menu { display: flex; gap: 1.55rem; list-style: none; margin: 0; padding: 0; }
.menu a {
  display: block; padding: .35rem 0; position: relative;
  font-size: .93rem; color: var(--inkoust); text-decoration: none;
  transition: color .2s;
}

.menu a::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
  background: currentColor; transform: scaleX(0); transform-origin: left;
  transition: transform .28s cubic-bezier(.2, .6, .3, 1);
}
.menu a:hover { color: var(--mosaz); }
.menu a:hover::after, .menu a:focus-visible::after { transform: scaleX(1); }
.menu a[aria-current="page"]::after { transform: scaleX(1); }

.jazyk {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: 44px; min-width: 44px; padding: .4rem .5rem; flex: none;
  font-size: .86rem; font-weight: 500; letter-spacing: .04em;
  color: var(--text-2); text-decoration: none;
  border-bottom: 1px solid transparent;
}
.jazyk:hover, .jazyk:focus-visible { color: var(--inkoust); border-bottom-color: var(--inkoust); }
.jazyk__kratky { display: none; }

.tel-hlava {
  display: inline-flex; align-items: center; gap: .45rem;
  min-height: 44px; padding: .4rem .95rem; flex: none;
  border: 1px solid var(--inkoust); border-radius: 2px;
  font-size: .93rem; font-weight: 500; color: var(--inkoust); text-decoration: none;
  white-space: nowrap;
}
.tel-hlava:hover { background: var(--inkoust); color: var(--papir); }
.tel-hlava svg { width: 15px; height: 15px; }

.tl {
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  min-height: 48px; padding: .78rem 1.55rem;
  font: 500 .95rem/1.2 var(--pismo); letter-spacing: .012em;
  border: 1px solid transparent; border-radius: 2px;
  text-decoration: none; cursor: pointer;
}

.tl:hover, .tl:focus-visible {
  transition: background .18s, color .18s, border-color .18s, transform .18s;
  transform: translateY(-1px);
}
.tl:active { transform: translateY(0); }
@media (prefers-reduced-motion: reduce) { .tl:hover, .tl:focus-visible { transform: none; } }
.tl svg { width: 17px; height: 17px; flex: 0 0 auto; }
.tl--plne { background: var(--les); color: #f6f4ee; border-color: var(--les); }
.tl--plne:hover { background: var(--inkoust); border-color: var(--inkoust); color: #fff; }
.tl--tichy { background: transparent; color: var(--inkoust); border-color: var(--linka-2); }
.tl--tichy:hover { border-color: var(--inkoust); background: rgba(29, 35, 30, .05); color: var(--inkoust); }
.tl--svetle { background: #f6f4ee; color: var(--inkoust); border-color: #f6f4ee; }
.tl--svetle:hover { background: #fff; color: var(--inkoust); }
.tl--obrys-svetly { background: transparent; color: #f2efe8; border-color: rgba(242, 239, 232, .5); }
.tl--obrys-svetly:hover { border-color: #f2efe8; background: rgba(255, 255, 255, .08); color: #fff; }

.tlacitka { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.9rem; }

.js .odkryv, .js .nabeh > * {
  opacity: 0; transform: translateY(14px);
  transition: opacity .62s cubic-bezier(.2, .6, .3, 1), transform .62s cubic-bezier(.2, .6, .3, 1);
}
.js .odkryv.videt, .js .nabeh.videt > * { opacity: 1; transform: none; }

.js .nabeh.videt > *:nth-child(2) { transition-delay: .07s; }
.js .nabeh.videt > *:nth-child(3) { transition-delay: .14s; }
.js .nabeh.videt > *:nth-child(4) { transition-delay: .21s; }
.js .nabeh.videt > *:nth-child(5) { transition-delay: .28s; }
.js .nabeh.videt > *:nth-child(6) { transition-delay: .35s; }
.js .nabeh.videt > *:nth-child(7) { transition-delay: .42s; }
.js .nabeh.videt > *:nth-child(8) { transition-delay: .49s; }
.js .nabeh.videt > *:nth-child(n+9) { transition-delay: .56s; }

.js .galerie.nabeh > *, .js .lakadla.nabeh > *, .js .cesty.nabeh > * {
  transform: translateY(18px) scale(.982);
}
.js .odkryv img, .js .dvojice__foto img { transition: transform .9s cubic-bezier(.2, .6, .3, 1); }
.js .dvojice__foto.odkryv img { transform: scale(1.035); }
.js .dvojice__foto.odkryv.videt img { transform: none; }

@keyframes hero-priblizeni { from { transform: scale(1.09); } to { transform: scale(1); } }
.js .hero__foto { animation: hero-priblizeni 16s cubic-bezier(.16, .7, .3, 1) both; }

.js .hero--strida .hero__foto { animation: none; }
.js .hero--strida .hero__foto.je-vidno { animation: hero-priblizeni 16s cubic-bezier(.16, .7, .3, 1) both; }

.hero__media {
  position: absolute; left: 0; right: 0; top: -10%; height: 120%;
  z-index: 0; overflow: hidden; will-change: transform;
}
.hero__media img { width: 100%; height: 100%; object-fit: cover; }

@media (prefers-reduced-motion: reduce) {
  .js .odkryv, .js .nabeh > * { opacity: 1 !important; transform: none !important; transition: none !important; }
  .js .odkryv img, .js .dvojice__foto.odkryv img { transform: none !important; }
  .js .hero__foto { animation: none !important; }
  .hero__media { transform: none !important; }
}

.hero { position: relative; padding: 0; overflow: hidden;
  color: #f4f1ea; background: var(--tma); }

.hero__foto { width: 100%; height: 100%; object-fit: cover;
  object-position: var(--pd, 50% 50%); }

.hero--strida::before {
  content: ''; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(101deg, rgba(9, 12, 10, .92) 0%, rgba(9, 12, 10, .86) 30%,
    rgba(9, 12, 10, .7) 44%, rgba(9, 12, 10, .26) 58%, rgba(9, 12, 10, 0) 70%);
}
@media (max-width: 700px) {
  
  .hero--strida::before {
    background: linear-gradient(183deg, rgba(9, 12, 10, .3) 0%, rgba(9, 12, 10, .12) 30%,
      rgba(9, 12, 10, .58) 72%, rgba(9, 12, 10, .72) 100%);
  }
}
.hero--strida .hero__foto { position: absolute; inset: 0; }
.hero--strida .hero__foto:not(.je-vidno) { opacity: 0; }
.js .hero--strida .hero__foto { transition: opacity 1.5s ease; }

.hero::after {
  content: ''; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(178deg, rgba(11, 15, 12, .2) 0%, rgba(11, 15, 12, .06) 30%, rgba(11, 15, 12, .32) 78%, rgba(11, 15, 12, .48) 100%);
}

.hero--maly::after {
  background: linear-gradient(180deg, rgba(11, 15, 12, .36) 0%, rgba(11, 15, 12, .36) 38%, rgba(11, 15, 12, .58) 100%);
}

.hero--maly::before {
  content: ''; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(101deg, rgba(9, 12, 10, .9) 0%, rgba(9, 12, 10, .84) 34%,
    rgba(9, 12, 10, .52) 50%, rgba(9, 12, 10, .14) 64%, rgba(9, 12, 10, 0) 74%);
}
.hero .pas { position: relative; z-index: 2; }

@media (max-width: 700px) {
  .hero:not(.hero--maly) { display: block; background: var(--tma); }
  .hero:not(.hero--maly) .hero__media {
    position: relative; top: 0; left: 0; right: 0; height: auto;
    aspect-ratio: 3 / 2; transform: none !important; will-change: auto;
  }
  
  .hero:not(.hero--maly) .hero__foto { object-position: 50% 50%; }
  .hero:not(.hero--maly)::after, .hero:not(.hero--maly)::before { display: none; }
  .hero:not(.hero--maly) .hero__telo {
    min-height: 0; padding: 1.7rem 0 2.2rem; justify-content: flex-start;
  }
  
  .tema-tmava section.hero:not(.hero--maly) { padding: 0; }
  .tema-tmava .hero:not(.hero--maly) .hero__telo { min-height: 0; }
  
  .pata li { padding: 0; }
  .pata li a { display: inline-block; padding: .55rem 0; }
  .pata__spod a, .drobky a { display: inline-block; padding: .4rem 0; }
  
  .hero--maly .hero__foto { object-position: var(--pm, 64% 50%); }
  
  .hero--maly::before { display: none; }
  .hero--maly::after {
    background: linear-gradient(180deg, rgba(11, 15, 12, .6) 0%, rgba(11, 15, 12, .5) 34%, rgba(11, 15, 12, .78) 70%, rgba(11, 15, 12, .92) 100%);
  }
}
.hero__telo {
  display: flex; flex-direction: column;
  min-height: min(84svh, 720px);
  justify-content: flex-end;
  padding: 7rem 0 clamp(3rem, 6vw, 5rem);
  max-width: 47ch;
}
.hero h1 { color: #fff; margin-bottom: .42em; }
.hero h1 em { font-style: italic; color: #e8ddc6; }
.hero__perex { font-size: clamp(1.06rem, 1.6vw, 1.24rem); line-height: 1.62; color: #e4e1d8; max-width: 38ch; }
.hero .nadhlavi { color: #e5d8b6; }
.hero__pod {
  display: flex; flex-wrap: wrap; gap: .3rem 1.4rem;
  margin: 2.1rem 0 0; padding-top: 1.3rem;
  border-top: 1px solid rgba(244, 241, 234, .26);
  font-size: .86rem; color: #dcd8cd;
}
.hero strong { color: #fff; }
.hero a:not(.tl) { color: #fff; }

.hero--maly .hero__telo { min-height: min(52svh, 460px); max-width: 46ch; }
.hero--maly h1 { font-size: clamp(2.1rem, 4.2vw, 3.3rem); }

.drobky { font-size: .84rem; color: #dcd8cd; margin: 0 0 1.4rem; }
.drobky a { color: #e6e2d8; text-decoration: none; border-bottom: 1px solid rgba(230, 226, 216, .4); }
.drobky a:hover { color: #fff; border-bottom-color: #fff; }

.fakta { background: var(--papir-2); border-block: 1px solid var(--linka); }
.fakta__mrizka {
  display: grid; grid-template-columns: repeat(6, 1fr);
  margin: 0 auto; gap: 1px; background: var(--linka);
}
.fakta__pol {
  background: var(--papir-2); padding: 1.9rem .9rem;
  text-align: center; margin: 0;
}
.fakta__c {
  display: block; font-family: var(--nadpis); font-size: clamp(1.9rem, 3vw, 2.6rem);
  line-height: 1; color: var(--inkoust); margin: 0 0 .4rem;
  
  font-variant-numeric: tabular-nums;
}

.fakta__p { display: block; font-size: .82rem; letter-spacing: .04em; color: #62695e; margin: 0; }

.dvojice {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 5vw, 4.4rem); align-items: center;
}
.dvojice--uzsi { grid-template-columns: 1.05fr .95fr; }
.dvojice--obraceno .dvojice__foto { order: -1; }
.dvojice__foto img { width: 100%; border-radius: 2px; }
.dvojice__foto figcaption, .figpopis {
  margin: .7rem 0 0; font-size: .82rem; color: var(--text-2);
}
figure { margin: 0; }

.vypis { list-style: none; margin: 1.6rem 0 0; padding: 0; }
.vypis li {
  position: relative; padding: .55rem 0 .55rem 1.6rem;
  border-bottom: 1px solid var(--linka);
  font-size: .98rem;
}
.vypis li:first-child { border-top: 1px solid var(--linka); }
.vypis li::before {
  content: ''; position: absolute; left: 0; top: 1.18rem;
  width: 7px; height: 7px; border: 1px solid var(--mosaz); border-radius: 50%;
}

.lakadla { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.2rem, 2.6vw, 2.2rem); }
.lakadlo {
  display: flex; flex-direction: column;
  background: #fbf9f5; border: 1px solid var(--linka); border-radius: 2px; overflow: hidden;
}
.lakadlo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.lakadlo__text { padding: 1.7rem 1.6rem 1.9rem; }
.lakadlo__text h3 { margin-bottom: .5rem; }
.lakadlo__text p { font-size: .97rem; margin-bottom: 0; }

.cesty { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1rem, 2.2vw, 1.7rem); }
.cesta {
  display: flex; flex-direction: column;
  text-decoration: none; color: inherit;
  border: 1px solid var(--linka); border-radius: 2px; overflow: hidden;
  background: #fbf9f5;
  transition: border-color .2s, transform .2s;
}
.cesta:hover { border-color: var(--inkoust); transform: translateY(-2px); }
.cesta img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.cesta__text { padding: 1.25rem 1.3rem 1.5rem; }
.cesta__text h3 { margin-bottom: .35rem; }
.cesta__text p { font-size: .92rem; color: var(--text-2); margin: 0; }

.galerie { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; }
.galerie--ctyri { grid-template-columns: repeat(4, 1fr); }

.snimek {
  
  display: flex; flex-direction: column;
  padding: 0; margin: 0; border: 0; background: none; cursor: zoom-in;
  border-radius: 2px; overflow: hidden;
  position: relative;
}
.snimek img {
  width: 100%; aspect-ratio: 4 / 3; object-fit: cover;
  transition: transform .5s cubic-bezier(.2, .6, .3, 1), filter .3s;
}
.snimek:hover img { transform: scale(1.035); filter: brightness(1.04); }

.lupa { position: fixed; inset: 0; z-index: 300; display: none; background: #0c0f0c; }
@keyframes lupa-nabeh { from { opacity: 0; } to { opacity: 1; } }
@keyframes lupa-fotka { from { opacity: 0; transform: scale(.965); } to { opacity: 1; transform: none; } }
.lupa[open] { display: grid; grid-template-rows: 1fr auto; animation: lupa-nabeh .2s ease both; }
.js .lupa[open] .lupa__obal img { animation: lupa-fotka .42s cubic-bezier(.2, .6, .3, 1) both; }
@media (prefers-reduced-motion: reduce) {
  .lupa[open], .js .lupa[open] .lupa__obal img { animation: none !important; }
}

.lupa__obal {
  display: flex; align-items: center; justify-content: center;
  padding: 3.6rem 4.4rem 1rem; min-height: 0;
}
.lupa__obal img {
  max-width: min(100%, var(--lupa-cap, 1800px)); max-height: 100%;
  width: auto; height: auto; object-fit: contain; border-radius: 2px;
}
.lupa__spod { padding: 0 1.5rem 1.5rem; text-align: center; color: #ded9cf; }
.lupa__text { margin: 0; font-size: .95rem; }
.lupa__pocitadlo { margin: .3rem 0 0; font-size: .82rem; color: #9ea59b; }
.lupa button {
  position: absolute; z-index: 2;
  width: 46px; height: 46px; display: grid; place-items: center;
  background: rgba(255, 255, 255, .1); border: 0; border-radius: 50%;
  color: #fff; cursor: pointer;
}
.lupa button:hover { background: rgba(255, 255, 255, .22); }
.lupa button svg { width: 22px; height: 22px; }
.lupa__zavrit { top: 1rem; right: 1rem; }
.lupa__dozadu { top: 50%; left: 1rem; margin-top: -23px; }
.lupa__dopredu { top: 50%; right: 1rem; margin-top: -23px; }

.cenik-obal { overflow-x: auto; }
table.cenik {
  width: 100%; border-collapse: collapse; margin: 0;
  font-size: .99rem;
}
table.cenik caption {
  caption-side: top; text-align: left;
  font-family: var(--nadpis); font-size: 1.32rem; color: var(--inkoust);
  padding-bottom: .9rem;
}
table.cenik th, table.cenik td {
  text-align: left; padding: .95rem .8rem;
  border-bottom: 1px solid var(--linka);
  vertical-align: top;
}
table.cenik thead th {
  font-size: .75rem; letter-spacing: .14em; text-transform: uppercase;
  font-weight: 500; color: var(--text-2);
  border-bottom: 1px solid var(--linka-2); padding-bottom: .6rem;
}
table.cenik th[scope="row"] { font-weight: 400; color: var(--text); padding-left: 0; }
table.cenik td.castka {
  text-align: right; white-space: nowrap; padding-right: 0;
  font-family: var(--nadpis); font-size: 1.22rem; color: var(--inkoust);
}

table.cenik tbody tr:last-child td, table.cenik tbody tr:last-child th { border-bottom: 0; }
table.cenik tr.hlavni th[scope="row"] { font-weight: 600; color: var(--inkoust); }
table.cenik tr.hlavni td.castka { font-size: 1.5rem; }

.cenik-poznamka { font-size: .88rem; color: var(--text-2); margin-top: 1rem; }

.karta-blok {
  background: #fbf9f5; border: 1px solid var(--linka); border-radius: 2px;
  padding: clamp(1.6rem, 3vw, 2.4rem);
}
.karta-blok h3 { margin-bottom: .8rem; }
.karta-blok + .karta-blok { margin-top: 1.4rem; }

.dvojsloupec { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.4rem, 3vw, 2.6rem); }
.trojsloupec { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.4rem, 3vw, 2.4rem); }

.recenze { display: grid; grid-template-columns: repeat(2, 1fr); gap: clamp(1.4rem, 3vw, 2.4rem); }
.recenze--tri { grid-template-columns: repeat(3, 1fr); }
.recenze figure {
  background: #fbf9f5; border: 1px solid var(--linka); border-radius: 2px;
  padding: 1.9rem 1.8rem 1.6rem; position: relative;
  display: flex; flex-direction: column;
}
.recenze blockquote {
  margin: 0 0 1.2rem; font-family: var(--nadpis); font-size: 1.16rem; line-height: 1.55;
  color: var(--inkoust); flex: 1;
}
.recenze figcaption { font-size: .85rem; color: var(--text-2); }
.recenze figcaption b { display: block; font-weight: 600; color: var(--inkoust); font-size: .95rem; }
.odpoved {
  margin-top: 1.1rem; padding-top: 1.1rem; border-top: 1px solid var(--linka);
  font-size: .9rem; color: var(--text-2);
}

.preklad {
  margin: 0 0 1.2rem; font-family: var(--pismo); font-size: .92rem;
  line-height: 1.6; color: var(--text-2);
}
.preklad span {
  display: block; font-size: .7rem; letter-spacing: .14em; text-transform: uppercase;
  color: var(--mosaz); margin-bottom: .3rem;
}
.preklad--v-odpovedi { display: block; margin: .8rem 0 0; }
.odpoved b { color: var(--inkoust); }

.pruh-tmavy { background: var(--tma); color: #dcd9d0; }
.pruh-tmavy h2, .pruh-tmavy h3 { color: #fff; }
.pruh-tmavy .nadhlavi { color: #cbb98f; }

.pruh-tmavy strong { color: #fff; }
.pruh-tmavy a:not(.tl) { color: #fff; }
.pruh-tmavy .vypis li { border-color: rgba(244, 241, 234, .18); }
.pruh-tmavy .vypis li:first-child { border-top-color: rgba(244, 241, 234, .18); }

.kroky { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.4rem, 3vw, 2.4rem); counter-reset: k; }
.krok { position: relative; padding-top: 1.2rem; border-top: 2px solid var(--linka-2); }
.krok p.krok__c {
  font-family: var(--nadpis); font-size: 2.3rem; line-height: 1;
  color: var(--mosaz); margin: 0 0 .5rem;
}
.krok h3 { margin-bottom: .4rem; }
.krok p { font-size: .96rem; }

.ram-obal {
  position: relative; border: 1px solid var(--linka); border-radius: 2px;
  background: #fbf9f5; overflow: hidden;
}
.ram-obal iframe { display: block; width: 100%; height: 460px; border: 0; }
.mapa-ram iframe { height: 400px; }
.ram-pod { font-size: .84rem; color: var(--text-2); margin-top: .8rem; }

.formular { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem 1.3rem; }
.pole { display: flex; flex-direction: column; gap: .35rem; }
.pole--siroke { grid-column: 1 / -1; }
.pole label { font-size: .87rem; font-weight: 500; color: var(--inkoust); }
.pole input, .pole select, .pole textarea {
  width: 100%; padding: .72rem .85rem;
  font: 400 1rem/1.4 var(--pismo); color: var(--inkoust);
  background: #fff; border: 1px solid var(--linka-2); border-radius: 2px;
}
.pole textarea { resize: vertical; }
.pole input:focus, .pole select:focus, .pole textarea:focus { border-color: var(--les); }
.pole .napoveda { font-size: .82rem; color: var(--text-2); margin: 0; }
.pole .chyba { font-size: .84rem; color: #9d2f22; margin: 0; }
.pole.spatne input, .pole.spatne select, .pole.spatne textarea { border-color: #9d2f22; }
.past { position: absolute; left: -9999px; }
.fvysledek {
  grid-column: 1 / -1; margin: 0; padding: .95rem 1.1rem;
  border-radius: 2px; font-size: .95rem;
}
.fvysledek.ok { background: #e7ede6; border: 1px solid #b9cbb8; color: #24351f; }
.fvysledek.chybne { background: #f6e6e2; border: 1px solid #dcb3aa; color: #7d2317; }

.udaje { list-style: none; margin: 0; padding: 0; }
.udaje li { display: flex; gap: .75rem; padding: .7rem 0; border-bottom: 1px solid var(--linka); }
.udaje li:first-child { border-top: 1px solid var(--linka); }
.udaje svg { width: 18px; height: 18px; color: var(--mosaz); margin-top: .22rem; }
.udaje a { color: var(--inkoust); text-decoration: none; border-bottom: 1px solid var(--linka-2); }
.udaje a:hover { color: var(--mosaz); border-bottom-color: var(--mosaz); }

.pata { background: var(--tma); color: #b9bfb6; padding: clamp(3rem, 5vw, 4.4rem) 0 2rem; font-size: .93rem; }
.pata__mrizka { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 2.4rem; }
.pata h2 { font-size: 1.02rem; font-family: var(--pismo); font-weight: 600; color: #fff; letter-spacing: .05em; text-transform: uppercase; margin-bottom: 1rem; }
.pata ul { list-style: none; margin: 0; padding: 0; }
.pata li { padding: .3rem 0; }
.pata a { color: #dfe3dd; text-decoration: none; }
.pata a:hover { color: #fff; text-decoration: underline; }
.pata strong { color: #fff; }

.pata__znacka img { width: 168px; filter: invert(1) brightness(1.06); }
.pata__adresa { margin-top: 1.1rem; line-height: 1.7; }
.pata__spod {
  display: flex; flex-wrap: wrap; gap: .5rem 1.6rem; justify-content: space-between;
  margin-top: 2.8rem; padding-top: 1.4rem;
  border-top: 1px solid rgba(244, 241, 234, .16);
  font-size: .82rem; color: #9aa197;
}
.pata__spod a { color: #c9cfc6; }

.spodni { display: none; }

.chyba-404 { padding: clamp(4rem, 10vw, 8rem) 0; }
.chyba-404 .cislo {
  font-family: var(--nadpis); font-size: clamp(4rem, 12vw, 8rem); line-height: 1;
  color: #978868; margin: 0 0 1rem;
}

@media (max-width: 1000px) {
  .fakta__mrizka { grid-template-columns: repeat(3, 1fr); }
  .cesty { grid-template-columns: repeat(2, 1fr); }
  .kroky { grid-template-columns: 1fr; }
  .recenze--tri { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
  .prepinac { display: flex; }
  
  .hlava .pas { flex-wrap: wrap; }
  .hlava nav { order: 5; flex: 0 0 100%; }
  
  .menu {
    display: none; flex-direction: column; gap: 0;
    padding: .4rem 0 1rem; border-top: 1px solid var(--linka);
  }
  .hlava.otevreno .menu { display: flex; }
  .menu a { padding: .8rem 0; border-bottom: 1px solid var(--linka); }
  .menu a[aria-current="page"] { color: var(--mosaz); }
  .znacka-odkaz img { width: 128px; }

  .dvojice, .dvojice--uzsi, .lakadla, .dvojsloupec, .trojsloupec,
  .recenze, .recenze--tri, .formular { grid-template-columns: 1fr; }
  .dvojice--obraceno .dvojice__foto { order: 0; }
  .galerie, .galerie--ctyri { grid-template-columns: repeat(2, 1fr); }

  body { padding-bottom: 4.4rem; }
  .spodni {
    display: grid; grid-template-columns: 1fr 1fr;
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 70;
    background: var(--papir); border-top: 1px solid var(--linka-2);
  }
  .spodni a {
    display: flex; align-items: center; justify-content: center; gap: .5rem;
    min-height: 3.4rem; font-size: .93rem; font-weight: 500;
    text-decoration: none; color: var(--inkoust);
  }
  .spodni a svg { width: 17px; height: 17px; }
  .spodni .s-pop { background: var(--les); color: #f6f4ee; }
  .lupa__obal { padding: 3.4rem 1rem 1rem; }
  .lupa__dozadu { left: .4rem; }
  .lupa__dopredu { right: .4rem; }
}

@media (max-width: 620px) {
  .fakta__mrizka { grid-template-columns: repeat(2, 1fr); }
  .fakta__pol { padding: 1.4rem .7rem; }
  .cesty { grid-template-columns: 1fr; }
  .galerie, .galerie--ctyri { grid-template-columns: repeat(2, 1fr); gap: .5rem; }
  .pata__mrizka { grid-template-columns: 1fr; gap: 2rem; }
  
  .jazyk__dlouhy { display: none; }
  .jazyk__kratky { display: inline; }
  .jazyk { padding: .4rem .35rem; letter-spacing: .06em; }
  .tel-hlava span { display: none; }
  
  .tel-hlava { padding: .4rem .7rem; min-width: 44px; justify-content: center; }
  table.cenik th, table.cenik td { padding: .8rem .5rem; }
  table.cenik td.castka { font-size: 1.1rem; }
  table.cenik tr.hlavni td.castka { font-size: 1.3rem; }
}

@media print {
  .navrh-lista, .hlava, .spodni, .lupa, .tlacitka { display: none; }
  body { background: #fff; }
}

.tema-tmava {
  
  --papir: #0b0b0a;
  --papir-2: #131311;
  --papir-3: #1b1a18;
  --inkoust: #f2ede3;
  --text: #cfcabf;
  --text-2: #a6a194;
  --les: #c9ae75;
  --les-2: #dcc79b;
  --mosaz: #c9ae75;
  --linka: #262420;
  --linka-2: #3a3731;
  --tma: #050505;
  --stin: 0 1px 2px rgba(0, 0, 0, .4), 0 14px 34px -18px rgba(0, 0, 0, .8);
  color-scheme: dark;
}

.tema-tmava .hlava { background: rgba(11, 11, 10, .9); }
.tema-tmava .hlava.stazena { box-shadow: 0 1px 16px -6px rgba(0, 0, 0, .9); }
.tema-tmava .znacka-odkaz img { filter: invert(1) brightness(1.06); }

.tema-tmava .tl--plne { background: #c5aa72; color: #141714; border-color: #c5aa72; }
.tema-tmava .tl--plne:hover { background: #dcc79b; border-color: #dcc79b; color: #0d0f0e; }
.tema-tmava .tl--tichy:hover { background: rgba(255, 255, 255, .05); border-color: var(--inkoust); color: var(--inkoust); }
.tema-tmava .tel-hlava:hover { background: var(--inkoust); color: #111412; }
.tema-tmava .spodni .s-pop { background: #c5aa72; color: #141714; }

.tema-tmava .tl--svetle, .tema-tmava .tl--svetle:hover { color: #141714; }
.tema-tmava .preskoc { color: #111412; }

.tema-tmava .lakadlo,
.tema-tmava .cesta,
.tema-tmava .karta-blok,
.tema-tmava .recenze figure,
.tema-tmava .ram-obal { background: transparent; }
.tema-tmava .cesta:hover { border-color: var(--mosaz); }

.tema-tmava .fakta__p { color: #a8a396; }

.tema-tmava .pruh-tmavy,
.tema-tmava .pata { border-top: 1px solid var(--linka); }
.tema-tmava .pruh-tmavy .nadhlavi { color: #cbb98f; }

.tema-tmava .pole input,
.tema-tmava .pole select,
.tema-tmava .pole textarea { background: #0c0e0d; color: var(--inkoust); border-color: var(--linka-2); }
.tema-tmava .pole input::placeholder,
.tema-tmava .pole textarea::placeholder { color: #8d897e; }
.tema-tmava .pole input:focus,
.tema-tmava .pole select:focus,
.tema-tmava .pole textarea:focus { border-color: var(--mosaz); }
.tema-tmava .pole .chyba { color: #f0917f; }
.tema-tmava .pole.spatne input,
.tema-tmava .pole.spatne select,
.tema-tmava .pole.spatne textarea { border-color: #d0705f; }
.tema-tmava .fvysledek.ok { background: #14231a; border-color: #2e4a36; color: #cfe4d0; }
.tema-tmava .fvysledek.chybne { background: #2a1512; border-color: #5c2b22; color: #f2c4ba; }

.navrh-lista .varianta { color: #fff; font-weight: 600; }

.tema-tmava section { padding: clamp(4.4rem, 9vw, 8.2rem) 0; }
.tema-tmava section.tesne { padding-top: 0; }
.tema-tmava .hero:not(.hero--maly) .hero__telo { min-height: min(94svh, 980px); max-width: 62ch; }

.tema-tmava .hero:not(.hero--maly) .hero__perex { max-width: 40ch; }
.tema-tmava .hero h1 { font-size: clamp(2.8rem, 6.2vw, 5.1rem); letter-spacing: -.01em; }

.tema-tmava .nadhlavi::before {
  content: ''; display: inline-block; width: 2.6rem; height: 1px;
  background: currentColor; vertical-align: middle; margin: -.2em .9rem 0 0; opacity: .8;
}
.tema-tmava .hero .nadhlavi::before { display: none; }

.tema-tmava .fakta { background: transparent; }
.tema-tmava .fakta__pol { background: var(--papir); }
.tema-tmava .fakta__c { color: var(--mosaz); }

.tema-tmava .lakadlo, .tema-tmava .cesta { border-color: transparent; }
.tema-tmava .lakadlo__text, .tema-tmava .cesta__text { padding-left: 0; padding-right: 0; }
.tema-tmava .cesta:hover { border-color: transparent; }
.tema-tmava .cesta:hover h3 { color: var(--mosaz); }

.galerie.galerie--karusel {
  display: grid; grid-template-columns: none;
  grid-auto-flow: column; grid-auto-columns: min(80%, 980px);
  gap: 1rem; overflow-x: auto; overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory; padding-bottom: .5rem;
  scrollbar-width: thin; scrollbar-color: var(--linka-2) transparent;
}
.galerie--karusel .snimek { scroll-snap-align: start; }
.galerie--karusel .snimek img { aspect-ratio: 3 / 2; }
.karusel-ovladani { display: flex; align-items: center; gap: .6rem; margin-top: 1.1rem; }
.karusel-pocet { margin-right: auto; font-size: .85rem; letter-spacing: .04em; color: var(--text-2); }
.karusel-ovladani button {
  width: 46px; height: 46px; display: grid; place-items: center;
  background: transparent; color: var(--inkoust);
  border: 1px solid var(--linka-2); border-radius: 50%; cursor: pointer;
}
.karusel-ovladani button:hover { border-color: var(--mosaz); color: var(--mosaz); }
.karusel-ovladani button[disabled] { opacity: .35; cursor: default; }
.karusel-ovladani svg { width: 20px; height: 20px; }
@media (max-width: 900px) {
  .galerie.galerie--karusel { grid-template-columns: none; grid-auto-columns: 86%; gap: .6rem; }
}

.oznameni {
  background: var(--les); color: #f6f4ee; padding: .62rem 0;
  font-size: .94rem; line-height: 1.5; text-align: center;
}
.oznameni strong { color: #fff; }
.tema-tmava .oznameni { background: var(--mosaz); color: #17150f; }
.tema-tmava .oznameni strong { color: #000; }
