/* Viperra Social Pro – vlastní hlavička a navigace */
.vsp-site-header{position:relative;width:100%;height:var(--vsp-nav-height);background:var(--vsp-nav-bg);color:var(--vsp-nav-text);z-index:99990;transition:transform .24s ease,box-shadow .24s ease;font-family:inherit}
.vsp-site-header *{box-sizing:border-box}
.vsp-site-header.is-sticky{position:sticky;top:0}
.admin-bar .vsp-site-header.is-sticky{top:32px}
.vsp-site-header.vsp-header-hidden{transform:translateY(-105%)}
.vsp-site-header.vsp-header-scrolled{box-shadow:0 8px 28px rgba(0,0,0,.34)}
.vsp-header-inner{width:min(100%,var(--vsp-nav-max));height:100%;margin:0 auto;padding:0 20px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:28px;overflow:visible}
.vsp-header-logo{min-width:0;display:flex;align-items:center}
.vsp-logo-link{display:inline-flex;align-items:center;text-decoration:none;color:var(--vsp-nav-text);font-weight:900;letter-spacing:.5px;white-space:nowrap}
.vsp-logo-link img{display:block;width:auto;max-width:290px;height:var(--vsp-nav-logo-height);object-fit:contain;object-position:left center}
.vsp-logo-text{font-size:24px;text-transform:uppercase}
.vsp-desktop-nav{height:100%;min-width:0;display:flex;align-items:stretch;justify-content:center}
.vsp-primary-menu{height:100%;display:flex;align-items:stretch;justify-content:center;gap:0;margin:0;padding:0;list-style:none}
.vsp-primary-menu>li{position:relative;display:flex;align-items:stretch;margin:0;padding:0}
.vsp-primary-menu a{display:flex;align-items:center;min-height:100%;padding:0 16px;color:var(--vsp-nav-text);text-decoration:none;font-size:13px;font-weight:800;line-height:1.15;text-transform:uppercase;letter-spacing:.25px;white-space:nowrap;border:0;transition:color .18s ease,background .18s ease}
.vsp-primary-menu>li>a:hover,.vsp-primary-menu>li.current-menu-item>a,.vsp-primary-menu>li.current-menu-ancestor>a,.vsp-primary-menu>li:hover>a{color:var(--vsp-nav-accent)}
/* Rodičovské odkazy zůstávají čisté bez šipek. Otevřené podmenu propojuje s rodičem růžový zobáček. */
.vsp-primary-menu .menu-item-has-children>a::after{display:none!important;content:none!important}
.vsp-primary-menu>li.menu-item-has-children::after{display:none!important;content:none!important}
.vsp-primary-menu .sub-menu{position:absolute;left:16px;top:100%;width:240px;margin:0;padding:0;list-style:none;background:var(--vsp-nav-sub-bg);border-top:2px solid var(--vsp-nav-accent);box-shadow:0 18px 42px rgba(0,0,0,.48);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .16s ease,transform .16s ease,visibility .16s ease;z-index:20}
.vsp-primary-menu>li>.sub-menu::before{content:"";position:absolute;left:0;top:-14px;width:14px;height:14px;background:var(--vsp-nav-accent);clip-path:polygon(0 100%,0 0,100% 100%);pointer-events:none}
.vsp-primary-menu .sub-menu li{position:relative;margin:0;padding:0}
.vsp-primary-menu .sub-menu a{min-height:46px;padding:12px 15px;border-bottom:1px solid var(--vsp-nav-sub-border);font-size:12px;text-transform:none;white-space:normal;color:var(--vsp-nav-text)}
.vsp-primary-menu .sub-menu li:last-child>a{border-bottom:0}
.vsp-primary-menu .sub-menu a:hover{background:#222228;color:var(--vsp-nav-accent)}
.vsp-primary-menu li:hover>.sub-menu,.vsp-primary-menu li:focus-within>.sub-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.vsp-primary-menu .sub-menu .sub-menu{left:100%;top:0}
.vsp-header-user{display:flex;align-items:center;justify-content:flex-end;min-width:max-content;overflow:visible}
.vsp-header-user .vsp-menu{z-index:99995}
.vsp-hamburger,.vsp-mobile-close{border-radius:0;color:var(--vsp-nav-text);cursor:pointer}
.vsp-hamburger{display:none;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.12);background:#18181d;padding:var(--vsp-nav-mobile-padding);transition:border-color .18s ease,color .18s ease}
.vsp-hamburger:hover{border-color:var(--vsp-nav-accent);color:var(--vsp-nav-accent)}
.vsp-hamburger svg{display:block;width:var(--vsp-nav-mobile-icon);height:var(--vsp-nav-mobile-icon);fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.vsp-mobile-close{border:0;background:transparent}
.vsp-mobile-backdrop,.vsp-mobile-drawer{display:none}

/* Mobilní režim se zapíná JS podle breakpointu nastaveného v administraci. */
.vsp-site-header.is-mobile-layout{height:var(--vsp-nav-mobile-height);--vsp-nav-mobile-button:calc(var(--vsp-nav-mobile-icon) + (var(--vsp-nav-mobile-padding) * 2))}
.vsp-site-header.is-mobile-layout .vsp-header-inner{grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:0 7px}
.vsp-site-header.is-mobile-layout .vsp-hamburger{display:inline-flex;width:var(--vsp-nav-mobile-button);height:var(--vsp-nav-mobile-button);min-width:var(--vsp-nav-mobile-button);flex:0 0 var(--vsp-nav-mobile-button)}
.vsp-site-header.is-mobile-layout .vsp-desktop-nav{display:none}
.vsp-site-header.is-mobile-layout .vsp-header-logo{justify-content:flex-start;overflow:hidden;min-width:0}
.vsp-site-header.is-mobile-layout .vsp-logo-link{min-width:0;max-width:100%}
.vsp-site-header.is-mobile-layout .vsp-logo-link img{height:var(--vsp-nav-mobile-logo-height);max-width:clamp(78px,32vw,150px)}
.vsp-site-header.is-mobile-layout .vsp-logo-text{font-size:18px;overflow:hidden;text-overflow:ellipsis}
.vsp-site-header.is-mobile-layout .vsp-header-user{min-width:0;gap:3px;flex-wrap:nowrap}
.vsp-site-header.is-mobile-layout .vsp-header-user .vsp-menu{min-width:0}
.vsp-site-header.is-mobile-layout .vsp-header-user .vsp-actions{gap:3px;flex-wrap:nowrap}
.vsp-site-header.is-mobile-layout .vsp-header-user .vsp-dropdown-wrap{height:var(--vsp-nav-mobile-button)}
.vsp-site-header.is-mobile-layout .vsp-header-user .vsp-action,
.vsp-site-header.is-mobile-layout .vsp-header-user .vsp-avatar-button,
.vsp-site-header.is-mobile-layout .vsp-header-user .vsp-login-trigger{width:var(--vsp-nav-mobile-button)!important;height:var(--vsp-nav-mobile-button)!important;min-width:var(--vsp-nav-mobile-button)!important;flex:0 0 var(--vsp-nav-mobile-button);padding:var(--vsp-nav-mobile-padding)!important}
.vsp-site-header.is-mobile-layout .vsp-header-user .vsp-action svg,
.vsp-site-header.is-mobile-layout .vsp-header-user .vsp-login-trigger svg{width:var(--vsp-nav-mobile-icon)!important;height:var(--vsp-nav-mobile-icon)!important;min-width:var(--vsp-nav-mobile-icon)!important;min-height:var(--vsp-nav-mobile-icon)!important}
.vsp-site-header.is-mobile-layout .vsp-header-user .vsp-info-trigger svg{width:var(--vsp-nav-mobile-icon)!important;height:var(--vsp-nav-mobile-icon)!important}
.vsp-site-header.is-mobile-layout .vsp-header-user .vsp-avatar-button{padding:0!important}
.vsp-site-header.is-mobile-layout .vsp-header-user .vsp-avatar-button img{width:100%!important;height:100%!important}
.vsp-site-header.is-mobile-layout .vsp-header-user .vsp-login-text{display:none}
.vsp-site-header.is-mobile-layout .vsp-mobile-backdrop{display:block;position:fixed;inset:0;background:rgba(4,4,7,.76);backdrop-filter:blur(4px);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease;z-index:2147482500}
/* Safari na iOS nesmí zavřený spodní panel pouze odsunout transformací.
   Dynamický visual viewport může část fixed prvku znovu odhalit. Panel je proto
   v zavřeném stavu skutečně vyřazen z vykreslování a připojí se až po otevření. */
.vsp-site-header.is-mobile-layout .vsp-mobile-drawer{display:none;position:fixed;left:0;right:0;top:auto;bottom:0;width:100%;height:auto;max-height:min(82vh,680px);background:#18181d;color:#fff;z-index:2147483100;overflow:auto;overscroll-behavior:contain;box-shadow:0 -18px 55px rgba(0,0,0,.55);padding-bottom:max(10px,env(safe-area-inset-bottom));visibility:hidden;pointer-events:none}
.vsp-site-header.is-mobile-layout.vsp-nav-open .vsp-mobile-backdrop{opacity:1;visibility:visible;pointer-events:auto}
.vsp-site-header.is-mobile-layout.vsp-nav-open .vsp-mobile-drawer[aria-hidden="false"]{display:block;visibility:visible;pointer-events:auto}
.vsp-mobile-drawer-head{position:sticky;top:0;z-index:5;min-height:58px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;background:var(--vsp-nav-accent);color:#fff;border:0}
.vsp-mobile-drawer-head strong{font-size:15px;font-weight:900;color:#fff}
.vsp-mobile-close{width:34px;height:34px;padding:0;font-size:27px;line-height:1;color:#fff}
.vsp-mobile-nav{padding:0}
.vsp-mobile-menu,.vsp-mobile-menu .sub-menu{margin:0;padding:0;list-style:none}
.vsp-mobile-menu li{position:relative;margin:0;padding:0;border-bottom:1px solid #2d2d34}
.vsp-mobile-menu a{display:flex;align-items:center;min-height:46px;padding:12px 52px 12px 15px;color:#fff;text-decoration:none;font-size:12px;font-weight:800;line-height:1.3;background:#18181d}
.vsp-mobile-menu a:hover,.vsp-mobile-menu .current-menu-item>a,.vsp-mobile-menu .current-menu-ancestor>a{color:var(--vsp-nav-accent)}
.vsp-mobile-menu .sub-menu{display:none;padding:0 0 0 16px;border-top:1px solid #25252b;background:#141418}
.vsp-mobile-menu .sub-menu.is-open{display:block}
.vsp-mobile-menu .sub-menu li{border-bottom:0}
.vsp-mobile-menu .sub-menu a{min-height:43px;padding:9px 48px 9px 18px;font-size:12px;font-weight:650;color:#d6d6dc;background:#141418}
.vsp-submenu-toggle{position:absolute;right:4px;top:1px;width:44px;height:44px;border:0;border-radius:0;background:transparent;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.vsp-submenu-toggle::before{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .18s ease}
.vsp-submenu-toggle[aria-expanded="true"]::before{transform:rotate(225deg) translate(-1px,-1px)}
html.vsp-nav-lock,body.vsp-nav-lock{overflow:hidden!important}

/* Účetní panel v mobilním rozložení zůstává pohodlný i při breakpointu nad 768 px. */
.vsp-site-header.is-mobile-layout .vsp-account-panel,.vsp-site-header.is-mobile-layout .vsp-notifications-panel,.vsp-site-header.is-mobile-layout .vsp-messages-panel{position:fixed;left:0;right:0;top:auto;bottom:0;width:100%;max-width:none;max-height:min(82vh,680px);overflow:auto;padding-bottom:max(10px,env(safe-area-inset-bottom));animation:vspNavUp .22s ease}
.vsp-site-header.is-mobile-layout .vsp-dropdown-notch{display:none!important}
.vsp-site-header.is-mobile-layout .vsp-account-backdrop.is-open,.vsp-site-header.is-mobile-layout .vsp-notifications-backdrop.is-open,.vsp-site-header.is-mobile-layout .vsp-messages-backdrop.is-open{display:block}
.vsp-site-header.is-mobile-layout .vsp-panel-head .vsp-close,.vsp-site-header.is-mobile-layout .vsp-notifications-head .vsp-close,.vsp-site-header.is-mobile-layout .vsp-messages-head .vsp-close{display:block}
@keyframes vspNavUp{from{transform:translateY(100%)}to{transform:translateY(0)}}

@media(max-width:782px){.admin-bar .vsp-site-header.is-sticky{top:46px}}
@media(max-width:360px){
 .vsp-site-header.is-mobile-layout .vsp-header-inner{gap:4px;padding-left:5px;padding-right:5px}
 .vsp-site-header.is-mobile-layout .vsp-header-user,
 .vsp-site-header.is-mobile-layout .vsp-header-user .vsp-actions{gap:2px}
 .vsp-site-header.is-mobile-layout .vsp-logo-link img{max-width:30vw}
}

/* Oznámení jako spodní panel i při vlastním breakpointu hlavičky nad 768 px. */
.vsp-site-header.is-mobile-layout .vsp-notifications-head{position:sticky;top:0;z-index:2;min-height:60px;padding:13px 16px}
.vsp-site-header.is-mobile-layout .vsp-notifications-body{max-height:none;overflow:visible}
.vsp-site-header.is-mobile-layout .vsp-notification-item{grid-template-columns:48px minmax(0,1fr) 8px;min-height:80px;padding:14px 16px}
.vsp-site-header.is-mobile-layout .vsp-notifications-footer{position:sticky;bottom:0;padding-bottom:max(12px,env(safe-area-inset-bottom))}


/* Zprávy jako spodní panel i při vlastním breakpointu hlavičky nad 768 px. */
.vsp-site-header.is-mobile-layout .vsp-messages-head{position:sticky;top:0;z-index:2;min-height:60px;padding:13px 16px}
.vsp-site-header.is-mobile-layout .vsp-messages-body{max-height:none;overflow:visible;touch-action:pan-y}
.vsp-site-header.is-mobile-layout .vsp-message-item{grid-template-columns:48px minmax(0,1fr) 8px;min-height:80px;padding:14px 16px}
.vsp-site-header.is-mobile-layout .vsp-messages-footer{position:sticky;bottom:0;padding-bottom:max(12px,env(safe-area-inset-bottom))}

/* Viperra Social Pro 0.6.32-test – hranatější desktopové hlavní menu.
   Mobilní navigace ani stávající hover/aktivní barvy se nemění. */
.vsp-site-header:not(.is-mobile-layout) .vsp-desktop-nav {
    align-items: center;
}

.vsp-site-header:not(.is-mobile-layout) .vsp-primary-menu {
    height: 46px;
    min-height: 46px;
    align-items: stretch;
    border: 1px solid rgba(255, 255, 255, .10);
    background: #111115;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .018);
}

.vsp-site-header:not(.is-mobile-layout) .vsp-primary-menu > li {
    height: 100%;
    border-right: 1px solid rgba(255, 255, 255, .10);
}

.vsp-site-header:not(.is-mobile-layout) .vsp-primary-menu > li:last-child {
    border-right: 0;
}

.vsp-site-header:not(.is-mobile-layout) .vsp-primary-menu > li > a {
    min-height: 44px;
    padding-right: clamp(12px, 1.15vw, 18px);
    padding-left: clamp(12px, 1.15vw, 18px);
    font-family: "Oswald", "Arial Narrow", Arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .04em;
}



/* Viperra Social Pro 0.6.34-test: plovoucí návrat nahoru nesmí překrývat ovládání mobilního menu. */
html.vsp-nav-lock .vsp-nav-hidden-float,
body.vsp-nav-lock .vsp-nav-hidden-float,
html.vsp-nav-lock #back-to-top,
body.vsp-nav-lock #back-to-top,
html.vsp-nav-lock #scrollUp,
body.vsp-nav-lock #scrollUp,
html.vsp-nav-lock .back-to-top,
body.vsp-nav-lock .back-to-top,
html.vsp-nav-lock .back_to_top,
body.vsp-nav-lock .back_to_top,
html.vsp-nav-lock .backTop,
body.vsp-nav-lock .backTop,
html.vsp-nav-lock .back-top,
body.vsp-nav-lock .back-top,
html.vsp-nav-lock .back-top-button,
body.vsp-nav-lock .back-top-button,
html.vsp-nav-lock .to-top,
body.vsp-nav-lock .to-top,
html.vsp-nav-lock .go-top,
body.vsp-nav-lock .go-top,
html.vsp-nav-lock .scroll-top,
body.vsp-nav-lock .scroll-top,
html.vsp-nav-lock .scroll-to-top,
body.vsp-nav-lock .scroll-to-top,
html.vsp-nav-lock .scrolltop,
body.vsp-nav-lock .scrolltop,
html.vsp-nav-lock .scrollUp,
body.vsp-nav-lock .scrollUp,
html.vsp-nav-lock .bunyad-scroll-top,
body.vsp-nav-lock .bunyad-scroll-top,
html.vsp-nav-lock .ts-scroll-top,
body.vsp-nav-lock .ts-scroll-top,
html.vsp-nav-lock .smartmag-scroll-top,
body.vsp-nav-lock .smartmag-scroll-top,
html.vsp-nav-lock [data-scroll-top],
body.vsp-nav-lock [data-scroll-top],
html.vsp-nav-lock [data-back-to-top],
body.vsp-nav-lock [data-back-to-top] {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}
