/* Style dla konkretnych bloków */

/*
 * core/image — wariant „Zaokrąglone” (is-style-rounded). Ładowane na froncie przez extensions/styles.php.
 * Uwaga: główny style.css motywu nie jest enqueue’owany — reguły bloków trzymaj tutaj lub w header/footer.
 */
.wp-block-image.is-style-rounded img,
.wp-block-image.is-style-rounded .components-resizable-box__container img {
  border-radius: 12px;
}

/* Uzupełnienie core (position.fixed): szerokość jak w panelu Pozycja */
.wp-site-blocks .is-position-fixed {
  width: 100%;
  box-sizing: border-box;
}

body {
  padding-top: 0;
  padding-bottom: 0;
}

.wp-block-woocommerce-product-filter-clear-button .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.wc-block-product-filter-clear-button__icon {
  flex: 0 0 auto;
}

.wp-site-blocks > * + * {
  margin-block-start: 0 !important;
}

/* Wstawiany przez fixed-position-reserve.js — tylko wysokość w flow (bez kolapsu marginesów). */
.nbt-fixed-reserve-spacer {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 0 !important;
  border: 0;
  flex-shrink: 0;
  overflow: hidden;
  pointer-events: none;
  visibility: hidden;
}

@media (max-width: 600px) {
  .wp-block-media-text > .wp-block-media-text__content {
    padding: 0!important;
  }
}

/* core/media-text: radius ustawiany na bloku ma zaokrąglać media */
.wp-block-media-text .wp-block-media-text__media {
  border-radius: inherit;
  /* overflow: hidden; */
}

.wp-block-media-text .wp-block-media-text__media img,
.wp-block-media-text .wp-block-media-text__media video {
  border-radius: inherit;
}

/* core/media-text — ikony IcoMoon nad/pod mediami */
.wp-block-media-text .wp-block-media-text__media {
  position: relative;
  isolation: isolate;
}

.wp-block-media-text .wp-block-media-text__media img,
.wp-block-media-text .wp-block-media-text__media video {
  position: relative;
  z-index: 1;
}

.wp-block-media-text .wp-block-media-text__media .nbt-media-text-icomoon {
  position: absolute;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Pod obrazem (z-index < img); nad obrazem (z-index > img) */
.wp-block-media-text .wp-block-media-text__media .nbt-media-text-icomoon--below {
  z-index: 0;
}

.wp-block-media-text .wp-block-media-text__media .nbt-media-text-icomoon--above {
  z-index: 2;
}

.wp-block-media-text .wp-block-media-text__media .nbt-media-text-icomoon--tl {
  top: 0;
  left: 0;
  transform: translate(-50%, -50%);
}
.wp-block-media-text .wp-block-media-text__media .nbt-media-text-icomoon--tr {
  top: 0;
  right: 0;
  transform: translate(50%, -50%);
}
.wp-block-media-text .wp-block-media-text__media .nbt-media-text-icomoon--bl {
  bottom: 0;
  left: 0;
  transform: translate(-50%, 50%);
}
.wp-block-media-text .wp-block-media-text__media .nbt-media-text-icomoon--br {
  bottom: 0;
  right: 0;
  transform: translate(50%, 50%);
}

/*
 * Edytor: trzy warstwy — „pod” (0) → treść bloku z obrazem (1) → „nad” (2).
 * Jedna nakładka z z-index:2 nie pozwalała realnie schować ikony pod <img>.
 */
.nbt-media-text-icomoon-editor-wrap {
  position: relative;
}

.nbt-media-text-icomoon-editor-wrap[style*="--nbt-media-aspect"]
  .wp-block-media-text__media
  img,
.nbt-media-text-icomoon-editor-wrap[style*="--nbt-media-aspect"]
  .wp-block-media-text__media
  video {
  aspect-ratio: var(--nbt-media-aspect);
  object-fit: cover;
}

.nbt-media-text-icomoon-editor-layer {
  position: absolute;
  top: 0;
  height: 100%;
  pointer-events: none;
  box-sizing: border-box;
}

.nbt-media-text-icomoon-editor-layer--below {
  z-index: 0;
}

.nbt-media-text-icomoon-editor-shell {
  position: relative;
  z-index: 1;
}

.nbt-media-text-icomoon-editor-layer--above {
  z-index: 2;
}

.nbt-media-text-icomoon-editor-layer .nbt-media-text-icomoon {
  position: absolute;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.nbt-media-text-icomoon-editor-layer .nbt-media-text-icomoon--tl {
  top: 0;
  left: 0;
  transform: translate(-50%, -50%);
}
.nbt-media-text-icomoon-editor-layer .nbt-media-text-icomoon--tr {
  top: 0;
  right: 0;
  transform: translate(50%, -50%);
}
.nbt-media-text-icomoon-editor-layer .nbt-media-text-icomoon--bl {
  bottom: 0;
  left: 0;
  transform: translate(-50%, 50%);
}
.nbt-media-text-icomoon-editor-layer .nbt-media-text-icomoon--br {
  bottom: 0;
  right: 0;
  transform: translate(50%, 50%);
}

/* core/media-text — odwrócona kolejność na mobile (tekst nad zdjęciem); jak w core ~600px */
@media (max-width: 600px) {
  .wp-block-media-text.is-stacked-on-mobile.nbt-media-text--mobile-reverse
    > .wp-block-media-text__media {
    grid-row: 2;
  }
  .wp-block-media-text.is-stacked-on-mobile.nbt-media-text--mobile-reverse
    > .wp-block-media-text__content {
    grid-row: 1;
  }

  .nbt-media-text-icomoon-editor-wrap.nbt-media-text--mobile-reverse
    .wp-block-media-text.is-stacked-on-mobile
    > .wp-block-media-text__media {
    grid-row: 2;
  }
  .nbt-media-text-icomoon-editor-wrap.nbt-media-text--mobile-reverse
    .wp-block-media-text.is-stacked-on-mobile
    > .wp-block-media-text__content {
    grid-row: 1;
  }
}

/* core/group — nadpisanie szerokości treści (layout constrained) na tablet / mobile */
@media (max-width: 781px) {
  .wp-block-group.nbt-group-responsive-width--has-mobile.is-layout-constrained {
    --wp--style--global--content-size: var(--nbt-group-content-width-mobile) !important;
  }

  .wp-block-group.nbt-group-responsive-width--has-mobile.is-layout-constrained
    > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: var(--nbt-group-content-width-mobile) !important;
  }
}

@media (min-width: 782px) and (max-width: 1023px) {
  .wp-block-group.nbt-group-responsive-width--has-tablet.is-layout-constrained {
    --wp--style--global--content-size: var(--nbt-group-content-width-tablet) !important;
  }

  .wp-block-group.nbt-group-responsive-width--has-tablet.is-layout-constrained
    > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
    max-width: var(--nbt-group-content-width-tablet) !important;
  }
}

