 

 
:root{
   
  --kremova:   #F4F0EC;    
  --kremova-2: #F4F4F0;    
  --pudr:      #F4EBE6;    
  --pudr-2:    #F0E0D8;    
  --bila:      #FFFFFF;
   
   
   
   
  --klin-l: #EAE6E0;
  --klin-p: #E7E2D9;
  --linka-bila: #FBF9F6;

   
   
  --salvej:     #B0B4A0;    
  --salvej-sv:  #E8EBE2;
  --salvej-tm:  #B0B4A0;    
  --salvej-txt: #ADADA5;    

   
  --zlata:     #D7D6D1;     
  --zlata-sv:  #E4E2DE;
  --zlata-txt: #C3B7AF;     
  --zlata-pas: #B4A599;     

   
  --ink:    #5E5D5B;        
  --ink-2:  #5E5D5B;        
  --ink-3:  #807E7A;        

  --nadpis: #9D9F93;        

  --linka:     rgba(67,71,63,.12);
  --linka-zl:  rgba(199,171,132,.42);

  --serif: "Playfair Display", Georgia, "Times New Roman", serif;
  --sans:  "Jost", "Plus Jakarta Sans", system-ui, sans-serif;

  --sirka: 1320px;
  --okraj: clamp(18px, 4vw, 52px);
  --tah:   cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
 
 
html{ overflow-x:clip; }
body{
  margin:0; color:var(--ink);
   
  background:linear-gradient(96deg, #EFECE7 0%, #F3F0EB 22%,
             #F5F2ED 60%, #F5F2ED 100%) var(--kremova) fixed;
  font-family:var(--sans); font-size:16px; line-height:1.72;
  -webkit-font-smoothing:antialiased;
   
  overflow-x:clip;
}
img{ max-width:100%; height:auto; display:block; }
ul,ol{ margin:0; padding:0; list-style:none; }
p{ margin:0; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; }
:focus-visible{ outline:2px solid var(--salvej-tm); outline-offset:3px; }
[id]{ scroll-margin-top:112px; }

h1,h2,h3,h4{
  margin:0; font-family:var(--serif); font-weight:400;
  letter-spacing:0;             
  text-transform:none;
  text-wrap:balance;
}

.mrizka{ width:100%; max-width:var(--sirka); margin:0 auto; padding:0 var(--okraj); }
.uzka{ width:100%; max-width:840px; margin:0 auto; padding:0 var(--okraj); }
.sr{ position:absolute; width:1px; height:1px; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }

 
.nad{
  display:inline-flex; align-items:center; gap:9px; flex-wrap:wrap;
  font-size:12.5px; font-weight:500; letter-spacing:.24em;
  text-transform:uppercase; color:var(--zlata-txt);
}
.nad i{
  font-family:var(--serif); font-style:italic; font-size:19px;
  letter-spacing:0; text-transform:none; color:var(--zlata-txt);
}
.stitek{
  display:block; font-size:12px; font-weight:500; letter-spacing:.22em;
  text-transform:uppercase; color:var(--ink-3);
}

 
.knof{
  display:inline-flex; align-items:center; gap:13px; white-space:nowrap;
  padding:17px 34px; border-radius:999px; border:0;
  background:var(--salvej-tm); color:#fff; cursor:pointer;
  font-size:12px; font-weight:600; letter-spacing:.2em; text-transform:uppercase;
  transition:background .35s var(--tah), transform .35s var(--tah);
}
 
.knof--hlava{ padding:15px 26px; letter-spacing:.16em; }
 
.knof:hover{ background:var(--salvej-txt); transform:translateY(-1px); }
.knof svg{ width:15px; height:15px; flex:none; }
.knof--duch{
  background:transparent; color:var(--salvej-txt);
  border:1px solid var(--salvej); padding:16px 32px;
}
.knof--duch:hover{ background:var(--salvej-sv); color:var(--salvej-txt); }

.odkaz-pod{
  display:inline-flex; align-items:center; gap:9px;
  font-size:12px; font-weight:600; letter-spacing:.2em; text-transform:uppercase;
  color:var(--salvej-txt); padding-bottom:5px;
  border-bottom:1px solid var(--linka-zl);
  transition:border-color .3s var(--tah);
}
.odkaz-pod:hover{ border-bottom-color:var(--salvej-tm); }

 
 
 
.hlava{
  position:sticky; top:0; z-index:200;
  background:transparent;
  transition:background .35s var(--tah), box-shadow .35s var(--tah);
}
.hlava.je-drzena{ background:var(--kremova); box-shadow:0 1px 0 var(--linka-zl); }

 
 
 
 
.foot-heslo{
  margin-top:16px; font-size:13px; letter-spacing:.24em;
  text-transform:uppercase; color:var(--zlata-txt); line-height:1.7;
}

 
.hlava .mrizka{
  display:grid; grid-template-columns:auto 1fr auto; align-items:center;
   
  gap:clamp(16px,2.4vw,40px); min-height:clamp(70px,7vw,94px);
}
.znacka{ display:flex; align-items:center; gap:14px; }
 
.znacka-listek{
   
   
  height:clamp(44px,6.5vh,72px); width:auto;
   
  position:relative; left:-1.0vw; margin-right:-0.5vw;
  flex:none; margin-block:-8px;
}
.znacka-text{ display:grid; gap:5px; }
.znacka-text b{
  font-family:var(--serif); font-weight:400;
   
  font-size:clamp(19px,2.5vw,34px); letter-spacing:.11em;
  color:var(--salvej-txt); line-height:1;
}
.znacka-text span{
  font-size:clamp(8px,.82vw,11px); letter-spacing:.46em;
  text-transform:uppercase; color:var(--zlata-txt); line-height:1;
  white-space:nowrap;    
}
.menu{ display:flex; gap:clamp(18px,2.9vw,40px); justify-self:center; }
.menu a{
  font-size:clamp(11px,.92vw,13px); font-weight:500; letter-spacing:.14em;
  text-transform:uppercase; color:var(--ink-3); white-space:nowrap;
  padding:6px 0; border-bottom:1px solid transparent;
  transition:color .3s var(--tah), border-color .3s var(--tah);
}
.menu a:hover{ color:var(--salvej-txt); border-bottom-color:var(--salvej); }
.hlava-akce{ display:flex; align-items:center; gap:18px; justify-self:end; }
 
.burger{
  display:none; place-items:center; width:30px; height:30px;
  padding:0; border:0; cursor:pointer; background:transparent; color:var(--ink-2);
}
.burger svg{ width:28px; height:28px; }
.menu-mobil{
  display:grid; gap:2px; max-height:0; overflow:hidden;
  background:var(--bila); border-top:1px solid transparent;
  transition:max-height .45s var(--tah);
}
.menu-mobil.je-otevrene{ max-height:70vh; border-top-color:var(--linka); }
.menu-mobil a{
  padding:16px var(--okraj); font-size:13px; letter-spacing:.2em;
  text-transform:uppercase; color:var(--ink-2);
  border-bottom:1px solid var(--linka);
}

 
@media (max-width:1120px){
  .menu{ display:none; }
   
  .burger{ display:grid; }
  .hlava .mrizka{ grid-template-columns:1fr auto; min-height:76px; }
}
@media (max-width:560px){
  .knof--hlava{ display:none; }
   
  .znacka{ gap:9px; }
   
  .znacka-listek{ width:34px; height:auto; }
  .znacka-text b{ font-size:19px; letter-spacing:.14em; }
  .znacka-text span{ font-size:7.6px; letter-spacing:.17em; white-space:nowrap; }
}

 
 
.hero{
  position:relative;
   
   
  min-height:max(430px, calc(82vh - 94px));
  display:flex; align-items:center;
  padding:clamp(18px,2.2vw,30px) 0 clamp(44px,4.9vw,66px);
   
  overflow:visible;
}
 
 
.hero-mrizka{ position:relative; z-index:3;
  width:100%; max-width:none; margin:0;
  padding-left:max(28px, 10.6%); padding-right:0; }
 
.hero-text{ position:relative; z-index:6; }
.hero-text{
  display:grid; gap:clamp(10px,1.2vw,16px); justify-items:start;
  width:min(46%, 560px);
}
 
.hero .nad{ margin-bottom:-15px; }
 
.hero h1{
   
  font-size:clamp(41px,5.8vw,96px); line-height:1.04;
  color:var(--nadpis); letter-spacing:.004em;
}
 
 
.hero h1 em{ font-style:italic; }
.hero-perex{
  font-size:clamp(16px,1.42vw,24px); line-height:1.5;
  color:var(--ink-2); max-width:27ch;
}
.hero-jistoty{
  display:flex; flex-wrap:wrap; gap:8px 26px;
  font-size:14px; color:var(--ink-2);
  padding-top:16px; border-top:1px solid var(--linka-zl); width:100%; max-width:440px;
}
.hero-jistoty b{ color:var(--ink); font-weight:600; }

 
 
.hero-obraz{
  position:absolute; z-index:2; margin:0;
   
   
   
   
   
  left:39.7%; right:6.9%; top:40px; bottom:0;
}
 
 
 
 
 
 
 
.list-dole{
  position:absolute; z-index:9; pointer-events:none;
  height:auto;
}
 
 
.list-dole--vpravo{ right:0; top:60.4vh; width:5.78vw; }
.list-dole--vlevo{ left:0; top:31.1vh; width:4.58vw; }
 
.list-dole--vlevo{ clip-path:inset(0 0 max(0px, calc(20.23vw - 68.9vh)) 0); }
.list-dole--vpravo{ clip-path:inset(0 0 max(0px, calc(16.59vw - 39.6vh)) 0); }

@media (max-width:560px){ .list-dole{ display:none; } }
.linka-spodek{
  position:absolute; left:0; right:0; top:44vh; height:56vh;
  z-index:7; pointer-events:none; overflow:visible;
}
 
.kruh-dole{
   
   
  position:absolute; z-index:8; pointer-events:none;
   
  width:49.0vw; height:49.0vw; border-radius:50%;
   
  right:0; top:64.5vh; transform:translateX(35.2vw);
  background:var(--klin-p);
   
   
   
  clip-path:inset(0 35.2vw max(0px, calc(49vw - 35.5vh)) 0);
}
@media (max-width:560px){ .kruh-dole{ display:none; } }
.spodek-plocha{
   
  position:absolute; left:0; right:0; top:44vh; height:56vh;
  z-index:6; pointer-events:none;
}
 
 
.linky-spodek{
  position:absolute; inset:0; z-index:2;
  width:100%; height:100%; pointer-events:none;
}
.spodek-plocha::before,
.spodek-plocha::after{ content:''; position:absolute; inset:0; }
.spodek-plocha::before{ background:var(--pudr); clip-path:url(#orezPruhy); }
 
 
.spodek-plocha::after{
  background:var(--klin-l);
  clip-path:url(#orezKliny);
}
.linka-oblouk{
  position:absolute; inset:0; overflow:visible;
  width:100%; height:100%; z-index:1;
  color:#CFC7BC; pointer-events:none;
}
.oblouk{
  position:absolute; inset:0;
  overflow:hidden;
  clip-path:url(#orezOblouk);
}
.oblouk img{ width:100%; height:100%; object-fit:cover; display:block; }
 
 
 
 
 
.razitko{
   
   
   
  position:absolute; z-index:10; right:-7.5%; top:44%;
   
   
  width:15%; height:auto; aspect-ratio:1;
  display:block;
   
  color:#7A6A5A;
   
  filter:drop-shadow(0 2px 6px rgba(60,48,38,.18));
}
.razitko text{
  font-family:var(--sans); font-weight:500; text-transform:uppercase;
}

 
 
.vetev{ position:absolute; z-index:4; pointer-events:none; }
 
 
 
 
 

 
@media (max-width:1180px){
  .hero{ display:block; min-height:0; padding-bottom:clamp(50px,9vw,80px); }
   
  .hero-mrizka{ display:flex; flex-direction:column; }
   
   
  .hero{ min-height:0; display:block; padding:clamp(16px,3vw,26px) 0 0; }

  .hero-mrizka{ display:block; padding-left:var(--okraj); padding-right:var(--okraj); }
  .hero-text{ width:100%; }
  .hero-perex{ max-width:46ch; }

   
  .hero-obraz{
    position:relative; left:auto; right:auto; inset:auto;
     
    transform:none; margin:clamp(20px,3.4vw,32px) 0 0;
    width:auto;
  }
   
  .oblouk{
    position:relative; inset:auto; aspect-ratio:16/11;
     
    clip-path:none; border-radius:0; overflow:hidden;
  }
  .oblouk img{ width:100%; height:100%; object-fit:cover; }

   
  .spodek-plocha, .linka-spodek, .kruh-dole, .list-dole,
  .pruhy-dole, .linka-oblouk, .vetev{ display:none; }

   
  .pas{ background:var(--pudr); min-height:0; padding:clamp(26px,5vw,40px) 0; }

   
  .razitko{ right:5%; top:auto; bottom:6%; width:clamp(78px,17vw,132px); }
   
  .hero-mrizka{ padding-left:var(--okraj); padding-right:var(--okraj); }
}

 
@media (max-width:560px){
   
  .hero .nad{ font-size:11px; letter-spacing:.14em; margin-bottom:-8px; }
  .hero .nad i{ font-size:15px; }
  .hero h1{ font-size:clamp(34px,10.4vw,44px); }
  .hero-perex{ font-size:15.5px; max-width:none; }
  .hero-jistoty{ gap:6px 18px; font-size:13px; }
   
  .oblouk{ aspect-ratio:4/3; border-radius:0; }
  .razitko{ width:26%; right:5%; bottom:5%; top:auto; }
   
  .pruhy-dole{ display:none; }
}

 
 
.vlna{
  position:absolute; left:0; right:0; bottom:-1px; z-index:5;
  display:block; width:100%; height:auto; color:var(--pudr);
}
 
 
.pas{ position:relative; overflow:hidden; z-index:9; }
.pas-vetev{
  position:absolute; bottom:0; z-index:0; pointer-events:none;
  opacity:.8;
}
 
.pas-vetev--vpravo{ right:0; width:14.4%; opacity:1; }
.pas-vetev{ z-index:2; }
.pas-mrizka{ position:relative; z-index:3; }
 
 
.pas{ background:transparent; min-height:18vh;
  display:flex; flex-direction:column; justify-content:center;
  padding:clamp(12px,1.6vw,20px) 0 clamp(14px,1.9vw,24px); }
 
.pas-mrizka{
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:clamp(16px,2.8vw,38px);
   
  max-width:min(1400px, 84%); margin:0 auto;
  padding-left:0; padding-right:0;
}
.pas-pol{ display:flex; gap:14px; align-items:center; }
 
 
 
.pas-ikona{ flex:none; display:block;
  width:clamp(56px,5.4vw,72px); aspect-ratio:1; }
.pas-ikona img{ width:100%; height:100%; object-fit:contain; display:block; }
.pas-pol h3{
  font-family:var(--sans); font-size:16px; font-weight:500;
  line-height:1.25; letter-spacing:.01em;
  color:var(--zlata-pas); margin-bottom:5px;
}
 
.pas-pol p{ font-size:13.5px; line-height:1.45; color:var(--ink-3); }




 
.sekce{ padding:clamp(48px,7vw,104px) 0; }
.sekce--kremova{ background:var(--kremova-2); }
.hlava-sekce{ display:grid; gap:14px; justify-items:center; text-align:center; margin-bottom:clamp(28px,4vw,52px); }
.hlava-sekce h2{ font-size:clamp(30px,4vw,54px); line-height:1.1; color:var(--nadpis); }
.hlava-sekce h2 em{ font-style:italic; }
.hlava-sekce p{ color:var(--ink-2); max-width:54ch; font-size:17px; }
.oddelovac{ display:flex; align-items:center; gap:12px; color:var(--zlata); }
.oddelovac::before, .oddelovac::after{ content:''; width:clamp(28px,5vw,58px); height:1px; background:var(--linka-zl); }
.oddelovac svg{ width:17px; height:17px; }

 
 
.produkty{ display:grid; gap:clamp(22px,3.4vw,52px);
  grid-template-columns:repeat(auto-fit, minmax(min(300px,100%), 1fr)); }
 
.produkt{ display:grid; gap:19px; align-content:start; }
.produkt-obraz{
  position:relative; margin:0; overflow:hidden;
  border-radius:999px 999px 20px 20px / 44% 44% 3% 3%;
  background:var(--kremova-2);
}
.produkt-obraz img{
   
  width:100%; aspect-ratio:16/9; object-fit:cover;
  transition:transform .9s var(--tah);
}
.produkt:hover .produkt-obraz img{ transform:scale(1.04); }
 
 
.produkt-cas{
  display:flex; align-items:center; gap:14px;
  font-size:12.5px; font-weight:600; letter-spacing:.2em; text-transform:uppercase;
  color:var(--ink); white-space:nowrap; margin:0 0 -4px;
}
.produkt-cas::after{
  content:""; flex:1 1 auto; height:1px; background:var(--linka-zl);
}
.produkt-telo{ display:grid; gap:11px; justify-items:start; text-align:left; }
.produkt-telo h3{ font-size:clamp(23px,2.3vw,31px); line-height:1.16; color:var(--ink); }
.produkt-telo p{ color:var(--ink-2); font-size:15.5px; line-height:1.66; }
.produkt-cena{
  display:flex; align-items:baseline; gap:9px;
  font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3);
}
.produkt-cena b{
  font-family:var(--serif); font-size:26px; font-weight:400;
  letter-spacing:0; text-transform:none; color:var(--zlata-txt);
}
@media (max-width:860px){ .produkty{ grid-template-columns:1fr; gap:40px; } }

 
.cenik{ display:grid; gap:0; width:100%; margin-top:2px; }
.cenik li{
  display:flex; justify-content:space-between; align-items:baseline; gap:18px;
  padding:12px 0; border-bottom:1px solid var(--linka);
}
.cenik li:first-child{ border-top:1px solid var(--linka); }
.cenik .n{ display:grid; gap:2px; font-size:15px; color:var(--ink); }
.cenik .n small{ font-size:12.5px; color:var(--ink-3); }
.cenik .c{
  font-family:var(--serif); font-size:19px; color:var(--zlata-txt);
  white-space:nowrap; font-variant-numeric:tabular-nums;
}

 
.kroky{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,3vw,46px); }
.krok{ display:grid; gap:11px; justify-items:center; text-align:center; }
.krok-cislo{
  width:64px; height:64px; border-radius:50%;
  border:1px solid var(--linka-zl); background:var(--bila);
  display:grid; place-items:center;
  font-family:var(--serif); font-size:23px; color:var(--zlata-txt);
}
.krok h3{ font-size:22px; color:var(--ink); }
.krok p{ color:var(--ink-2); font-size:15px; max-width:34ch; }
.krok .pozn{ font-size:13px; color:var(--ink-3); }
.krok .pozn b{ color:var(--salvej-txt); font-weight:600; }
@media (max-width:820px){ .kroky{ grid-template-columns:1fr; gap:34px; } }

 
.otazky{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(20px,3vw,44px); }
.qa{
  background:var(--bila); border:1px solid var(--linka-zl);
  border-radius:22px; padding:clamp(22px,2.6vw,34px);
}
.qa h3{ font-size:20px; color:var(--ink); margin-bottom:9px; }
.qa p{ color:var(--ink-2); font-size:15px; line-height:1.68; }
.qa p b{ color:var(--salvej-txt); font-weight:600; }
@media (max-width:820px){ .otazky{ grid-template-columns:1fr; } }

 
.termin{ background:var(--pudr); padding:clamp(48px,7vw,100px) 0; }
.formular{
  background:var(--bila); border:1px solid var(--linka-zl);
  border-radius:28px; padding:clamp(26px,4vw,52px);
  box-shadow:0 26px 70px rgba(120,100,78,.09);
}
.f-mrizka{ display:grid; grid-template-columns:1fr 1fr; gap:18px 22px; }
.f-pole{ display:grid; gap:8px; border:0; padding:0; margin:0; min-width:0; }
.f-pole label, .f-pole legend{
  font-size:11.5px; font-weight:600; letter-spacing:.2em;
  text-transform:uppercase; color:var(--ink-3); padding:0;
}
.f-pole input, .f-pole select, .f-pole textarea{
  font-family:var(--sans); font-size:16px; color:var(--ink);
  padding:15px 18px; border:1px solid var(--linka); border-radius:999px;
  background:var(--kremova); width:100%;
  transition:border-color .3s var(--tah), box-shadow .3s var(--tah);
}
.f-pole input:focus, .f-pole select:focus, .f-pole textarea:focus{
  outline:none; border-color:var(--salvej);
  box-shadow:0 0 0 3px rgba(168,178,154,.24);
}
.f-pole select{
  appearance:none; -webkit-appearance:none; cursor:pointer; padding-right:44px;
  background-image:linear-gradient(45deg,transparent 50%,var(--ink-3) 50%),
                   linear-gradient(135deg,var(--ink-3) 50%,transparent 50%);
  background-position:calc(100% - 24px) calc(50% + 1px), calc(100% - 18px) calc(50% + 1px);
  background-size:6px 6px, 6px 6px; background-repeat:no-repeat;
}
.f-siroke{ grid-column:1 / -1; }
.f-volby{ display:flex; gap:9px; flex-wrap:wrap; }
.f-volby label{ flex:1; min-width:100px; cursor:pointer; letter-spacing:0; text-transform:none; }
.f-volby input{ position:absolute; opacity:0; width:0; height:0; }
.f-volby span{
  display:block; padding:14px 10px; text-align:center; border-radius:999px;
  border:1px solid var(--linka); background:var(--kremova);
  font-size:15px; color:var(--ink-2);
  transition:border-color .3s var(--tah), background .3s var(--tah), color .3s var(--tah);
}
.f-volby label:hover span{ border-color:var(--salvej); }
.f-volby input:checked + span{
  border-color:var(--salvej-tm); background:var(--salvej-sv); color:var(--salvej-txt); font-weight:600;
}
.f-volby input:focus-visible + span{ outline:2px solid var(--salvej-tm); outline-offset:2px; }
.f-nepovinne{ letter-spacing:0; text-transform:none; font-weight:400; opacity:.8; margin-left:6px; }
.f-pata{
  display:flex; align-items:center; gap:20px; flex-wrap:wrap;
  margin-top:24px; padding-top:22px; border-top:1px solid var(--linka);
}
.f-pozn{ font-size:13.5px; color:var(--ink-3); }
 
 
.f-souhlas{
  display:flex; align-items:flex-start; gap:10px; cursor:pointer;
  flex:1 0 100%; order:-1; margin-bottom:4px;
  font-size:13.5px; line-height:1.55; color:var(--ink-2);
}
.f-souhlas input{
  flex:0 0 auto; width:17px; height:17px; margin-top:2px;
  accent-color:var(--salvej-tm); cursor:pointer;
}
.f-souhlas a{ color:var(--salvej-txt); text-underline-offset:3px; }
@media (max-width:640px){ .f-mrizka{ grid-template-columns:1fr; } }

 
.pata{ background:var(--kremova-2); padding:clamp(44px,6vw,80px) 0 26px; }
.pata-mrizka{
  display:grid; grid-template-columns:1.6fr 1fr 1.2fr;
  gap:clamp(24px,4vw,60px); padding-bottom:30px;
  border-bottom:1px solid var(--linka-zl);
}
.pata h4{
  font-family:var(--sans); font-size:11.5px; font-weight:600;
  letter-spacing:.22em; text-transform:uppercase; color:var(--ink-3); margin-bottom:14px;
}
.pata li{ margin-bottom:9px; font-size:15px; color:var(--ink-2); }
.pata li a:hover{ color:var(--salvej-txt); }
.pata-o{ font-size:15px; color:var(--ink-2); max-width:38ch; margin-top:14px; }
.pata-spodek{
  display:flex; justify-content:space-between; gap:18px; flex-wrap:wrap;
  padding-top:20px; font-size:13px; color:var(--ink-3);
}
@media (max-width:820px){ .pata-mrizka{ grid-template-columns:1fr; gap:28px; } }

 
.lista{
  position:fixed; left:0; bottom:0; width:100%; z-index:150; display:none;
  align-items:center; justify-content:space-between; gap:14px;
  padding:11px 16px calc(11px + env(safe-area-inset-bottom,0px));
  background:rgba(255,255,255,.97); backdrop-filter:blur(12px);
  border-top:1px solid var(--linka-zl);
  transform:translateY(100%); transition:transform .45s var(--tah);
}
.lista.je-videt{ transform:translateY(0); }
.lista-info{ display:grid; line-height:1.2; }
.lista-info b{ font-family:var(--serif); font-size:20px; color:var(--zlata-txt); }
.lista-info small{ font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--ink-3); }
.lista .knof{ padding:13px 22px; }
 
@media (max-width:1080px){
  .lista{ display:flex; }
  .pata{ padding-bottom:96px; }
}

@media (prefers-reduced-motion:reduce){
  *{ animation:none !important; transition:none !important; }
  html{ scroll-behavior:auto; }
}

 

 
.termin-odpoved{
  margin:clamp(14px,2vw,22px) 0 0;
  padding:clamp(10px,1.4vw,14px) clamp(14px,1.8vw,20px);
  border-radius:14px; line-height:1.5;
  background:var(--kremova-2); border:1px solid var(--klin-l);
}
 
.termin-odpoved--volno{ border-left:3px solid var(--salvej); }
.termin-odpoved--plno { border-left:3px solid #C9A9A0; }
.termin-odpoved--chyba{ border-left:3px solid #C08B80; }
.termin-odpoved--ceka { border-left:3px solid var(--klin-p); opacity:.75; }

.kalendar{
  margin:clamp(12px,1.8vw,18px) 0 0;
  padding:clamp(14px,2vw,22px);
  background:var(--bila); border:1px solid var(--klin-l);
  border-radius:18px; max-width:420px;
}
.kalendar-hlava{
  display:flex; align-items:center; justify-content:space-between;
  gap:10px; margin-bottom:12px;
}
.kalendar-hlava strong{ font-weight:500; letter-spacing:.04em; }
.kalendar-sip{
  width:34px; height:34px; border-radius:50%; cursor:pointer;
  border:1px solid var(--klin-l); background:var(--kremova-2);
  font-size:18px; line-height:1; color:inherit;
}
.kalendar-sip:hover{ background:var(--pudr); }
 
.kalendar-dny{ display:grid; grid-template-columns:repeat(7,1fr); gap:4px; }
.kalendar-nazev{
  text-align:center; font-size:11px; letter-spacing:.12em;
  text-transform:uppercase; opacity:.55; padding-bottom:6px;
}
.kalendar-den{
  aspect-ratio:1; border:0; border-radius:10px; cursor:pointer;
  background:var(--kremova-2); color:inherit; font:inherit; font-size:14px;
}
.kalendar-den:hover{ background:var(--salvej-sv); }
.kalendar-den--plno{
  background:var(--pudr-2); color:#9A8880; cursor:not-allowed;
  text-decoration:line-through;
}
.kalendar-den--pryc{ background:transparent; opacity:.3; cursor:default; }
.kalendar-legenda{
  margin:12px 0 0; font-size:12px; opacity:.6;
  display:flex; align-items:center; gap:6px; flex-wrap:wrap;
}
.kalendar-vzorek{
  width:14px; height:14px; border-radius:5px; display:inline-block;
}
.kalendar-vzorek--plno{ background:var(--pudr-2); }

 
.produkt-odkaz{ display:block; overflow:hidden; }
.produkt-odkaz img{ transition:transform .5s cubic-bezier(.2,.7,.3,1); }
.produkt-odkaz:hover img,
.produkt-odkaz:focus-visible img{ transform:scale(1.035); }
.produkt-telo h3 a{ color:inherit; text-decoration:none; }
.produkt-telo h3 a:hover{ text-decoration:underline; text-underline-offset:4px; }
 
@media (prefers-reduced-motion:reduce){
  .produkt-odkaz img{ transition:none; }
  .produkt-odkaz:hover img{ transform:none; }
}

 
.knof-kosik{
  position:relative; display:grid; place-items:center;
  width:38px; height:38px; border-radius:50%;
  color:var(--ink-2); background:transparent;
  transition:background .25s var(--tah);
}
.knof-kosik:hover{ background:var(--kremova-2); }
.knof-kosik svg{ width:21px; height:21px; }
.kosik-pocet{
  position:absolute; top:-1px; right:-1px; min-width:17px; height:17px;
  display:grid; place-items:center; padding:0 4px;
  border-radius:9px; background:var(--salvej); color:#fff;
  font-size:10px; font-weight:600; line-height:1;
}

 
.f-doprava{
  margin:8px 0 0; font-size:13.5px; line-height:1.45;
  padding-left:11px; border-left:2px solid var(--klin-p);
}
.f-doprava--cena{ border-left-color:var(--salvej); }
.f-doprava--zdarma{ border-left-color:var(--salvej); font-weight:500; }
.f-doprava--nejasne{ border-left-color:#C9A9A0; }
.f-doprava--ceka{ opacity:.6; }

 
.shrnuti-ceny{
  max-width:64ch; margin:clamp(28px,4vw,46px) auto 0;
  padding-top:clamp(18px,2.4vw,26px); border-top:1px solid var(--linka);
  text-align:center; line-height:1.7; color:var(--ink-2);
}
.shrnuti-ceny b{ color:var(--ink); font-weight:500; }

 
.kontakt-velky{
  margin:clamp(20px,3vw,32px) 0 0; line-height:2;
  font-size:clamp(20px,2.6vw,30px); letter-spacing:.01em;
}
.kontakt-velky a{ color:inherit; text-decoration:none;
  border-bottom:1px solid var(--linka); }
.kontakt-velky a:hover{ border-bottom-color:currentColor; }

 
.f-pole--siroke{ grid-column:1 / -1; }
 
.f-pole textarea{
  width:100%; font:inherit; line-height:1.6;
  resize:vertical; min-height:120px;
   
  border-radius:16px; padding:14px 18px;
}

 
.pas-mrizka h3{ font-size:clamp(15px,1.35vw,18px); letter-spacing:.02em; }
.pas-mrizka p{ font-size:clamp(13.5px,1.05vw,15.5px); line-height:1.65; }
.pas{ min-height:21vh; }
 
.pas-ikona{ width:clamp(62px,6vw,80px); }

 
.pas-obr{
  width:100%; height:100%; display:block;
  object-fit:contain; opacity:.92;
}

 
.razitko-text{
  transform-origin:64px 64px;
  animation:razitkoTocim 44s linear infinite;
}
@keyframes razitkoTocim{ to{ transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce){
  .razitko-text{ animation:none; }
}


 
 
@media (max-width:860px){
   
  .produkty{ gap:0; }
  .produkt + .produkt{
    border-top:1px solid var(--linka);
    margin-top:clamp(30px,5vw,44px);
    padding-top:clamp(30px,5vw,44px);
  }
}

 
@media (max-width:1180px){
  .sekce{ padding:clamp(34px,5.4vw,56px) 0; }
  .hlava-sekce{ margin-bottom:clamp(20px,3.2vw,30px); }
  .pas{ padding:clamp(22px,4vw,30px) 0; }
}

 
@media (max-width:1180px){
  .pas{ min-height:0; }
}

 
@media (max-width:1180px){
  .oblouk{ aspect-ratio:16/9; }
}
@media (max-width:560px){
   
  .oblouk{ aspect-ratio:3/2; }
}


 


 
 
 
@media (max-width:1080px){
  .hlava-akce .knof--hlava{ display:none; }
}
@media (max-width:430px){
  .znacka{ gap:7px; }
  .znacka-text span{ display:none; }
  .znacka-text b{ font-size:17px; letter-spacing:.1em; }
  .znacka-listek{ width:28px; }
  .hlava-akce{ gap:10px; }
}

 
@media (max-width:1180px){
  .pas{ padding-top:clamp(34px,6vw,52px); }
}

 
main{ overflow-x:clip; }

 
.kruh-obal{
  position:absolute; inset:0; overflow:clip;
  pointer-events:none; z-index:8;
}
 
 
@media (max-width:1180px){ .kruh-obal{ display:none; } }

 
 
.hlava .mrizka > *{ min-width:0; }
.znacka{ min-width:0; }
.znacka-text{ min-width:0; }
.znacka-text b{ white-space:nowrap; }
 
.hlava-akce{ min-width:auto; flex:0 0 auto; }

 
.lista{ justify-content:stretch; gap:0; }
.lista .knof{
  flex:1 1 auto; justify-content:center;
  padding-top:15px; padding-bottom:15px;
}


 
 
.pas-mrizka{ grid-template-columns:1fr; gap:0; }
 

 


 
.pas-pol{
  border-left:1px solid var(--linka-zl);
  padding:clamp(14px,1.8vw,20px) clamp(16px,2vw,26px);
}
 

 

 

 
.pas-mrizka{ row-gap:clamp(14px,2vw,22px); }

 
.pas-obr--1{ opacity:.78; }

 
 

 
@media (max-width:1180px){
  .pas-mrizka{ max-width:calc(100% - 2 * var(--okraj)); }
}

 
 

 
 

 
@media (min-width:1560px){
  .pas-ikona{ width:clamp(44px,3.4vw,54px); }
  .pas-pol{ padding:clamp(10px,1.1vw,14px) clamp(10px,0.9vw,13px); }
}




 
.pas-mrizka{ grid-template-columns:1fr; }
.pas-pol{ border-left:0; }
.pas-pol + .pas-pol{ border-top:1px solid var(--linka-zl); }

@media (min-width:520px){
  .pas-mrizka{ grid-template-columns:repeat(2,1fr); }
  .pas-pol{ border-left:1px solid var(--linka-zl); border-top:0; }
   
  .pas-pol + .pas-pol{ border-top:0; }
  .pas-pol:nth-child(odd){ border-left:0; }
  .pas-pol:nth-child(n+3){ border-top:1px solid var(--linka-zl); }
}

@media (min-width:1180px){
  .pas-mrizka{ grid-template-columns:repeat(4,1fr); }
   
  .pas-mrizka{ max-width:min(1400px, 70%); }
   
  .pas-pol{ border-left:1px solid var(--linka-zl); }
   
  .pas-pol:nth-child(odd){ border-left:1px solid var(--linka-zl); }
  .pas-pol:nth-child(1){ border-left:0; }
   
  .pas-pol:nth-child(n+3){ border-top:0; }
  .pas-pol + .pas-pol{ border-top:0; }
   
  .pas-ikona{ width:clamp(42px,3.6vw,56px); }
  .pas-pol{ padding:clamp(10px,1.1vw,14px) clamp(10px,1vw,14px); }
}

 

 
.pas-obr-obal, .pas-obr-obal picture{ display:block; width:100%; height:100%; }
.pop-vysledek{
  margin:26px 0 0; padding:15px 19px; border-radius:3px;
  font:400 14.5px/1.65 var(--sans); color:var(--ink);
  border-left:3px solid var(--linka);
  background:rgba(255,255,255,.55);
}
.pop-vysledek strong{ font-weight:500; color:var(--ink); }
.pop-vysledek ul{ margin:7px 0 0; padding-left:19px; }
.pop-vysledek li{ margin:3px 0; }
.pop-vysledek.je-ok{
  background:var(--salvej-sv); border-left-color:var(--salvej);
}
.pop-vysledek.je-chyba{
  background:#F4EAE4; border-left-color:#A8654B;
}
.formular .je-chybne,
.formular input.je-chybne:focus{
  border-color:#A8654B;
  box-shadow:0 0 0 3px rgba(168,101,75,.15);
}
