
:root{
  --krem:#faf5ea; --krem2:#f3ece0; --papir:#fdfaf4; --terakota:#b4573a; --terakota-tm:#9a4830;
  --oliva:#6b7f4e; --oliva-sv:#8ba05f; --tm:#2f2a24; --seda:#6f665b; --linka:#e6dccb;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Karla',system-ui,sans-serif;color:var(--tm);background:var(--krem);line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:1200px;margin:0 auto;padding:0 26px}
h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:600;letter-spacing:-.015em;line-height:1.15}
.psano{font-family:'Caveat',cursive;color:var(--oliva)}
.ey{display:block;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--terakota);font-weight:700;margin-bottom:12px}

.demo{background:#2f2a24;color:#f3ece0;text-align:center;font-size:13.5px;padding:9px 16px}
.demo a{color:#ffcf9e;text-decoration:underline}

.nav{position:sticky;top:0;z-index:60;background:rgba(250,245,234,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--linka)}
.nav .row{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:14px 0}
.logo{display:flex;align-items:center;gap:11px}
.logo .vetvicka{width:34px;height:34px;flex:none}
.logo span{display:flex;flex-direction:column;line-height:1}
.logo b{font-family:'Playfair Display',serif;font-size:21px;font-weight:700;letter-spacing:.04em}
.logo i{font-style:normal;font-size:8px;letter-spacing:.24em;color:var(--oliva);margin-top:5px;font-weight:600}
.hl{display:flex;gap:28px}
.hl a{font-size:14.5px;font-weight:600;color:#4b443c;padding-bottom:3px;border-bottom:2px solid transparent}
.hl a:hover{color:var(--terakota)}
.hl a.on{color:var(--terakota);border-color:var(--terakota)}
.rez{display:inline-flex;align-items:center;gap:9px;background:var(--terakota);color:#fff;font-weight:700;font-size:14px;padding:12px 24px;border-radius:99px;transition:.15s}
.rez:hover{background:var(--terakota-tm)}
.ikbtn{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.7}
.burger{display:none;background:none;border:0;font-size:23px;cursor:pointer;color:var(--tm)}
.mm{display:none;background:var(--papir);border-top:1px solid var(--linka)}
.mm.open{display:block}
.mm a{display:block;padding:13px 26px;border-bottom:1px solid var(--linka);font-weight:600}

.olist{position:absolute;pointer-events:none;opacity:.55;z-index:1;width:170px;height:auto}
.olist.hero-l{left:-42px;top:22px;transform:rotate(-14deg)}
.olist.onas-r{right:-46px;bottom:-30px;transform:rotate(150deg);opacity:.4}
.olist.brunch-l{left:-58px;bottom:-24px;transform:rotate(24deg);opacity:.4}
@media(max-width:1050px){.olist{display:none}}
.hero{position:relative;background:var(--krem);overflow:hidden}
.hero .in{display:grid;grid-template-columns:1fr 1.08fr;align-items:center;gap:30px;min-height:520px}
.hero .txt{padding:62px 0;position:relative;z-index:3}
.hero h1{font-size:clamp(38px,4.8vw,56px);margin-bottom:20px}
.hero h1 em{font-style:normal;color:var(--terakota);display:block}
.hero p{max-width:30em;color:var(--seda);font-size:16px;margin-bottom:30px}
.hero .cta{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:14.5px;padding:15px 30px;border-radius:99px;transition:.15s;border:1px solid transparent;font-family:inherit;cursor:pointer}
.btn.ter{background:var(--terakota);color:#fff}
.btn.ter:hover{background:var(--terakota-tm)}
.btn.ol{background:var(--oliva);color:#fff}
.btn.ol:hover{background:#5a6c41}
.btn.obr{border-color:var(--oliva);color:var(--oliva);background:transparent}
.btn.obr:hover{background:rgba(139,160,95,.12)}
.odkaz{font-weight:700;font-size:14.5px;border-bottom:1.5px solid var(--tm);padding-bottom:2px}
.hero .podpis{margin-top:22px;font-size:23px}
.hero .fotoblok{position:relative;height:100%;min-height:430px}
.hero .fotoblok img{width:100%;height:100%;object-fit:cover;border-radius:0}
.odznak{position:absolute;width:132px;height:132px;border-radius:50%;background:var(--oliva);color:#fff;display:grid;place-items:center;text-align:center;font-family:'Caveat',cursive;font-size:20px;line-height:1.2;padding:14px;box-shadow:0 12px 30px -10px rgba(0,0,0,.35);z-index:4}
.hero .odznak{left:-58px;top:16%}
.stitek{position:absolute;right:22px;bottom:26px;background:var(--papir);border-radius:10px;padding:13px 17px;display:flex;gap:11px;align-items:center;box-shadow:0 14px 34px -14px rgba(0,0,0,.35);z-index:4}
.stitek svg{width:26px;height:26px;stroke:var(--oliva);fill:none;stroke-width:1.5;flex:none}
.stitek b{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;line-height:1.7;font-weight:700;color:#4b443c}

.pruh{background:var(--krem2);border-top:1px solid var(--linka);border-bottom:1px solid var(--linka)}
.pruh .in{display:grid;grid-template-columns:repeat(4,1fr);padding:24px 0}
.pruh .p{display:flex;align-items:center;gap:15px;padding:6px 22px;border-right:1px solid #e0d5c2}
.pruh .p:last-child{border-right:0}
.kolecko{width:48px;height:48px;border-radius:50%;background:#e7e2d0;display:grid;place-items:center;flex:none}
.kolecko svg{width:24px;height:24px;stroke:var(--oliva);fill:none;stroke-width:1.5}
.pruh b{display:block;font-size:14.5px;font-weight:700}
.pruh span{font-size:12.5px;color:var(--seda)}

section{padding:70px 0}
.karta-sekce{background:var(--papir);border:1px solid var(--linka);border-radius:16px;padding:38px 34px}
.hl-sekce{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:26px}
.hl-sekce h2{font-size:clamp(26px,3.2vw,34px)}
.vic{color:var(--terakota);font-weight:700;font-size:13.5px}
.jidla{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.jidlo img{width:100%;height:150px;object-fit:cover;border-radius:10px}
.jidlo .n{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:14px 0 6px}
.jidlo h3{font-size:17px;font-family:'Karla';font-weight:700}
.jidlo .cena{color:var(--terakota);font-weight:700;font-size:15px;white-space:nowrap}
.jidlo p{font-size:13px;color:var(--seda);line-height:1.5}

.onas{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center;position:relative}
.onas .foto img{width:100%;height:330px;object-fit:cover;border-radius:14px}
.onas h2{font-size:clamp(26px,3.4vw,38px);margin-bottom:18px}
.onas h2 em{font-style:normal;color:var(--terakota);display:block}
.onas p{color:var(--seda);margin-bottom:22px;max-width:34em}
.onas .psano{position:absolute;right:0;top:-6px;font-size:24px;text-align:center;line-height:1.35;color:var(--tm)}
.hodnoty{display:flex;gap:34px;margin-top:26px;flex-wrap:wrap}
.hodnoty .h{text-align:center;min-width:88px}
.hodnoty svg{width:26px;height:26px;stroke:var(--oliva);fill:none;stroke-width:1.5;margin:0 auto 8px}
.hodnoty b{display:block;font-size:12.5px;font-weight:700;line-height:1.35}

.pas{background:var(--terakota);color:#fff;border-radius:16px;padding:34px 40px;display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap;position:relative;overflow:hidden}
.pas .ey{color:#ffd9c9}
.pas h2{font-size:clamp(24px,3vw,32px);color:#fff;margin-bottom:8px}
.pas p{color:#f6d9cd;font-size:14.5px;max-width:32em}
.pas .btn{background:#fff;color:var(--terakota)}
.pas .btn:hover{background:#ffeee6}
.pas .psano{color:#ffd9c9;font-size:21px;text-align:center;line-height:1.35}
.pas .skl{width:76px;height:60px;stroke:#ffd9c9;fill:none;stroke-width:1.4;opacity:.9}

.brunch-blok{display:grid;grid-template-columns:1fr 1.15fr .95fr;gap:0;align-items:stretch;border:1px solid var(--linka);border-radius:16px;overflow:hidden;background:var(--papir)}
.brunch-blok .a{padding:44px 36px;display:flex;flex-direction:column;justify-content:center}
.brunch-blok .a h2{font-size:clamp(25px,3vw,34px);margin-bottom:16px}
.brunch-blok .a h2 em{font-style:normal;color:var(--terakota);display:block}
.brunch-blok .a p{color:var(--seda);font-size:14.5px;margin-bottom:24px}
.brunch-blok .b{position:relative;min-height:300px}
.brunch-blok .b img{width:100%;height:100%;object-fit:cover}
.brunch-blok .b .odznak{width:110px;height:110px;left:22px;top:22px;font-size:17px;background:var(--oliva-sv)}
.brunch-blok .c{background:var(--krem2);padding:44px 34px;display:flex;flex-direction:column;justify-content:center}
.brunch-blok .c h3{font-size:23px;margin-bottom:20px}
.brunch-blok .c h3 span{display:block}
.brunch-blok .c ul{list-style:none;display:flex;flex-direction:column;gap:14px}
.brunch-blok .c li{display:flex;align-items:center;gap:12px;font-size:14.5px}
.brunch-blok .c li svg{width:20px;height:20px;stroke:var(--oliva);fill:none;stroke-width:1.6;flex:none}

.kont-pas{display:grid;grid-template-columns:1fr 1fr 1fr .9fr;gap:34px;align-items:center;padding:56px 0}
.kont-pas h3{font-size:21px;margin-bottom:18px}
.kont-pas .r{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px;font-size:14.5px}
.kont-pas .r svg{width:19px;height:19px;stroke:var(--terakota);fill:none;stroke-width:1.6;flex:none;margin-top:3px}
.kont-pas .mapa{width:100%;height:190px;border:0;border-radius:12px;filter:saturate(.75)}
.doba{display:flex;flex-direction:column;gap:7px;font-size:14px}
.doba .d{display:flex;justify-content:space-between;gap:18px;max-width:250px}
.doba .d span{color:var(--seda)}
.kont-pas .cedule img{width:100%;height:250px;object-fit:cover;border-radius:12px}
.kont-pas .psano{font-size:21px;text-align:center;line-height:1.35;margin-bottom:14px;color:var(--tm)}

.pageh{background:var(--krem2);border-bottom:1px solid var(--linka);padding:56px 0;text-align:center;position:relative;overflow:hidden}
.pageh h1{font-size:clamp(32px,4.2vw,46px)}
.pageh p{max-width:36em;margin:14px auto 0;color:var(--seda)}

.menu-sekce{margin-bottom:46px}
.menu-sekce h2{font-size:27px;margin-bottom:6px}
.menu-sekce .pod{font-size:13.5px;color:var(--seda);margin-bottom:20px}
.polozka{display:flex;gap:16px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--linka)}
.polozka .n{font-weight:700;font-size:15.5px}
.polozka .d{font-size:13.5px;color:var(--seda)}
.polozka .c{margin-left:auto;color:var(--terakota);font-weight:700;white-space:nowrap}

.rezervace{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:start}
.form{background:var(--papir);border:1px solid var(--linka);border-radius:16px;padding:32px}
.krok{margin-bottom:26px}
.krok .cislo{display:flex;align-items:center;gap:11px;margin-bottom:14px}
.krok .cislo span{width:25px;height:25px;border-radius:50%;background:var(--oliva);color:#fff;font-size:12.5px;font-weight:700;display:grid;place-items:center;flex:none}
.krok .cislo b{font-size:15px}
.volby{display:flex;flex-wrap:wrap;gap:9px}
.volba{border:1px solid var(--linka);background:#fff;padding:11px 17px;border-radius:99px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit;color:inherit;transition:.12s}
.volba:hover{border-color:var(--oliva)}
.volba.on{background:var(--oliva);color:#fff;border-color:var(--oliva)}
.volba.den{display:flex;flex-direction:column;align-items:center;gap:2px;min-width:76px;border-radius:12px;padding:10px 12px}
.volba.den i{font-style:normal;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;opacity:.7}
.volba.den b{font-size:15.5px}
.volba.cas{min-width:80px;text-align:center}
.volba.cas:disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}
.balicky{display:grid;gap:11px}
.balicek{border:1px solid var(--linka);background:#fff;border-radius:12px;padding:15px 18px;cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center;text-align:left;font-family:inherit;color:inherit;transition:.12s;width:100%}
.balicek:hover{border-color:var(--oliva)}
.balicek.on{border-color:var(--oliva);background:rgba(139,160,95,.09)}
.balicek b{display:block;font-size:15px;font-weight:700}
.balicek span{font-size:13px;color:var(--seda)}
.balicek .c{color:var(--terakota);font-weight:700;white-space:nowrap}
.pole{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pole label{display:block;font-size:12.5px;font-weight:700;margin-bottom:6px}
.pole input,.pole textarea{width:100%;border:1px solid var(--linka);background:#fff;padding:12px 14px;font-family:inherit;font-size:14.5px;border-radius:10px}
.pole .cele{grid-column:1/-1}
.pole input:focus,.pole textarea:focus{outline:none;border-color:var(--oliva)}
.souhrn{background:var(--oliva);color:#fff;border-radius:16px;padding:28px}
.souhrn h3{font-size:22px;margin-bottom:18px;color:#fff}
.souhrn dl{display:grid;grid-template-columns:auto 1fr;gap:11px 16px;font-size:14.5px}
.souhrn dt{color:#dbe4cd}
.souhrn dd{text-align:right;font-weight:700}
.souhrn .cel{border-top:1px solid rgba(255,255,255,.25);margin-top:16px;padding-top:16px;display:flex;justify-content:space-between;font-size:16px;font-weight:700}
.souhrn .pozn{margin-top:18px;font-size:12.5px;color:#d3ddc4;line-height:1.5}
.hotovo{display:none;background:var(--terakota);color:#fff;border-radius:12px;padding:22px;margin-top:20px}
.hotovo.on{display:block}
.hotovo b{display:block;font-family:'Playfair Display',serif;font-size:22px;margin-bottom:7px}

.galerie{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.galerie a{overflow:hidden;border-radius:12px;display:block}
.galerie img{width:100%;height:250px;object-fit:cover;transition:transform .5s}
.galerie a:hover img{transform:scale(1.06)}
.galerie .siroka{grid-column:span 2}
.lb{position:fixed;inset:0;background:rgba(30,26,22,.94);display:none;align-items:center;justify-content:center;z-index:120;padding:26px}
.lb.on{display:flex}
.lb img{max-width:92vw;max-height:88vh;object-fit:contain;border-radius:8px}
.lb .x{position:absolute;top:20px;right:26px;color:#fff;font-size:34px;cursor:pointer;line-height:1}

.tym{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.tym img{width:100%;height:330px;object-fit:cover;object-position:center 20%;border-radius:14px}
.tym h3{font-size:20px;margin:14px 0 2px}
.tym span{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--terakota);font-weight:700}
.tym p{font-size:14px;color:var(--seda);margin-top:9px}

.foot{background:var(--papir);border-top:1px solid var(--linka);padding:48px 0 22px;font-size:14px;color:var(--seda)}
.foot .cols{display:grid;grid-template-columns:1.4fr .8fr 1fr .9fr;gap:34px;padding-bottom:30px}
.foot .o .logo{margin-bottom:14px}
.foot h4{color:var(--tm);font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:14px;font-weight:700}
.foot ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.foot a:hover{color:var(--terakota)}
.foot .ikony{display:flex;gap:11px;margin-bottom:14px}
.foot .ik{width:38px;height:38px;border-radius:50%;background:var(--krem2);display:grid;place-items:center}
.foot .ik svg{width:19px;height:19px;stroke:var(--tm);fill:none;stroke-width:1.6}
.foot .psano{font-size:19px;text-align:right}
.foot .copy{border-top:1px solid var(--linka);padding-top:18px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:12.5px}
.foot .copy a{color:var(--terakota);text-decoration:underline}
.wpj-credit{text-align:center;font-size:12.5px;padding:12px 16px;background:var(--papir);color:var(--seda);border-top:1px solid var(--linka)}
.wpj-credit a{color:var(--tm);text-decoration:underline}

@media(max-width:1050px){
  .hl,.rez{display:none}
  .burger{display:block}
  .hero .in{grid-template-columns:1fr}
  .hero .odznak{left:auto;right:20px;top:auto;bottom:-52px}
  .hero .fotoblok{min-height:320px}
  .brunch-blok{grid-template-columns:1fr}
  .kont-pas{grid-template-columns:1fr 1fr}
  .jidla{grid-template-columns:repeat(2,1fr)}
  .onas{grid-template-columns:1fr;gap:28px}
  .onas .psano{position:static;text-align:left;margin-bottom:14px}
  .rezervace,.tym{grid-template-columns:1fr}
  .galerie{grid-template-columns:repeat(2,1fr)}
  .foot .cols{grid-template-columns:1fr 1fr}
  .foot .psano{text-align:left}
}
@media(max-width:600px){
  section{padding:48px 0}
  .jidla,.galerie{grid-template-columns:1fr}
  .galerie .siroka{grid-column:auto}
  .pruh .in{grid-template-columns:1fr}
  .pruh .p{border-right:0;border-bottom:1px solid #e0d5c2;padding:14px 4px}
  .pruh .p:last-child{border-bottom:0}
  .kont-pas{grid-template-columns:1fr;padding:40px 0}
  .pole{grid-template-columns:1fr}
  .karta-sekce{padding:26px 20px}
  .pas{padding:28px 24px}
  .foot .cols{grid-template-columns:1fr}
  .hero .odznak{width:104px;height:104px;font-size:16px}
}
