/* SHARPI homepage fix 1.1.0 — homepage layout and language feedback. */
.sharpi-dd--lang .sharpi-lang-feedback:not([hidden]) {
  position: absolute;
  z-index: 100010;
  right: 0;
  top: calc(100% + 8px);
  width: max-content;
  max-width: min(270px, calc(100vw - 20px));
  padding: 9px 12px;
  border: 1px solid #ff8000;
  border-radius: 8px;
  background: #15181d;
  color: #fff;
  box-shadow: 0 10px 26px rgba(0, 0, 0, .18);
  font-size: 12px;
  line-height: 1.35;
}

/* Zwykłe section dodaje 56/40 px nad hero, a grid kolejne 54/42 px. */
html body.home .sharpi-v4-home .sharpi-v4-hero {
  padding-block: 36px !important;
}

html body.home .sharpi-v4-home .sharpi-v4-hero-grid {
  padding-block: 38px 54px !important;
}

html body.home .sharpi-v4-home .sharpi-v4-hero .sharpi-v4-carousel-controls {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  width: max-content !important;
  max-width: calc(100% - 20px) !important;
  height: auto !important;
  min-height: 48px !important;
  margin: 10px auto 15px !important;
  padding: 4px 8px !important;
  display: flex !important;
  align-items: center !important;
  gap: 2px !important;
}

html body.home .sharpi-v4-home .sharpi-v4-hero .sharpi-v4-carousel-controls > button {
  display: grid !important;
  place-items: center !important;
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 !important;
  flex: none !important;
  font-size: 16px !important;
  line-height: 1 !important;
}

html body.home .sharpi-v4-home .sharpi-v4-hero .sharpi-v4-carousel-dots {
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
}

html body.home .sharpi-v4-home .sharpi-v4-hero .sharpi-v4-carousel-dots > button,
html body.home .sharpi-v4-home .sharpi-v4-hero .sharpi-v4-carousel-dots > button.is-active {
  display: grid !important;
  place-items: center !important;
  width: 28px !important;
  min-width: 28px !important;
  height: 32px !important;
  min-height: 32px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  flex: none !important;
}

html body.home .sharpi-v4-home .sharpi-v4-hero .sharpi-v4-carousel-dots > button::before {
  content: '';
  width: 7px;
  height: 7px;
  background: #a8adb4;
  border-radius: 999px;
  pointer-events: none;
}

html body.home .sharpi-v4-home .sharpi-v4-hero .sharpi-v4-carousel-dots > button.is-active::before {
  width: 18px;
  background: #ff8000;
}

html body.home .sharpi-v4-home .sharpi-v4-hero .sharpi-v4-carousel-controls button:focus-visible {
  outline: 2px solid #ff8000 !important;
  outline-offset: 2px !important;
}

html body.home .sharpi-v4-home .sharpi-v4-hero .sharpi-v4-carousel-pause[hidden] {
  display: none !important;
}

@media (max-width: 768px) {
  /* Jasny prostokąt na zrzucie to ucięty górą dekoracyjny pierścień hero. */
  html body.home .sharpi-v4-home .sharpi-v4-hero::after {
    content: none !important;
  }

  html body.home .sharpi-v4-home .sharpi-v4-hero {
    padding-block: 18px 24px !important;
  }

  html body.home .sharpi-v4-home .sharpi-v4-hero-grid {
    padding-block: 20px 30px !important;
  }

  /* Guard for an account link already present in the markup; no duplicate icon. */
  html body.home .site-header .header-icons > a.header-icon[href*="moje-konto"] {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .sharpi-dd--lang .sharpi-lang-feedback:not([hidden]) {
    right: auto;
    left: 0;
  }
}

@media (max-width: 600px) {
  html body.home .sharpi-v4-home .sharpi-v4-hero-grid {
    padding-block: 12px 24px !important;
  }
}
