/* Original logo, unchanged lettering and softly feathered navigation. */
.site-header { position: absolute; inset: calc(16px + var(--admin-bar-height)) 0 auto; z-index: 5; display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; }
/* Anchor the shared header to the viewport, independently of scrollbar width. */
.site-header.container { --header-width:min(calc(100vw - 12vw),var(--content)); width:var(--header-width); margin-inline:auto; left:0; right:calc(100% - 100vw); }
.brand { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.brand-logo { width: 108px; height: 108px; object-fit: contain; }
.main-nav { margin-top: 10px; position: relative; isolation: isolate; padding: 0 38px; width: 524.8125px; flex-shrink: 0; }
.main-nav ul { display: flex; justify-content: space-between; gap: 0; width: calc(100% + 80px); list-style: none; padding: 0; margin: 0 0 0 -120px; }
.main-nav li { position:relative; width:max-content; }
/* Invisible reference labels preserve the accepted track widths before the first paint. */
.main-nav li::before { content:attr(data-layout-label); display:block; width:max-content; visibility:hidden; font:400 14px/31px Impact,'Arial Narrow',sans-serif; text-transform:uppercase; }
.main-nav a { display: block; position:absolute; top:0; left:50%; transform:translateX(-50%); width:max-content; padding: 9.5px 0; line-height:24px; font-family: Impact, 'Arial Narrow', sans-serif; font-size:var(--bar-font-size); font-weight:400; text-transform: uppercase; white-space: nowrap; }
.main-nav a[aria-current] { color: var(--accent); text-decoration: underline; text-underline-offset: 7px; }
.menu-toggle { display: none; }

/* Keep the original lettering crisp without increasing header dimensions. */

/* Navigation width is the measured existing strip; distribute links across its extended backdrop. */
/* Extend only the navigation backdrop left; link positions and right edge stay fixed. */
.main-nav::before {
    content: ''; position: absolute; inset: calc(-26px - var(--admin-bar-height)) 0 0 -160px; z-index: -1;
    background: linear-gradient(90deg, transparent, #fffffff5 9%, #fff 18%, #fff 82%, #fffffff5 91%, transparent);
    pointer-events: none;
}


/* The backdrop extends 26px above the original link row; center that row in it. */
@media (min-width:901px) { .main-nav ul { position:relative; top:calc(-26px / 2); } }

/* One desktop bar geometry for every shared header. */
@media (min-width:901px) {
    .main-nav { padding-bottom:12px; }
    .main-nav a { padding-block:3.5px; }
    .main-nav li[data-layout-label="O nas"] > a { transform:translateX(calc(-50% + 5.72265625px)); }
    .main-nav::before { bottom:12px; }
}
/* Social links occupy only the existing free space; navigation stays in place. */
.header-social { position:absolute; right:8px; top:1.5px; display:flex; align-items:center; gap:8px; }
.header-social a { display:flex; align-items:center; justify-content:center; width:22px; height:22px; color:#8F1D32; }
.header-social svg { display:block; width:22px; height:22px; flex:none; }
.header-social a:last-child { position:relative; left:-8px; }
.header-social a:last-child svg { position:relative; left:-0.25px; pointer-events:none; }
@media (max-width:900px) { .header-social { right:112px; top:23.5px; } }
@media (max-width:600px) { .header-social { right:46px; top:calc(50% - 11px); } }

/* One camp destination in the shared navigation; retain the 57px desktop backdrop. */
.has-camp-nav .nav-camp .nav-camp-link { display:flex; align-items:center; justify-content:center; gap:10px; width:290px; height:36px; padding:0 16px; border-radius:999px; background:#8F1D32; color:#fff; text-decoration:none; font-family:Impact,'Arial Narrow',sans-serif; font-weight:400; }
.has-camp-nav .nav-camp-link svg { display:block; width:30px; height:26px; flex:none; }
.has-camp-nav .main-nav li[data-layout-label] > a { transform:none; }
@media (min-width:1281px) {
    .has-camp-nav .main-nav { width:max-content; height:43px; padding-inline:38px 76px; }
    .has-camp-nav .main-nav ul { width:max-content; height:31px; margin:0; gap:20px; align-items:center; }
    .has-camp-nav .main-nav li::before { display:none; }
    .has-camp-nav .main-nav a { position:static; transform:none; }
    .has-camp-nav .main-nav::before { left:-26px; }
    .has-camp-nav .main-nav .nav-camp::before { content:''; display:block; visibility:visible; position:absolute; left:-11px; top:6px; width:1px; height:24px; background:#8F1D32; }
}
@media (min-width:901px) and (max-width:1280px) {
    .has-camp-nav { align-items:center; }
    .has-camp-nav .menu-toggle { display:flex; align-self:flex-start; margin-top:11px; align-items:center; gap:14px; background:#fff; border:1px solid #ddd; padding:12px; cursor:pointer; }
    .has-camp-nav .main-nav { display:none; position:absolute; top:82px; right:0; width:320px; height:auto; margin:0; padding:12px 24px; background:#fff; }
    .has-camp-nav .main-nav.is-open { display:block; }
    .has-camp-nav .main-nav::before { display:none; }
    .has-camp-nav .main-nav ul { position:static; display:block; width:auto; margin:0; }
    .has-camp-nav .main-nav li { width:auto; }
    .has-camp-nav .main-nav li::before { display:none; }
    .has-camp-nav .main-nav a { position:static; transform:none; width:auto; padding:14px 0; line-height:24px; }
    .has-camp-nav .header-social { right:112px; top:23.5px; }
}
@media (max-width:1280px) {
    .has-camp-nav .main-nav { width:min(320px,calc(100vw - 36px)); }
    .has-camp-nav .nav-camp { margin:6px 0; }
    .has-camp-nav .nav-camp .nav-camp-link { position:static; transform:none; width:100%; height:40px; padding:0 12px; gap:8px; font-size:18px; }
    .has-camp-nav .nav-camp-link svg { width:24px; height:24px; }
}

@media (max-width:767px) {
    .has-camp-nav .nav-camp .nav-camp-link { width:calc(100% + 24px); margin-inline:-12px; }
}
