@font-face{font-family:'Jost';font-style:normal;font-weight:400 500;font-display:swap;src:url(fonts/jost-latin-ext.woff2) format('woff2');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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Jost';font-style:normal;font-weight:400 500;font-display:swap;src:url(fonts/jost-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Libre Caslon Display';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/libre-caslon-display-latin-ext.woff2) format('woff2');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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Libre Caslon Display';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/libre-caslon-display-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Libre Caslon Text';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/libre-caslon-text-latin-ext.woff2) format('woff2');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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Libre Caslon Text';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/libre-caslon-text-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--ink:#2b1633;--plum:#4a2158;--orchid:#a23d7c;--rose:#f1b8d8;--blush:#f6e7ee;--pearl:#fcf8fa;--line:#e3cfdb;--mute:#6d5a74;--on-dark:#efe3f3;--on-dark-mute:#c9b6d1;--fial:#3f2288;--ruz:#e8a1c3;--tyr:#0f6b70;--mleko:#f4eff0;--display:'Libre Caslon Display',Georgia,serif;--serif:'Libre Caslon Text',Georgia,serif}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{font:400 17px/1.6 'Jost',system-ui,sans-serif;color:var(--ink);background:var(--ink);padding-bottom:88px}
main{display:block;background:var(--pearl)}
::selection{background:var(--rose);color:var(--ink)}
img{display:block;max-width:100%;height:auto}
p,dd{text-wrap:pretty}
a{color:var(--orchid);text-underline-offset:.18em}
:focus-visible{outline:3px solid var(--orchid);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:.5rem 1rem;z-index:99}
.skip:focus{left:0}
.sr{position:absolute;left:-9999px}
.nw{white-space:nowrap}
h1,h2{font-family:var(--display);font-weight:400;line-height:1.12;letter-spacing:-.01em;text-wrap:balance}
h3{font-family:var(--serif);font-weight:400;line-height:1.2}
h1 em,.book h2 em{font-style:normal;color:var(--orchid)}
h2{font-size:clamp(2.8rem,12vw,7.5rem);line-height:1.02;margin-bottom:1.25rem}
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem 1rem;background:var(--pearl);border-bottom:1px solid var(--line);transition:background-color .35s,border-color .35s}
.brand{text-decoration:none;color:var(--ink);font-family:var(--display);font-size:1.55rem;line-height:1;padding:.25rem 0;transition:color .35s}
.brand small{display:block;font:500 .72rem 'Jost',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--orchid);margin-top:.2rem;transition:color .35s}
.top nav{display:none}
.btn{font:inherit;font-weight:500;cursor:pointer;border:0;display:inline-flex;align-items:center;justify-content:center;background:var(--plum);color:#fff;text-decoration:none;padding:.9rem 1.5rem;border-radius:999px;font-weight:500;text-align:center;min-height:52px;transition:background-color .2s,color .2s}
.btn:hover{background:var(--ink)}
.btn-sm{padding:.45rem 1.1rem;min-height:44px}
.btn-ghost{background:transparent;color:var(--plum);box-shadow:inset 0 0 0 1.5px var(--plum)}
.btn-light{background:#fff;color:var(--plum)}
.btn-light:hover{background:var(--blush)}
.more{justify-self:center;display:inline-flex;align-items:center;min-height:44px;color:var(--plum);font-weight:500}
.btn-ghost:hover{background:var(--plum);color:#fff}
.hero{padding:1.75rem 1.25rem 2.25rem;display:grid;gap:1.1rem}
.hero-text{display:contents}
h1{font-size:clamp(2.5rem,11.2vw,4.4rem);order:1}
.lead{color:var(--mute);order:2}
.cta{order:4;display:grid;gap:.6rem}
.status{order:5;display:grid;gap:.35rem;font-size:.97rem;color:var(--mute)}
.open-now::before{content:"";display:inline-block;width:.6rem;height:.6rem;border-radius:50%;background:#8f7a97;margin-right:.55rem}
.open-now.is-open{color:#1d6b3f;font-weight:500}.open-now.is-open::before{background:#2a9158}
/* jedno jemné zvlnění kolem tečky „právě otevřeno“ (GSAP animuje --ring a --ra) */
.open-now.is-open::before{box-shadow:0 0 0 var(--ring,0) rgba(42,145,88,var(--ra,0))}
.note{color:var(--mute);font-size:.95rem}
.note.small{margin:1rem 0 0}
.sticky{position:fixed;left:.75rem;right:.75rem;bottom:max(.75rem,env(safe-area-inset-bottom));z-index:30;display:flex;gap:.5rem;transform:translateY(calc(100% + 1.5rem));visibility:hidden;transition:transform .35s cubic-bezier(.16,1,.3,1),visibility .35s}
.sticky.is-shown{transform:none;visibility:visible}
.sticky button{flex:1;font:inherit;font-weight:500;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;min-height:56px;border-radius:999px;background:var(--plum);color:#fff;padding:.5rem 1rem;box-shadow:0 10px 24px -10px rgba(43,22,51,.6)}
.sticky .alt{background:#fff;color:var(--plum);box-shadow:inset 0 0 0 1.5px var(--plum),0 10px 24px -10px rgba(43,22,51,.45)}
.sticky button:hover{background:var(--ink)}
.sticky .alt:hover{background:var(--blush)}
.pop{width:min(100% - 2rem,26rem);margin:auto;border:0;border-radius:24px 24px 16px 16px;padding:2rem 1.5rem 1.25rem;background:var(--pearl);color:var(--ink);box-shadow:0 30px 60px -20px rgba(43,22,51,.55)}
.pop::backdrop{background:rgba(43,22,51,.45)}
.pop h2{font-size:1.8rem;margin-bottom:.75rem}
.pop p{color:var(--mute);margin-bottom:1.4rem}
.pop .btn{width:100%}
.pop-close{display:flex;align-items:center;justify-content:center;margin:.5rem auto 0;min-height:44px;padding:0 1rem;font:inherit;color:var(--plum);text-decoration:underline;text-underline-offset:.18em}

/* SVĚTLA OPÁLU (tuning 31. 10. 2026). Bez JS, při omezení pohybu a bez WebGL jsou to čtyři plné barevné pásy pod sebou
   se statickým kamenem. Třída .oscena (scroll/rezim.js) z nich udělá jednu scénu: viz blok .oscena níž. */
.sv{position:relative}
.sv-kotva{position:absolute;top:0}
.ra{display:block}
.sv-uvod{background:var(--blush);padding:4.5rem 1.25rem 4rem}
.sv-uvod h2{font-size:clamp(3rem,13.4vw,9.6rem);line-height:1.04;margin-bottom:1.6rem;text-wrap:initial}
.sv-veta{max-width:30em;font-size:1.1rem}
.kapitoly{list-style:none;padding:0}
.kap{--kb:var(--fial);--kt:#fcf8fa;position:relative;overflow:hidden;padding:3.5rem 1.25rem 4rem;background:var(--kb);color:var(--kt)}
.k2{--kb:var(--ruz);--kt:var(--ink)}
.k3{--kb:var(--tyr)}
.k4{--kb:var(--mleko);--kt:var(--ink)}
.kap h3{font:400 clamp(3.2rem,15.4vw,9.4rem)/1.04 var(--display);letter-spacing:-.015em;margin-bottom:1.3rem}
.kap-kamen{width:min(92vw,32rem);margin:0 auto 1.6rem}
.kap-text p{max-width:29em;font-size:1.1rem}
.kap-text .kap-data{display:flex;flex-wrap:wrap;gap:.1rem 1.5rem;margin:1rem 0 .3rem;font:400 1.75rem/1.3 var(--display);font-variant-numeric:lining-nums}
.kap-odkaz{display:inline-flex;align-items:center;min-height:44px;color:inherit;font-weight:500;text-decoration-thickness:1px;transition:text-underline-offset .2s}
.kap-odkaz:hover{text-underline-offset:.34em}
.kap :focus-visible{outline-color:currentColor}

/* Ceník: vrstvy kamene přes celou šířku, každá kategorie jedna plná vrstva; rozbalování řídí script.js (GSAP), bez něj nativní details */
.prices{position:relative;z-index:2;background:var(--mleko);padding:4.5rem 0 0}
.cen-hlava{padding:0 1.25rem 3rem}
.cen-hlava h2{font-size:clamp(5rem,27vw,20rem);line-height:.92;letter-spacing:-.02em;margin:0 0 1.2rem}
.cen-hlava p{max-width:27em;font-size:1.1rem}
.vr{--vb:#e7dcf6;--vh:#efe6fa;position:relative;background:var(--vb);border-radius:1.75rem 1.75rem 0 0;margin-top:-1.75rem;padding:0 1.25rem;transition:background-color .2s}
.vrstvy .vr:first-child{margin-top:0}
.v2{--vb:#f7d3e3;--vh:#fae0eb}
.v3{--vb:#fbe3cd;--vh:#fcebdc}
.v4{--vb:#cdeee4;--vh:#dcf3ec}
.v5{--vb:#c6e4f2;--vh:#d7ecf6}
.v6{--vb:#dcd0ef;--vh:#e6dcf4}
.vr summary{cursor:pointer;list-style:none;display:grid;grid-template-columns:1fr auto;align-items:center;gap:0 1rem;padding:1.5rem 0 3.1rem;min-height:7rem}
.vr summary::-webkit-details-marker{display:none}
.vr:hover,.vr:has(summary:focus-visible){--vb:var(--vh)}
.vr-jm{font:400 clamp(2rem,10vw,6.4rem)/1.06 var(--display);letter-spacing:-.012em;overflow-wrap:anywhere;transition:transform .2s}
.vr-od{grid-column:1;grid-row:2;font-size:1.06rem;font-variant-numeric:tabular-nums}
.vr summary::after{content:"";grid-column:2;grid-row:1/3;width:1.6rem;height:1.6rem;background:linear-gradient(currentColor,currentColor) 50%/100% 2px no-repeat,linear-gradient(currentColor,currentColor) 50%/2px 100% no-repeat;transition:transform .3s cubic-bezier(.16,1,.3,1)}
.vr[open] summary::after{transform:rotate(135deg)}
.vr summary:hover .vr-jm{transform:translateX(.35rem)}
.vr summary:focus-visible{outline-color:var(--ink);outline-offset:-3px}
.vr dl{padding:0 0 3.4rem}
.vr dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:1.25rem;padding:.7rem 0;border-bottom:1px solid rgb(43 22 51/.15)}
.vr dt small{display:block;font-size:.94rem;color:#5b4963;white-space:nowrap}
.vr dd{font-weight:500;white-space:nowrap;text-align:right;margin:0;font-variant-numeric:tabular-nums}
.prices .note{padding:1.6rem 1.25rem 3.8rem;margin:0;background:var(--v-konec,#dcd0ef);color:#46344e;max-width:none}

/* Poradce: čistě CSS (přepínače), bez JS funguje stejně */
.por{position:relative;z-index:3;isolation:isolate;overflow:hidden;color:#fcf8fa;padding:4.5rem 1.25rem 4.5rem;border-radius:1.75rem 1.75rem 0 0;margin-top:-1.75rem}
.por-r{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.por-pozadi{position:absolute;inset:0;z-index:-1;background:#0f5a63;transition:background-color .6s}
#p2:checked~.por-pozadi{background:#7c2a60}
#p3:checked~.por-pozadi{background:#574a86}
#p4:checked~.por-pozadi{background:#3a1f78}
.por h2{font-size:clamp(2.2rem,9vw,4.4rem);margin-bottom:.3rem}
.por-sub{font-size:1.15rem;color:var(--on-dark);margin-bottom:1.1rem}
.por-volby{display:grid;justify-items:start}
.por-volby label{position:relative;font:400 clamp(3.2rem,15vw,min(8.4rem,15vh))/1.04 var(--display);letter-spacing:-.012em;cursor:pointer;color:rgb(252 248 250/.62);min-height:3rem;transition:color .2s,transform .25s cubic-bezier(.16,1,.3,1)}
.por-volby label:hover{color:rgb(252 248 250/.86)}
#p1:checked~.por-in [for=p1],#p2:checked~.por-in [for=p2],#p3:checked~.por-in [for=p3],#p4:checked~.por-in [for=p4]{color:#fff;transform:translateX(.6rem)}
#p1:focus-visible~.por-in [for=p1],#p2:focus-visible~.por-in [for=p2],#p3:focus-visible~.por-in [for=p3],#p4:focus-visible~.por-in [for=p4]{outline:3px solid #fff;outline-offset:2px;border-radius:4px}
.por-in{position:relative}
.por-rada{margin-top:2rem}
.por-kameny{position:absolute;top:6.4rem;right:-4.6rem;aspect-ratio:9/8;width:min(62vw,26rem)}
.por-kameny img{position:absolute;inset:0;width:100%;height:100%;opacity:0;filter:drop-shadow(0 1.4rem 1.6rem rgb(16 6 24/.38));transition:opacity .55s}
#p1:checked~.por-in .pk1,#p2:checked~.por-in .pk2,#p3:checked~.por-in .pk3,#p4:checked~.por-in .pk4{opacity:1}
.vys{display:none;min-height:11.4rem}
.por :focus-visible{outline-color:#fff}
#p1:checked~.por-in .v-p1,#p2:checked~.por-in .v-p2,#p3:checked~.por-in .v-p3,#p4:checked~.por-in .v-p4{display:block}
.vys h3{font:400 clamp(2rem,7.6vw,3.2rem)/1.1 var(--display);margin-bottom:.6rem}
.vys-data{display:flex;flex-wrap:wrap;gap:0 1.4rem;font-weight:500;font-size:1.15rem;font-variant-numeric:tabular-nums;margin-bottom:.5rem}
.vys p:last-child{max-width:28em;color:var(--on-dark)}
.por .btn-light{margin-top:1.5rem}

/* První návštěva: klidná rozdělená sekce s velkou fotkou */
.visit{background:var(--pearl);display:grid}
.vis-foto{margin:0;overflow:hidden}
.vis-foto img{width:100%;height:100%;aspect-ratio:5/4;object-fit:cover;object-position:50% 58%}
.vis-text{padding:3.5rem 1.25rem 4rem}
.visit h2{font-size:clamp(2.7rem,12.4vw,5.6rem);margin-bottom:2.2rem}
.visit h2 .nw{display:block}
.visit ol{list-style:none;padding:0;display:grid;gap:1.9rem;counter-reset:krok}
.visit li{counter-increment:krok;display:grid;grid-template-columns:3.1rem 1fr;gap:0 .5rem}
.visit li::before{content:counter(krok);grid-row:span 2;font:400 3.4rem/.86 var(--display);color:var(--orchid);font-variant-numeric:lining-nums}
.visit h3{font-size:1.6rem;margin-bottom:.35rem}
.visit p{color:var(--mute)}

/* Hodiny: plný růžový pás, stav „právě otevřeno“ jako hlavní věta */
.hours{background:var(--rose);padding:4rem 1.25rem 3rem}
.hours h2{font:500 1.06rem/1.4 'Jost',sans-serif;letter-spacing:0;margin-bottom:.7rem}
.hod-stav{font:400 clamp(3rem,13.6vw,min(9.4rem,20vh))/1.03 var(--display);letter-spacing:-.015em;margin-bottom:.9rem;text-wrap:balance}
.hours .note{margin:0 0 2rem;color:#4a3350}
.hours table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.hours th,.hours td{padding:.72rem 0;border-bottom:1px solid rgb(43 22 51/.18);text-align:left;font-weight:400;font-size:1.13rem}
.hours td{text-align:right;font-weight:500}
.hours tr.today{color:var(--plum)}
.hours tr.today th{font-weight:500}
.hours tr.today th::after{content:" · dnes";font-weight:400}

/* Konec: velká věta, telefon a celý opál vedle textu nebo pod ním */
.book{position:relative;overflow:hidden;background:var(--ink);color:#fff;padding:5.5rem 1.25rem 0;min-height:100vh;display:flex;flex-direction:column}
.book-in{position:relative;z-index:1}
.book h2{font-size:clamp(3.2rem,14.8vw,min(8.6vw,21vh));line-height:1.02;margin-bottom:1rem;text-wrap:initial}
.book h2 em{color:var(--rose);display:block}
.book-lead{font-size:1.15rem;margin-bottom:1.7rem;color:var(--on-dark)}
.book-phone{display:block;font:400 clamp(2rem,11.6vw,6.4rem)/1.15 var(--display);color:#fff;background:none;border:0;padding:0;cursor:pointer;text-align:left;text-decoration:underline;text-decoration-color:var(--rose);text-decoration-thickness:2px;text-underline-offset:.16em;white-space:nowrap;font-variant-numeric:lining-nums}
.book-phone:hover{color:var(--rose)}
.demo-note{font-size:.95rem;color:var(--on-dark-mute);margin:.5rem 0 1.5rem}
.book-kamen{width:min(78vw,24rem);margin:auto auto 2rem;align-self:center}
.book :focus-visible,footer :focus-visible{outline-color:var(--rose)}

.hero-links button{font:inherit;background:none;border:0;padding:0;cursor:pointer;display:inline-flex;align-items:center;min-height:2.75rem;color:var(--mute);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
.hero-links button:hover{color:var(--plum)}

/* Patička */
footer{background:var(--ink);color:var(--on-dark);padding:2.6rem 1.25rem 2.2rem;position:relative;z-index:1}
footer h2{font-size:clamp(2.6rem,12vw,8.2rem);margin-bottom:1.6rem;color:#fcf8fa}
footer a{color:#f1c5de}
.pata{display:grid;gap:1.1rem}
address{font-style:normal;display:grid;justify-items:start}
footer nav{display:flex;flex-wrap:wrap;gap:0 1.5rem}
footer nav a,.link-btn,.back{display:inline-flex;align-items:center;min-height:44px}
.link-btn{font:inherit;color:#f1c5de;background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:.18em}
.forma{font-size:.94rem;color:var(--on-dark-mute)}
.back{font-size:.94rem}

@media (min-width:760px){
 body{padding-bottom:0;font-size:18px}
 .top{padding:.8rem 3rem}
 .top nav{display:flex;gap:1.25rem}
 .top nav a{text-decoration:none;color:var(--ink);padding:.6rem .4rem;transition:color .2s}
 .top nav a:hover{color:var(--orchid)}
 .hero{grid-template-columns:1.1fr .9fr;align-items:center;padding:4.5rem 3rem;gap:4rem;max-width:1200px;margin:auto}
 .hero-text{display:block}
 h1{margin-bottom:1.1rem}
 .lead{margin-bottom:1.6rem;max-width:34em}
 .cta{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem 1.2rem}
 .more{justify-self:auto}
 .status{margin-top:1.2rem}
 .sticky{display:none}
 .note,.demo-note,.forma,.back,.vr dt small{font-size:1.06rem}
 .sv-uvod,.kap{padding:6rem 3rem}
 .kap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);column-gap:2rem;align-items:center}
 .kap-kamen{grid-column:2;grid-row:1/3;width:100%;margin:0}
 .kap h3{grid-column:1;align-self:end}
 .kap-text{grid-column:1;grid-row:2}
 .cen-hlava{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);align-items:end;gap:2rem;padding:0 3rem 4rem}
 .cen-hlava h2{margin:0;font-size:clamp(5rem,22vw,20rem)}
 .vr{padding:0 3rem;border-radius:2.5rem 2.5rem 0 0;margin-top:-2.5rem}
 .vr summary{grid-template-columns:1fr auto auto;gap:0 2.4rem;padding:1.9rem 0 4rem;min-height:9rem}
 .vr-od{grid-column:2;grid-row:1;font-size:1.25rem}
 .vr summary::after{grid-column:3;grid-row:1;width:2rem;height:2rem}
 .prices .note{padding:1.8rem 3rem 4.6rem}
 .por{padding:6rem 3rem;border-radius:2.5rem 2.5rem 0 0;margin-top:-2.5rem}
 .vr dt small{display:inline;margin-left:.35em}
 .hours{padding:6rem 3rem 4rem}
 .visit h2{margin-bottom:2.6rem}
 .book{padding:7rem 3rem 3rem}
 footer{padding:3rem 3rem 2.4rem}
 .pata{grid-template-columns:1fr 1fr 1.6fr;align-items:start}
 .pata-forma{justify-self:end;text-align:right}
}
@media (min-width:1000px){
 .vr dl{columns:2;column-gap:5rem}
 .vr dl>div{break-inside:avoid}
 .por-in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:3rem;align-items:start}
 .por-rada{margin:0}
 .vys{min-height:9.6rem}
 .por-kameny{position:relative;top:auto;right:auto;width:min(100%,34rem);margin:-1rem auto .6rem}
 .visit{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:min(100vh,62rem)}
 .visit h2{font-size:min(5.6rem,6.7vw)}
 .vis-foto img{aspect-ratio:auto}
 .vis-text{padding:6rem max(3rem,6vw);align-self:center}
  /* týden jako panorama: výška sloupce = jak dlouho je otevřeno, dnešek má barvu další sekce */
 .hours{padding-bottom:0}
 .hours table{display:block}
 .hours tbody{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;align-items:end}
 .hours tr{display:flex;flex-direction:column;justify-content:space-between;gap:1.2rem;min-height:15.5rem;padding:1.3rem 1.2rem 1.6rem;background:rgb(255 255 255/.36);border-radius:1.25rem 1.25rem 0 0}
 .hours tr[data-d="6"]{min-height:8.6rem}
 .hours tr[data-d="0"]{min-height:6.4rem;background:rgb(255 255 255/.14)}
 .hours th,.hours td{padding:0;border:0;text-align:left}
 .hours th{font:400 1.75rem/1.1 var(--display)}
 .hours tr.today{background:var(--ink);color:#fcf8fa}
 .hours tr.today th{font-weight:400}
 .hours tr.today th::after{display:inline;content:" · dnes";font:400 1.06rem/1 'Jost',sans-serif}
 .book h2 em{display:inline}
 .book-kamen{position:absolute;right:3%;bottom:6%;width:min(30vw,28rem);margin:0}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* SCÉNA (jen s .oscena): úvodní film přejde do plátna WebGL (opal.js), obří opál zůstane na místě, plocha pod ním se přelévá
   přes fialovou, růžovou, tyrkysovou a mléčnou a každé světlo je jedno ošetření. Výšky drží opal.js: BODY a KONEC. */
.oscena .os-fade{display:none}
.oscena .sv{z-index:1;height:568vh;height:568svh;margin-top:-136vh;margin-top:-136svh}
.oscena .sv-kotva{top:calc(84vh + 84px);top:calc(84svh + 84px)}
.oscena .sv-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;visibility:hidden;opacity:0;background:#33143a}
.oscena .sv-pin.is-on{visibility:visible}
.oscena .sv-c{position:absolute;inset:0;display:block;width:100%;height:100%}
.oscena .sv-uvod,.oscena .kap{position:absolute;inset:0;z-index:1;background:none;overflow:visible;display:block;opacity:0;pointer-events:none}
.oscena .sv-uvod{color:#fcf8fa}
.oscena .kapitoly{position:absolute;inset:0;margin:0}
.oscena .kap-kamen{display:none}
.oscena .kap.is-akt{pointer-events:auto}
.oscena .ra{clip-path:inset(-.16em -.06em -.24em -.06em)}
.oscena .ra>span{display:block;will-change:transform}
.oscena .kap-text{will-change:opacity,transform}
.oscena .book-kamen{display:none}
.oscena .book .sv-c{top:auto;bottom:0;height:100vh;height:100svh;z-index:0}
.top.v-sc{background:transparent;border-color:transparent}
.top.v-sc.sv-tm .brand,.top.v-sc.sv-tm nav a{color:#fcf8fa}
.top.v-sc.sv-tm .brand small{color:#f1b8d8}
.top.v-sc.sv-tm .btn-sm{background:#fcf8fa;color:var(--plum)}
.top.v-sc:not(.sv-tm) .brand small{color:var(--plum)}
@media (max-width:759px),(max-aspect-ratio:21/20){
 .oscena .book{padding-bottom:min(96vw,34rem)}
 .oscena .sv-uvod,.oscena .kap{padding:5.4rem 1.25rem 0}
 .oscena .sv-uvod h2{font-size:clamp(2.6rem,12.6vw,5.4rem)}
 .oscena .kap h3{font-size:clamp(2.9rem,14.2vw,6rem);margin-bottom:.8rem}
 .oscena .kap-text p{font-size:1.06rem}
 .oscena .kap-text .kap-data{font-size:1.55rem;margin:.6rem 0 .1rem}
}
@media (min-width:760px) and (min-aspect-ratio:21/20){
 .oscena .sv-uvod,.oscena .kap{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:5rem 0 2rem 3rem;width:60%}
 .oscena .kap h3{font-size:min(8.8vw,18vh);margin-bottom:1.6rem;align-self:auto}
 .oscena .kap-text{align-self:auto}
 .oscena .kap-text p{font-size:1.22rem;max-width:26em}
 .oscena .kap-text .kap-data{font-size:2.1rem;margin:1.2rem 0 .5rem}
 .oscena .sv-veta{font-size:1.22rem;max-width:27em}
 .oscena .sv-uvod h2{font-size:min(6.7vw,14vh);margin-bottom:2rem}
}
@media (min-width:760px) and (min-aspect-ratio:21/20) and (max-height:520px){
 .oscena .sv-uvod,.oscena .kap{padding-top:3.6rem;padding-bottom:.5rem}
 .oscena .kap h3{font-size:min(7vw,15vh);margin-bottom:.6rem}
 .oscena .kap-text p{font-size:1.06rem}
 .oscena .kap-text .kap-data{font-size:1.4rem;margin:.3rem 0 0}
 .oscena .sv-veta{font-size:1.06rem}
}
/* UVOD (ruční úprava 29. 10. 2026, generátory ji nepřepisují): stav „právě otevřeno“ jako štítek nad nadpisem,
   dvě tlačítka stejné výšky v jedné řadě (telefon pod sebou na celou šířku), pod nimi decentní odkazy. Mezery po 8 px, jedna levá osa. */
.hero{row-gap:0}
.hero .status{order:0;display:flex;width:fit-content;max-width:100%;align-items:center;margin:0 0 1.5rem;padding:.375rem .875rem .375rem .75rem;border-radius:1.25rem;
  border:1px solid color-mix(in srgb,currentColor 30%,transparent);background:color-mix(in srgb,currentColor 7%,transparent);font-size:.875rem;line-height:1.4}
.hero .open-now::before{width:.5rem;height:.5rem;margin-right:.5rem;vertical-align:.08em}
.hero h1{margin:0 0 1rem}
.hero .lead{margin:0 0 2rem;max-width:34em}
.hero .cta{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem;margin:0}
.hero .cta .btn{width:100%;min-height:3.25rem;padding:.75rem 1.5rem}
.hero-links{order:5;display:flex;flex-wrap:wrap;gap:0 1.5rem;margin:.5rem 0 0;font-size:.9375rem}
.hero-links a{display:inline-flex;align-items:center;min-height:2.75rem;color:var(--mute);font-weight:400;text-decoration-thickness:1px}
.hero-links a:hover{color:var(--plum)}
@media (min-width:760px){
.hero .cta{display:flex;flex-wrap:wrap;gap:1rem}
.hero .cta .btn{width:auto}
}
/* /UVOD */
/* HERO-OBRAZ (generuje vizitka/tools/hero_obraz.py) */
.hero-obraz{--ho-h:max(34rem,min(calc(100svh - 4.5rem),56.25vw))}
.ho-obraz{position:relative;margin:0;overflow:hidden}
.ho-obraz img{display:block;width:100%;height:auto;aspect-ratio:4/5;max-height:max(20rem,48svh);object-fit:cover;object-position:50% 80%}
@media (prefers-reduced-motion:no-preference){.ho-obraz img{animation:ho-zoom 1.2s cubic-bezier(.16,1,.3,1) both}}
@keyframes ho-zoom{from{transform:scale(1.04)}}
@media (max-width:1099px){
.hero-obraz{overflow-x:clip;padding-top:0}
.hero-obraz>.ho-obraz{grid-column:1/-1;width:100vw;max-width:none;margin:0 calc(50% - 50vw) 1.4rem}
}
@media (min-width:760px) and (max-width:1099px){
.ho-obraz img{aspect-ratio:16/9;max-height:60svh;object-position:50% 50%}
}
@media (min-width:1100px){
.hero-obraz{position:relative;isolation:isolate}
.hero-obraz>.ho-obraz{position:absolute;top:0;left:0;right:0;height:var(--ho-h);z-index:-1;margin:0}
.ho-obraz picture{display:contents}
.ho-obraz img{width:100%;height:100%;max-height:none;aspect-ratio:auto;object-position:var(--ho-pos,50% 50%)}
.ho-obraz::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgb(var(--ho-t) / .9) 0,rgb(var(--ho-t) / .72) 30%,rgb(var(--ho-t) / .25) 52%,rgb(var(--ho-t) / 0) 66%)}
}
@media (min-width:760px) and (max-width:1099px){.hero-obraz{grid-template-columns:minmax(0,1fr);padding-top:0}}
@media (min-width:1100px){
.hero-obraz{--ho-t:43 22 51;grid-template-columns:minmax(0,1fr);max-width:none;min-height:var(--ho-h);align-content:center;padding-top:0;padding-bottom:0}
.hero-obraz .hero-text{--ink:#fcf8fa;--mute:#eadcef;--plum:#f1b8d8;color:#fcf8fa;max-width:34rem}
.hero-obraz .hero-text h1{color:#fcf8fa}
.hero-obraz .hero-text h1 em{color:#f1b8d8}
.hero-obraz .btn{color:#2b1633}
.hero-obraz .btn:hover{background:#fcf8fa}
.hero-obraz .btn-ghost{color:#f1b8d8}
.hero-obraz .btn-ghost:hover{background:#f1b8d8;color:#2b1633}
.hero-obraz .open-now.is-open{color:#a6e3bd}
}
/* /HERO-OBRAZ */
/* FORMA-POLISH (generuje vizitka/tools/ukazky-polish.py) */
:where(html){scrollbar-color:#4a2158 #fcf8fa}
:where(input,textarea){caret-color:#4a2158}
:where(a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible){outline:3px solid #4a2158;outline-offset:3px}
:where(a){text-underline-offset:.2em}
:where(table,dd,time,data,[class*=cen],[class*=price],[class*=hod],[class*=hours],[class*=doba],[class*=kc]){font-variant-numeric:tabular-nums}
.sticky{bottom:calc(12px + env(safe-area-inset-bottom))}@media (max-width:759px){body{padding-bottom:calc(88px + env(safe-area-inset-bottom))}}
/* /FORMA-POLISH */
