@charset "UTF-8";
.snp-block-interactive-map {
  min-height: 992px;
  overflow: hidden;
}
.snp-block-interactive-map .background-element img {
  object-position: center;
}
.snp-block-interactive-map .wrapper {
  min-height: 992px;
  position: relative;
}
.snp-block-interactive-map aside {
  background: var(--color-sand-50);
  border: 1px solid var(--color-border-default);
  box-shadow: 0 16px 40px -10px rgba(41, 31, 13, 0.2);
  left: 0;
  padding: var(--space-lg);
  position: absolute;
  top: var(--space-xl);
  width: 410px;
}
.snp-block-interactive-map aside > label input {
  width: 100%;
}
.snp-block-interactive-map aside .snp-chip-list {
  margin: var(--space-md) 0;
}
.snp-block-interactive-map aside > p {
  display: flex;
  font-size: var(--font-size-caption);
  justify-content: space-between;
}
.snp-block-interactive-map aside ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.snp-block-interactive-map aside li {
  align-items: center;
  border-top: 1px solid var(--color-border-default);
  display: flex;
  gap: var(--space-sm);
  padding: var(--space-sm) 0;
}
.snp-block-interactive-map aside li img {
  height: 64px;
  object-fit: cover;
  width: 84px;
}
.snp-block-interactive-map aside li span {
  display: flex;
  flex-direction: column;
  line-height: 1.4em;
}
.snp-block-interactive-map aside li small {
  color: var(--color-text-accent);
  text-transform: none;
}
.snp-block-interactive-map aside li em {
  color: var(--color-text-muted);
  font-size: var(--font-size-caption);
  font-style: normal;
  line-height: 1.4;
}
.snp-block-interactive-map__pin {
  align-items: center;
  background: var(--color-onyx-900);
  border: 6px solid rgba(210, 172, 94, 0.4);
  border-radius: var(--radius-full);
  color: var(--color-gold-400);
  display: flex;
  height: 58px;
  justify-content: center;
  left: 62%;
  position: absolute;
  top: 72%;
  width: 58px;
}
.snp-block-interactive-map > .viewport-container .snp-view-toggle {
  background: var(--color-sand-50);
  border: 1px solid var(--color-border-default);
  border-radius: var(--radius-full);
  bottom: var(--space-xl);
  display: flex;
  gap: 4px;
  left: 50%;
  padding: 4px;
  position: absolute;
  transform: translateX(-50%);
}
.snp-block-interactive-map .snp-view-toggle button {
  background: transparent;
  border: 0;
  border-radius: var(--radius-full);
  color: var(--color-text-primary);
  padding: var(--space-md) var(--space-xl);
}
.snp-block-interactive-map .snp-view-toggle .is-active {
  background: var(--color-onyx-900);
  color: var(--color-gold-200);
}

