/* Mobile navigation grows from the Menu pill; touch gets the same light sweep. */
.mobile-menu-backdrop{display:none}
@media(max-width:1250px){
 body.mobile-menu-open{overflow:hidden}
 .mobile-menu{z-index:65}
 .mobile-menu summary{position:relative;z-index:4;min-width:111px;min-height:46px;gap:24px;padding:12px 20px;border:1px solid var(--paper);background:var(--paper);color:var(--ink);backdrop-filter:none;user-select:none;-webkit-tap-highlight-color:transparent}
 .mobile-menu summary .menu-sign{display:block;font-size:23px;line-height:20px;transition:transform .5s var(--motion-ease)}
 .mobile-menu[open] summary .menu-sign{transform:rotate(45deg)}
 .mobile-menu[open] summary{position:fixed;top:18px;right:var(--gutter)}
 .mobile-menu summary:active,.mobile-menu[open] summary{background:var(--ink);color:var(--paper)}
 .mobile-menu summary:active::before,.mobile-menu[open] summary::before{transform:translateY(0) scaleX(1);border-radius:0}
 .mobile-menu nav{position:fixed;z-index:3;right:var(--gutter);top:77px;width:calc(100vw - var(--gutter)*2);max-width:440px;max-height:calc(100dvh - 108px);overflow:auto;overscroll-behavior:contain;padding:25px 20px 21px;border:1px solid #ffffff35;border-radius:24px;background:rgba(23,29,27,.96);color:var(--paper);backdrop-filter:blur(22px);box-shadow:0 25px 60px #08100f55;display:block;transform-origin:calc(100% - 54px) 0;clip-path:inset(0 0 0 0 round 24px)}
 .mobile-menu nav{scrollbar-width:thin;scrollbar-color:#a8b5a755 transparent}
 .mobile-menu nav::-webkit-scrollbar{width:4px;background:transparent}
 .mobile-menu nav::-webkit-scrollbar-thumb{background:#a8b5a755;border-radius:10px}
 .mobile-menu-backdrop{display:block;position:fixed;z-index:1;inset:0;width:100vw;height:100dvh;background:#0b131060;cursor:default;border:0;border-radius:0;backdrop-filter:blur(3px);-webkit-tap-highlight-color:transparent}
 .mobile-menu:not([open])>.mobile-menu-backdrop,.mobile-menu:not([open])>nav{display:none}
 .menu-eyebrow{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:#afb6ae;margin:0 10px 20px}
 .mobile-menu-links{display:grid;gap:5px}
 .mobile-menu .mobile-menu-links a{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:56px;padding:12px 15px;border-radius:30px;font-size:clamp(22px,6.4vw,30px);line-height:1.05;letter-spacing:-.045em;border:1px solid #ffffff23;color:var(--paper);transition:color .24s,transform .65s var(--motion-ease),opacity .5s;-webkit-tap-highlight-color:transparent}
 .mobile-menu-links a::before{content:'';position:absolute;inset:-1px;z-index:-1;background:var(--paper);border-radius:50%;transform:translateY(112%) scaleX(.8);transition:transform .45s var(--motion-ease),border-radius .45s}
 .mobile-menu .mobile-menu-links a:hover,.mobile-menu .mobile-menu-links a:focus-visible,.mobile-menu .mobile-menu-links a:active,.mobile-menu .mobile-menu-links a.is-pressed{color:var(--ink)}
 .mobile-menu-links a:hover::before,.mobile-menu-links a:focus-visible::before,.mobile-menu-links a:active::before,.mobile-menu-links a.is-pressed::before{transform:translateY(0) scaleX(1);border-radius:0}
 .menu-link-arrow{position:relative;display:block;flex-shrink:0;width:22px;height:25px;overflow:hidden;font-size:24px;line-height:25px}
 .menu-link-arrow::before,.menu-link-arrow::after{content:none;position:absolute;inset:0;transition:transform .5s var(--motion-ease)}
 .menu-link-arrow::after{transform:translate(-120%,120%)}
 .mobile-menu-links a:hover .menu-link-arrow::before,.mobile-menu-links a.is-pressed .menu-link-arrow::before,.mobile-menu-links a:focus-visible .menu-link-arrow::before{transform:translate(120%,-120%)}
 .mobile-menu-links a:hover .menu-link-arrow::after,.mobile-menu-links a.is-pressed .menu-link-arrow::after,.mobile-menu-links a:focus-visible .menu-link-arrow::after{transform:none}
 .mobile-menu-contact{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:22px 10px 0;padding-top:17px;border-top:1px solid #ffffff2e}
 .mobile-menu-contact>span{grid-column:1/-1;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#afb6ae}
 .mobile-menu .mobile-menu-contact a{padding:9px 0;font-size:12px;white-space:nowrap}
 /* JS keeps details open for the exit animation. Native details remains usable without JS. */
 .mobile-menu.menu-enhanced nav{opacity:0;transform:translateY(-18px) scale(.94);clip-path:inset(0 0 100% 85% round 28px);transition:clip-path .65s var(--motion-ease),transform .65s var(--motion-ease),opacity .3s}
 .mobile-menu.menu-enhanced .mobile-menu-backdrop{opacity:0;transition:opacity .45s}
 .mobile-menu.menu-enhanced .mobile-menu-links a,.mobile-menu.menu-enhanced .menu-eyebrow,.mobile-menu.menu-enhanced .mobile-menu-contact{opacity:0;translate:0 18px;transition:translate .65s var(--motion-ease),opacity .45s,color .24s;transition-delay:0s}
 .mobile-menu.menu-enhanced.is-open nav{opacity:1;transform:none;clip-path:inset(0 0 0 0 round 24px)}
 .mobile-menu.menu-enhanced.is-open .mobile-menu-backdrop{opacity:1}
 .mobile-menu.menu-enhanced.is-open .mobile-menu-links a,.mobile-menu.menu-enhanced.is-open .menu-eyebrow,.mobile-menu.menu-enhanced.is-open .mobile-menu-contact{opacity:1;translate:0 0;transition-delay:calc(.11s + var(--menu-i,0)*.045s),calc(.11s + var(--menu-i,0)*.045s),0s}
 .mobile-menu.menu-enhanced.is-closing nav{transition-duration:.4s}
 .mobile-menu.menu-enhanced.is-closing .mobile-menu-links a,.mobile-menu.menu-enhanced.is-closing .menu-eyebrow,.mobile-menu.menu-enhanced.is-closing .mobile-menu-contact{transition-duration:.25s;transition-delay:0s}
}
@media(max-width:370px){.mobile-menu nav{padding:20px 14px 16px}.mobile-menu .mobile-menu-links a{min-height:50px}.menu-eyebrow{margin-bottom:15px}.mobile-menu-contact{margin-top:17px}}
@media(prefers-reduced-motion:reduce){.mobile-menu nav,.mobile-menu *,.mobile-menu *::before,.mobile-menu *::after{transition:none!important;animation:none!important}}

@media(max-width:1250px){body.mobile-menu-open .nav{z-index:200}body.mobile-menu-open .fixed-contact{visibility:hidden;pointer-events:none}.mobile-menu nav{padding-bottom:max(21px,env(safe-area-inset-bottom));max-height:calc(100dvh - 95px)}}

/* Keep the original public price list and legal documents easy to reach. */
.info-menu{position:relative}.info-menu>summary{display:flex;align-items:center;gap:12px;list-style:none;cursor:pointer;min-height:44px}.info-menu>summary::-webkit-details-marker{display:none}.info-menu>summary>span{font-size:19px;transition:rotate .3s}.info-menu[open]>summary>span{rotate:45deg}
.info-menu-panel{position:absolute;right:0;top:calc(100% + 10px);width:315px;padding:15px 20px;background:#19211deb;color:var(--paper);border:1px solid #ffffff35;border-radius:15px;backdrop-filter:blur(20px);box-shadow:0 20px 50px #0004}.nav-links .info-menu-panel a{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 0;font-size:12px;line-height:1.5;letter-spacing:0}.info-menu-panel a+a{border-top:1px solid #ffffff22}.info-menu-panel .motion-arrow{width:28px;height:28px;flex-shrink:0}.info-menu[open] .info-menu-panel{animation:documents-unfold .35s var(--motion-ease) both}
.footer-documents{display:flex;align-items:center;gap:14px 28px;flex-wrap:wrap;border-top:1px solid #ffffff28;padding:23px 0 30px;margin-top:-15px}.footer-documents>p{flex-basis:100%;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#a5b0a7;margin-bottom:3px}.footer-documents>a{font-size:11px;line-height:1.6;display:flex;align-items:center;gap:11px}.footer-documents .motion-arrow{width:25px;height:25px}
@keyframes documents-unfold{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(max-width:1250px){
 .mobile-menu-documents{border-top:1px solid #ffffff2e;padding-top:20px;margin:23px 10px 0}.mobile-menu-documents>p{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:#afb6ae;margin-bottom:12px}.mobile-menu .mobile-menu-documents a{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0;font-size:13px;line-height:1.5;min-height:44px}.mobile-menu-documents a+a{border-top:1px solid #ffffff16}.mobile-menu-documents .motion-arrow{width:29px;height:29px;flex-shrink:0}.mobile-menu:not(.is-open) .mobile-menu-documents{opacity:0}.mobile-menu.is-open .mobile-menu-documents{opacity:1;transition:opacity .45s .2s}.footer-documents{align-items:flex-start;flex-direction:column;gap:15px;padding-bottom:30px}.footer-documents>p{flex-basis:auto}.footer-documents>a{font-size:11px}
}
@media(prefers-reduced-motion:reduce){.info-menu-panel{animation:none!important}}

/* Give desktop navigation the same clear reading size as the page controls. */
@media(min-width:1051px){
 .nav{gap:clamp(20px,1.5vw,36px)}
 .nav-links{gap:clamp(18px,1.4vw,30px);font-size:clamp(16px,1.05vw,18px);line-height:1.25;white-space:nowrap}
 .nav-links>a,.info-menu>summary{display:flex;align-items:center;min-height:44px;padding:10px 2px}
 .info-menu-panel{width:360px;padding:15px 22px;white-space:normal}
 .nav-links .info-menu-panel a{font-size:15px;min-height:44px}
 .nav-contact{font-size:13px;line-height:1.3;gap:5px;padding:12px 20px}
}

/* ux-164 (Claude, 7. 11. 2026): živé hlavné sekcie menu – rolujúci text aj na rozbaľovacích položkách (titulka.js). */
.nav-links .info-menu>summary>.roll-link{font-size:inherit;line-height:1.15;rotate:none!important;transition:none}
.nav-links .info-menu>summary:is(:hover,:focus-visible) .roll-link>span,.nav-links .info-menu-panel a:is(:hover,:focus-visible) .roll-link>span{transform:translateY(-100%)}
.nav-links .info-menu>summary>span[aria-hidden="true"]:not(.roll-link){display:inline-block;transition:rotate .45s cubic-bezier(.22,.72,.16,1),color .3s}
.nav-links .info-menu>summary:hover>span[aria-hidden="true"]:not(.roll-link){rotate:90deg}
.nav-links .info-menu[open]>summary>span[aria-hidden="true"]:not(.roll-link){rotate:45deg;color:#d9c8a6}
.nav-links .info-menu[open]>summary{color:#d9c8a6}
.nav-links .info-menu>summary{position:relative}
.nav-links .info-menu>summary::after{content:'';position:absolute;left:2px;right:2px;bottom:6px;height:1px;background:#d9c8a6;transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.22,.72,.16,1)}
.nav-links .info-menu[open]>summary::after{transform:scaleX(1)}
.nav-links .info-menu[open] .info-menu-panel>*{animation:nav-item-in .5s calc(.06s + var(--nav-i,0)*.05s) cubic-bezier(.22,.72,.16,1) both}
.nav-links .info-menu-panel a .roll-link{flex:1 1 auto;min-width:0}
.nav-links .info-menu-panel a .roll-link>span{white-space:normal}
.nav-links .info-menu-panel a .roll-link>span::after{white-space:normal;width:100%}
.nav-links .info-menu-panel a .motion-arrow,.nav-links .info-menu-panel a>span[aria-hidden]:not(.roll-link){transition:transform .45s cubic-bezier(.22,.72,.16,1)}
.nav-links .info-menu-panel a:hover .motion-arrow,.nav-links .info-menu-panel a:hover>span[aria-hidden]:not(.roll-link){transform:translateX(4px)}
.nav-links .info-menu-panel>p{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#abb8ad;margin:9px 0}
.nav-links .info-menu-panel a:hover{color:#d9c8a6}
.nav-links .info-menu-panel a::after{display:none}
@keyframes nav-item-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.nav-links .info-menu[open] .info-menu-panel>*{animation:none}.nav-links .info-menu>summary::after{transition:none}}