/* core/group — ikony IcoMoon w rogach (jak media-text) */
.wp-block-group.nbt-group-icomoon--overflow-hidden {
  overflow: hidden;
}

.wp-block-group.nbt-group-has-icomoon {
  position: relative;
  isolation: isolate;
}

.wp-block-group.nbt-group-has-icomoon > :not(.nbt-group-icomoon) {
  position: relative;
  z-index: 1;
}

.wp-block-group .nbt-group-icomoon {
  position: absolute;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.wp-block-group .nbt-group-icomoon--below {
  z-index: 0;
}

.wp-block-group .nbt-group-icomoon--above {
  z-index: 2;
}

.wp-block-group .nbt-group-icomoon--tl {
  top: 0;
  left: 0;
  transform: translate(-50%, -50%);
}
.wp-block-group .nbt-group-icomoon--tr {
  top: 0;
  right: 0;
  transform: translate(50%, -50%);
}
.wp-block-group .nbt-group-icomoon--bl {
  bottom: 0;
  left: 0;
  transform: translate(-50%, 50%);
}
.wp-block-group .nbt-group-icomoon--br {
  bottom: 0;
  right: 0;
  transform: translate(50%, 50%);
}

/* Edytor: warstwy pod / treść / nad */
.nbt-group-icomoon-editor-wrap {
  position: relative;
}

.nbt-group-icomoon-editor-wrap.nbt-group-icomoon--overflow-hidden {
  overflow: hidden;
}

.nbt-group-icomoon-editor-layer {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  box-sizing: border-box;
}

.nbt-group-icomoon-editor-layer--below {
  z-index: 0;
}

.nbt-group-icomoon-editor-shell {
  position: relative;
  z-index: 1;
}

.nbt-group-icomoon-editor-layer--above {
  z-index: 2;
}

.nbt-group-icomoon-editor-layer .nbt-group-icomoon {
  position: absolute;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.nbt-group-icomoon-editor-layer .nbt-group-icomoon--tl {
  top: 0;
  left: 0;
  transform: translate(-50%, -50%);
}
.nbt-group-icomoon-editor-layer .nbt-group-icomoon--tr {
  top: 0;
  right: 0;
  transform: translate(50%, -50%);
}
.nbt-group-icomoon-editor-layer .nbt-group-icomoon--bl {
  bottom: 0;
  left: 0;
  transform: translate(-50%, 50%);
}
.nbt-group-icomoon-editor-layer .nbt-group-icomoon--br {
  bottom: 0;
  right: 0;
  transform: translate(50%, 50%);
}

/* woocommerce/add-to-cart-form — ikona IcoMoon po tekście przycisku */
.single_add_to_cart_button .nbt-add-to-cart-form__icomoon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-inline-start: 0.35em;
  line-height: 1;
  vertical-align: middle;
  font-size: 1.1em;
}

.nbt-add-to-cart-form__icomoon--themed > span[class^="icon-"]:not(.icon-logo)::before,
.nbt-add-to-cart-form__icomoon--themed > span[class^="icon-"]:not(.icon-logo):before {
  color: var(--nbt-icomoon-icon-color) !important;
}

.nbt-add-to-cart-form__icomoon--themed > .icon-logo span::before,
.nbt-add-to-cart-form__icomoon--themed > .icon-logo span:before {
  color: var(--nbt-icomoon-icon-color) !important;
}

/**
 * core/accordion — przy otwartym panelu ikona „+” zamieniana na minus (wg aria-expanded na przycisku).
 */
.wp-block-accordion-heading__toggle .wp-block-accordion-heading__toggle-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  /* rem zamiast em — przy otwarciu font-size:0 zerujełoby 1.25em i ikona znikała / była obcinana */
  min-width: 1.25rem;
  min-height: 1.25rem;
  line-height: 1;
}

.wp-block-accordion-heading__toggle[aria-expanded="true"]
  .wp-block-accordion-heading__toggle-icon {
  font-size: 0;
}

.wp-block-accordion-heading__toggle[aria-expanded="true"]
  .wp-block-accordion-heading__toggle-icon::after {
  content: "\2212";
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1;
  color: currentColor;
}

/* Rdzeń WP: rotate(45deg) na ikonie przy .is-open — psuje minus z ::after; wyłączamy obrót. */
.wp-block-accordion-item.is-open
  > .wp-block-accordion-heading
  .wp-block-accordion-heading__toggle-icon {
  transform: none;
}