@media (max-width: 767px) {
  .snp-block-interactive-map {
    min-height: 820px;
  }
  .snp-block-interactive-map .wrapper {
    min-height: 820px;
  }
  .snp-block-interactive-map aside {
    left: var(--space-md);
    top: var(--space-md);
    width: calc(100% - 32px);
  }
  .snp-block-interactive-map aside .snp-chip-list {
    flex-wrap: nowrap;
    overflow-x: auto;
  }
  .snp-block-interactive-map__pin {
    left: 64%;
    top: 70%;
  }
}
/* SNP2 fidelity pass. */
.snp-block-interactive-map {
  background: var(--color-sand-200);
  min-height: 992px;
}
.snp-block-interactive-map .background-element img {
  object-fit: cover;
}
.snp-block-interactive-map aside {
  bottom: 32px;
  display: flex;
  flex-direction: column;
  padding: 20px;
  top: 32px;
  width: 394px;
  z-index: 3;
}
.snp-block-interactive-map aside ul {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.snp-block-interactive-map .snp-map-search {
  align-items: center;
  display: flex;
  position: relative;
}
.snp-block-interactive-map .snp-map-search > span:not(.screen-reader-text) {
  color: var(--color-gold-600);
  left: 13px;
  position: absolute;
}
.snp-block-interactive-map .snp-map-search input {
  border-radius: 0;
  color: var(--color-text-primary);
  min-height: 42px;
  padding-block: 7px;
  padding-left: 42px;
}
.snp-block-interactive-map .snp-map-search input::placeholder {
  color: var(--color-text-muted);
  opacity: 1;
}
.snp-block-interactive-map aside .snp-chip-list {
  gap: 6px;
}
.snp-block-interactive-map aside .snp-chip-list button {
  background: transparent;
  border-color: var(--color-border-default);
  color: var(--color-text-secondary);
  font-size: 9px;
  padding: 6px 10px;
}
.snp-block-interactive-map aside .snp-chip-list .is-active {
  background: var(--color-onyx-900);
  color: var(--color-gold-200);
}
.snp-block-interactive-map aside > p button {
  background: transparent;
  border: 0;
  color: var(--color-text-muted);
}
.snp-block-interactive-map aside li {
  display: block;
  padding: 0;
}
.snp-block-interactive-map aside li[hidden] {
  display: none;
}
.snp-block-interactive-map .snp-map-category {
  display: block;
  margin: var(--space-md) 0;
}
.snp-block-interactive-map .snp-map-category select {
  background: var(--color-sand-50);
  border: 1px solid var(--color-border-default);
  border-radius: 0;
  color: var(--color-text-primary);
  cursor: pointer;
  font-family: var(--font-family-body);
  font-size: var(--font-size-body-s);
  min-height: 42px;
  padding: 7px 12px;
  width: 100%;
}
.snp-block-interactive-map aside li button {
  align-items: center;
  background: transparent;
  border: 0;
  display: flex;
  gap: 12px;
  padding: 10px 8px;
  text-align: left;
  width: 100%;
}
.snp-block-interactive-map aside li.is-selected button {
  background: var(--color-gold-100);
  outline: 1px solid var(--color-gold-400);
}
.snp-block-interactive-map .snp-map-item-link {
  color: var(--color-text-accent);
  display: block;
  font-size: 10px;
  letter-spacing: var(--letter-spacing-label);
  padding: 0 8px 10px;
  text-align: right;
  text-transform: uppercase;
}
.snp-block-interactive-map .snp-map-item-link:hover, .snp-block-interactive-map .snp-map-item-link:focus-visible {
  color: var(--color-gold-700);
}
.snp-block-interactive-map .snp-map-item-distance {
  color: var(--color-text-accent);
  font-size: var(--font-size-caption);
}
.snp-block-interactive-map .snp-map-sort select {
  background: transparent;
  border: 0;
  color: var(--color-text-muted);
  cursor: pointer;
  font-family: var(--font-family-body);
  font-size: var(--font-size-caption);
  padding: 0;
}
.snp-block-interactive-map .snp-map-loader {
  animation: snp-map-loader-spin 720ms linear infinite;
  border: 2px solid var(--color-gold-200);
  border-radius: var(--radius-full);
  border-top-color: var(--color-gold-600);
  height: 18px;
  position: absolute;
  right: 12px;
  width: 18px;
}
.snp-block-interactive-map .snp-map-pin {
  height: 32px;
  left: var(--pin-x);
  position: absolute;
  top: var(--pin-y);
  transform: translate(-50%, -100%);
  transition: transform 180ms ease;
  width: 24px;
  z-index: 3;
}
.snp-block-interactive-map .snp-map-pin > img {
  display: block;
  height: 100%;
  inset: 0;
  position: absolute;
  width: 100%;
}
.snp-block-interactive-map .snp-map-pin__selected {
  display: none;
}
.snp-block-interactive-map .snp-map-pin.is-selected {
  z-index: 4;
}
.snp-block-interactive-map .snp-map-pin.is-selected .snp-map-pin__default {
  display: none;
}
.snp-block-interactive-map .snp-map-pin.is-selected .snp-map-pin__selected {
  display: block;
}
.snp-block-interactive-map .snp-map-pin:hover,
.snp-block-interactive-map .snp-map-pin:focus-visible {
  transform: translate(-50%, -100%) scale(1.16);
}
.snp-block-interactive-map .snp-map-controls {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  position: absolute;
  right: 48px;
  top: 48px;
  z-index: 5;
}
.snp-block-interactive-map .snp-map-zoom {
  background: var(--color-sand-50);
  border: 1px solid var(--color-border-default);
  display: flex;
  flex-direction: column;
  width: 47px;
}
.snp-block-interactive-map .snp-map-zoom button {
  align-items: center;
  color: var(--color-text-primary);
  display: flex;
  font-size: 20px;
  height: 52px;
  justify-content: center;
  line-height: 1;
  width: 100%;
}
.snp-block-interactive-map .snp-map-zoom button:first-child {
  border-bottom: 1px solid var(--color-border-default);
}
.snp-block-interactive-map .snp-map-zoom button:hover,
.snp-block-interactive-map .snp-map-locate:hover {
  background: var(--color-bg-accent-soft);
}
.snp-block-interactive-map .snp-map-locate {
  align-items: center;
  background: var(--color-sand-50);
  border: 1px solid var(--color-border-default);
  color: var(--color-text-primary);
  display: flex;
  height: 52px;
  justify-content: center;
  width: 52px;
}
.snp-block-interactive-map .snp-map-attribution {
  background: rgba(253, 251, 246, 0.86);
  bottom: 12px;
  color: var(--color-text-muted);
  font-size: 11px;
  line-height: 1;
  margin: 0;
  padding: 7px 10px;
  position: absolute;
  right: 12px;
  z-index: 5;
}
.snp-block-interactive-map .snp-map-result {
  background: var(--color-sand-50);
  box-shadow: 0 16px 36px rgba(46, 40, 32, 0.2);
  position: absolute;
  right: 48px;
  top: 520px;
  width: 284px;
  z-index: 3;
}
.snp-block-interactive-map .snp-map-result img {
  height: 160px;
  object-fit: cover;
  width: 100%;
}
.snp-block-interactive-map .snp-map-result div {
  line-height: 1.4em;
  padding: 18px 20px 20px;
}
.snp-block-interactive-map .snp-map-result h2 {
  font-size: var(--font-size-heading-h3);
  line-height: var(--line-height-heading-h3);
  margin: 6px 0;
}
.snp-block-interactive-map .snp-map-result p {
  color: var(--color-text-muted);
  font-size: 11px;
  line-height: 1.4;
}
.snp-block-interactive-map .snp-map-result a {
  color: var(--color-text-accent);
  font-size: 10px;
  text-transform: uppercase;
}
.snp-block-interactive-map > .viewport-container .snp-view-toggle {
  left: 62%;
}
.snp-block-interactive-map.is-list-view .background-element,
.snp-block-interactive-map.is-list-view .snp-map-marker,
.snp-block-interactive-map.is-list-view .snp-map-result {
  visibility: hidden;
}
.snp-block-interactive-map.is-list-view aside {
  left: 50%;
  max-height: 800px;
  overflow: auto;
  transform: translateX(-50%);
  width: min(720px, 100% - 64px);
}

@media (max-width: 767px) {
  .snp-block-interactive-map {
    min-height: 880px;
  }
  .snp-block-interactive-map .wrapper {
    min-height: 880px;
  }
  .snp-block-interactive-map aside {
    left: 16px;
    max-height: 470px;
    overflow: auto;
    top: 16px;
    width: calc(100% - 32px);
  }
  .snp-block-interactive-map .snp-map-result {
    bottom: 78px;
    right: 16px;
    top: auto;
    width: 250px;
  }
  .snp-block-interactive-map.is-list-view aside {
    left: 16px;
    max-height: 720px;
    transform: none;
    width: calc(100% - 32px);
  }
}
@keyframes snp-map-loader-spin {
  to {
    transform: rotate(360deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .snp-block-interactive-map .snp-map-marker {
    transition: none;
  }
  .snp-block-interactive-map .snp-map-loader {
    animation-duration: 2s;
  }
}
/* Mapa Google zamiast statycznej grafiki.
   Kanwa leży pod warstwą interfejsu, więc `viewport-container` przepuszcza
   kliknięcia, a odbierają je tylko realne kontrolki. Bez tego panel boczny
   rozciągnięty na całą sekcję blokowałby przeciąganie mapy. */
.snp-block-interactive-map {
  position: relative;
}
.snp-block-interactive-map .snp-map-canvas {
  background: var(--color-sand-200);
  inset: 0;
  position: absolute;
}
.snp-block-interactive-map > .viewport-container {
  pointer-events: none;
  position: relative;
  z-index: 1;
}
.snp-block-interactive-map aside,
.snp-block-interactive-map .snp-map-result,
.snp-block-interactive-map .snp-view-toggle,
.snp-block-interactive-map .snp-map-controls,
.snp-block-interactive-map .snp-map-consent {
  pointer-events: auto;
}
.snp-block-interactive-map {
  /* Brama zgody: mapa łączy się z Google dopiero po kliknięciu. */
}
.snp-block-interactive-map .snp-map-consent {
  background: var(--color-sand-50);
  border: 1px solid var(--color-border-default);
  box-shadow: 0 16px 40px -10px rgba(41, 31, 13, 0.2);
  left: 50%;
  max-width: 420px;
  padding: var(--space-xl);
  position: absolute;
  text-align: center;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 2 * var(--space-lg));
}
.snp-block-interactive-map .snp-map-consent strong {
  display: block;
  font-family: var(--font-family-heading);
  font-size: var(--font-size-heading-h3);
  font-weight: var(--font-weight-medium);
}
.snp-block-interactive-map .snp-map-consent p {
  color: var(--color-text-secondary);
  font-size: var(--font-size-body-s);
  margin: var(--space-sm) 0 var(--space-lg);
}
.snp-block-interactive-map .snp-map-consent.is-error {
  color: var(--color-text-secondary);
  font-size: var(--font-size-body-s);
}
.snp-block-interactive-map.has-map .snp-map-consent {
  display: none;
}
.snp-block-interactive-map {
  /* Widok listy chowa mapę i rozciąga panel na całą szerokość. */
}
.snp-block-interactive-map.is-list-view .snp-map-canvas, .snp-block-interactive-map.is-list-view .snp-map-result, .snp-block-interactive-map.is-list-view .snp-map-controls {
  display: none;
}
.snp-block-interactive-map.is-list-view aside {
  position: relative;
  top: 0;
  width: 100%;
}

@media (max-width: 767px) {
  .snp-block-interactive-map .snp-map-consent {
    padding: var(--space-lg);
  }
}
/*# sourceMappingURL=style.css.map */
