/*
 * Dysk i Spolka — PL navbar geometry stability lock.
 * Scope: prevent PL/EN switch, phone and alarm CTA from resizing between page owners.
 * Loaded after page CSS; intentionally only touches header navigation geometry.
 */
#dsk-navigation[data-dsk-nav-shell],
#dsk-navigation[data-dsk-nav-shell] * {
  box-sizing: border-box;
}

#dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__actions {
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex: 0 0 auto;
  min-block-size: 42px;
}

#dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__lang,
#dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__lang-link,
#dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__phone,
#dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__actions > .dsk-nav-v2__cta--alarm {
  box-sizing: border-box;
  flex-shrink: 0;
  transform: none;
}

#dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__lang {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 78px;
  min-inline-size: 78px;
  max-inline-size: 78px;
  block-size: 40px;
  min-block-size: 40px;
  max-block-size: 40px;
  padding: 3px;
  flex: 0 0 78px;
  contain: layout paint;
}

#dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__lang-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  inline-size: 35px;
  min-inline-size: 35px;
  max-inline-size: 35px;
  block-size: 32px;
  min-block-size: 32px;
  max-block-size: 32px;
  padding: 0;
  flex: 0 0 35px;
  line-height: 1;
  transform: none;
}

#dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__lang-link:is(.is-active, [aria-current="page"], :hover, :focus, :focus-visible) {
  padding: 0;
  transform: none;
}

#dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__lang-link--disabled {
  visibility: hidden;
  pointer-events: none;
}

@media (min-width: 1280px) {
  #dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__actions {
    display: inline-flex;
  }

  #dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__phone,
  #dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__actions > .dsk-nav-v2__cta--alarm {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    block-size: 42px;
    min-block-size: 42px;
    max-block-size: 42px;
    transform: none;
    white-space: nowrap;
    line-height: 1;
  }

  #dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__phone {
    gap: 8px;
    inline-size: 132px;
    min-inline-size: 132px;
    max-inline-size: 132px;
    flex: 0 0 132px;
    padding: 9px 10px;
    font-size: .85rem;
    font-weight: 800;
  }

  #dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__phone-text {
    display: block;
    position: static;
    inline-size: auto;
    block-size: auto;
    min-inline-size: 0;
    min-block-size: 0;
    overflow: visible;
    clip: auto;
    clip-path: none;
    white-space: nowrap;
    line-height: 1;
  }

  #dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__phone-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    inline-size: 16px;
    min-inline-size: 16px;
    max-inline-size: 16px;
    block-size: 16px;
    min-block-size: 16px;
    max-block-size: 16px;
    flex: 0 0 16px;
    line-height: 1;
  }

  #dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__actions > .dsk-nav-v2__cta--alarm {
    gap: 8px;
    inline-size: 194px;
    min-inline-size: 194px;
    max-inline-size: 194px;
    flex: 0 0 194px;
    padding: 9px 14px 9px 10px;
    font-size: .70rem;
    font-weight: 800;
  }

  #dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__cta--alarm .dsk-nav-v2__cta-text {
    display: inline;
    white-space: nowrap;
    line-height: 1;
  }

  #dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__phone:is(:hover, :focus, :focus-visible),
  #dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__actions > .dsk-nav-v2__cta--alarm:is(:hover, :focus, :focus-visible) {
    transform: none;
  }
}

@media (min-width: 1280px) and (max-width: 1339px) {
  #dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__phone {
    inline-size: 42px;
    min-inline-size: 42px;
    max-inline-size: 42px;
    flex-basis: 42px;
    padding-inline: 0;
  }

  #dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__phone-text {
    position: absolute;
    inline-size: 1px;
    block-size: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }
}

@media (max-width: 1279px) {
  #dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__actions {
    display: none;
  }

  #dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__lang {
    inline-size: 96px;
    min-inline-size: 96px;
    max-inline-size: 96px;
    block-size: 50px;
    min-block-size: 50px;
    max-block-size: 50px;
    padding: 3px;
    flex-basis: 96px;
  }

  #dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__lang-link {
    inline-size: 44px;
    min-inline-size: 44px;
    max-inline-size: 44px;
    block-size: 44px;
    min-block-size: 44px;
    max-block-size: 44px;
    flex-basis: 44px;
    padding: 0;
  }
}

/* Logo click/focus stability: mouse clicks must not draw a square or alter nav geometry. */
#dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__brand,
#dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__brand:is(:hover, :active, :focus, :focus-visible) {
  padding: 0;
  border: 0;
  outline: 0;
  outline-offset: 0;
  box-shadow: none;
  transform: none;
  transition-property: color, opacity;
  -webkit-tap-highlight-color: transparent;
}

#dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__brand .dsk-nav-v2__logo,
#dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__brand:is(:hover, :active, :focus, :focus-visible) .dsk-nav-v2__logo {
  display: block;
  transform: none;
  filter: none;
  box-shadow: none;
}
/* v2: logo click stability — no focus square and no box-model changes on mouse click. */
#dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__brand.is-pointer-active,
#dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__brand.is-pointer-active:focus,
#dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__brand.is-pointer-active:focus-visible {
  outline: 0;
  outline-offset: 0;
  box-shadow: none;
  transform: none;
}

#dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__brand:active {
  outline: 0;
  outline-offset: 0;
  box-shadow: none;
  transform: none;
}

#dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__logo {
  pointer-events: none;
  -webkit-user-drag: none;
  user-select: none;
}


/* v3: same-page nav click stability — active/current nav links must not repaint with a different box model. */
#dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__link,
#dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__services-trigger {
  box-sizing: border-box;
  flex-shrink: 0;
  transform: none;
  border: 0;
}

#dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__link:is(:hover, :active, :focus, :focus-visible, [aria-current="page"], .is-pointer-active),
#dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__services-trigger:is(:hover, :active, :focus, :focus-visible, .is-pointer-active) {
  transform: none;
  padding: 0;
  border: 0;
  outline-offset: 0;
}

#dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__link.is-pointer-active,
#dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__link.is-pointer-active:focus,
#dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__link.is-pointer-active:focus-visible,
#dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__services-trigger.is-pointer-active,
#dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__services-trigger.is-pointer-active:focus,
#dsk-navigation[data-dsk-nav-shell] .dsk-nav-v2__services-trigger.is-pointer-active:focus-visible {
  outline: 0;
  box-shadow: none;
}
