#contact .center-column {
  width: 100%;
}

.wh-contact {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--wh-space-lg, 3.2rem);
  padding-block: var(--wh-space-lg, 3.2rem);
}

@media (min-width: 992px) {
  .wh-contact {
    grid-template-columns: 60% minmax(0, 1fr);
    gap: var(--wh-space-xl, 6.4rem);
  }
}

.wh-contact__col {
  min-width: 0;
}

/* Mobile: dane kontaktowe NAD formularzem (decyzja Alexa 2026-08-12).
   Grid ma na mobile jedna kolumne - wystarczy zmiana kolejnosci. */
@media (max-width: 991px) {
  .wh-contact__col--info {
    order: -1;
  }
}

.wh-contact__heading {
  margin: 0 0 var(--wh-space-lg, 3.2rem);
  font-family: var(--wh-font-heading, inherit);
  font-size: var(--wh-font-size-h3, 2.2rem);
  font-weight: var(--wh-font-weight-semibold, 600);
  line-height: 1.4;
  color: var(--wh-color-text-primary, #40362e);
}

.wh-contact .contact-form,
.wh-contact .page-title-section {
  margin: 0;
}

.wh-contact .page-title-section {
  display: none;
}

.wh-contactform__fields {
  display: flex;
  flex-direction: column;
  gap: var(--wh-space-md, 1.6rem);
}

.wh-contactform__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--wh-space-md, 1.6rem);
}

@media (min-width: 576px) {
  .wh-contactform__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.wh-contactform__field {
  min-width: 0;
}

.wh-contact .form-control,
.wh-contact .form-select {
  width: 100%;
  padding: var(--wh-space-md, 1.6rem);
  border: 1px solid var(--wh-color-border-subtle, #e4e0da);
  border-radius: var(--wh-radius-md, .8rem);
  background: var(--wh-color-bg-base, #fff);
  font-size: var(--wh-font-size-body, 14px);
  color: var(--wh-color-text-primary, #40362e);
  transition: border-color var(--wh-duration-fast, 150ms) ease;
}

.wh-contact .form-control::placeholder {
  color: var(--wh-color-text-muted, #908981);
}

.wh-contact .form-control:focus,
.wh-contact .form-select:focus {
  border-color: var(--wh-color-accent, #9e8264);
  box-shadow: none;
  outline: none;
}

.wh-contact textarea.form-control {
  min-height: 12rem;
  resize: vertical;
}

.wh-contactform__row--file {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  gap: var(--wh-space-md, 1.6rem);
}

.wh-contactform__filename {
  display: flex;
  align-items: center;
  padding: var(--wh-space-md, 1.6rem);
  border: 1px solid var(--wh-color-border-subtle, #e4e0da);
  border-radius: var(--wh-radius-md, .8rem);
  background: var(--wh-color-bg-base, #fff);
}

.wh-contactform__filename-text {
  font-size: var(--wh-font-size-body, 14px);
  color: var(--wh-color-text-muted, #908981);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wh-contactform__filehint {
  display: block;
  margin-top: var(--wh-space-xs, .4rem);
  font-size: var(--wh-font-size-small, 12px);
  color: var(--wh-color-text-muted, #908981);
}

.wh-contact .alert {
  margin: 0 0 var(--wh-space-md, 1.6rem);
  padding: var(--wh-space-md, 1.6rem);
  border: 1px solid;
  border-radius: var(--wh-radius-md, .8rem);
  font-size: var(--wh-font-size-body, 14px);
}

.wh-contact .alert ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.wh-contact .alert-danger {
  background: color-mix(in srgb, var(--wh-color-semantic-danger, #dc2626) 8%, var(--wh-color-bg-base, #fff));
  border-color: color-mix(in srgb, var(--wh-color-semantic-danger, #dc2626) 30%, var(--wh-color-bg-base, #fff));
  color: var(--wh-color-semantic-danger, #dc2626);
}

.wh-contact .alert-success {
  background: color-mix(in srgb, var(--wh-color-semantic-success, #16a34a) 8%, var(--wh-color-bg-base, #fff));
  border-color: color-mix(in srgb, var(--wh-color-semantic-success, #16a34a) 30%, var(--wh-color-bg-base, #fff));
  color: var(--wh-color-semantic-success, #16a34a);
}

.wh-contactform__fileinput {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.wh-contactform__filebtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--wh-space-sm, .8rem);
  padding: var(--wh-space-md, 1.6rem) var(--wh-space-lg, 3.2rem);
  border: 1px solid var(--wh-color-accent, #9e8264);
  border-radius: var(--wh-radius-md, .8rem);
  background: transparent;
  color: var(--wh-color-accent, #9e8264);
  font-size: var(--wh-font-size-body, 14px);
  font-weight: var(--wh-font-weight-medium, 500);
  white-space: nowrap;
  cursor: pointer;
  transition: background-color var(--wh-duration-fast, 150ms) ease,
              color var(--wh-duration-fast, 150ms) ease;
}

.wh-contactform__filebtn .material-icons {
  font-size: var(--wh-font-size-base, 16px);
}

.wh-contactform__filebtn:hover,
.wh-contactform__fileinput:focus-visible + .wh-contactform__filebtn {
  background: var(--wh-color-accent, #9e8264);
  color: var(--wh-color-text-inverse, #fff);
}

.wh-contactform__consent .form-check {
  display: flex;
  align-items: flex-start;
  gap: var(--wh-space-sm, .8rem);
  margin: 0;
  padding: 0;
}

.wh-contactform__consent .form-check-input {
  flex: 0 0 auto;
  margin: .2rem 0 0;
  border: 1.5px solid var(--wh-color-border-strong, #9ca3af);
  box-shadow: none;
}

.wh-contactform__consent .form-check-input:checked {
  background-color: var(--wh-color-accent, #9e8264);
  border-color: var(--wh-color-accent, #9e8264);
}

.wh-contactform__consent .form-check-input:focus {
  border-color: var(--wh-color-accent, #9e8264);
  box-shadow: none;
}

.wh-contactform__consent .form-check-label {
  font-size: var(--wh-font-size-small, 12px);
  line-height: 1.6;
  color: var(--wh-color-text-muted, #908981);
  cursor: pointer;
}

.wh-contact select.form-select:has(option[value=""]:checked) {
  color: var(--wh-color-text-muted, #908981);
}

.wh-contactform__footer {
  display: block;
  margin-top: var(--wh-space-md, 1.6rem);
  padding: 0;
  border: 0;
}

.wh-contact .wh-contactform__footer .wh-contactform__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--wh-space-sm, .8rem);
  width: 100%;
  padding: var(--wh-space-md, 1.6rem);
  border-width: 2px;
  border-radius: var(--wh-radius-md, .8rem);
  font-size: var(--wh-font-size-body, 14px);
  font-weight: var(--wh-font-weight-medium, 500);
  text-transform: uppercase;
  letter-spacing: .08em;
}

.wh-contact .wh-contactform__footer .wh-contactform__submit .material-icons {
  font-size: var(--wh-font-size-base, 16px);
}

.wh-contact__col--info .ps-contactinfo {
  padding: 0;
  border: 0;
  background: none;
}

.wh-contact__col--info .ps-contactinfo__title {
  display: none;
}

.wh-contact__col--info .ps-contactinfo__item {
  display: flex;
  align-items: flex-start;
  gap: var(--wh-space-md, 1.6rem);
  padding: 0 0 var(--wh-space-mid, 2.4rem);
  border: 0;
}

.wh-contact__col--info .ps-contactinfo__label {
  display: block;
  margin-bottom: var(--wh-space-xs, .4rem);
  font-size: var(--wh-font-size-body, 14px);
  font-weight: var(--wh-font-weight-medium, 500);
  color: var(--wh-color-text-primary, #40362e);
}

.wh-contact__col--info .ps-contactinfo__item .material-icons,
.wh-contact__col--info .ps-contactinfo__item .ps-contactinfo__icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4.8rem;
  height: 4.8rem;
  border: 1px solid var(--wh-color-border-subtle, #e4e0da);
  border-radius: var(--wh-radius-pill, 99.9rem);
  color: var(--wh-color-accent, #9e8264);
  font-size: var(--wh-font-size-lg, 18px);
  transition: background-color var(--wh-duration-fast, 150ms) ease,
              border-color var(--wh-duration-fast, 150ms) ease,
              color var(--wh-duration-fast, 150ms) ease;
}

.wh-contact__col--info .ps-contactinfo__icon svg {
  width: 1.8rem;
  height: 1.8rem;
}

.wh-contact svg[fill]:not([fill="none"]),
.wh-contact svg [fill]:not([fill="none"]) {
  fill: currentColor;
}

.wh-contact svg[stroke]:not([stroke="none"]),
.wh-contact svg [stroke]:not([stroke="none"]) {
  stroke: currentColor;
}

.wh-contactform__filebtn svg,
.wh-contact .wh-contactform__footer .wh-contactform__submit svg {
  flex: 0 0 auto;
}

.wh-contact__col--info .ps-contactinfo__item:hover .ps-contactinfo__icon,
.wh-contact__col--info .ps-contactinfo__item:hover > .material-icons {
  background: var(--wh-color-accent, #9e8264);
  border-color: var(--wh-color-accent, #9e8264);
  color: var(--wh-color-text-inverse, #fff);
}

.wh-contact__col--info .ps-contactinfo__item address,
.wh-contact__col--info .ps-contactinfo__item p,
.wh-contact__col--info .ps-contactinfo__info {
  margin: 0;
  font-style: normal;
  font-size: var(--wh-font-size-body, 14px);
  line-height: 1.6;
  color: var(--wh-color-text-muted, #908981);
}

.wh-contact__col--info .ps-contactinfo__item .ps-contactinfo__info {
  min-width: 0;
}

.wh-contact__col--info .ps-contactinfo__item a {
  color: var(--wh-color-text-muted, #908981);
  text-decoration: none;
}

.wh-contact__col--info .ps-contactinfo__item a:hover {
  color: var(--wh-color-accent, #9e8264);
}

/* Mapa full-bleed na cala szerokosc ekranu (decyzja Alexa 2026-08-12).
   Wzorzec motywu: calc(50% - 50vw); nadmiar scrollbara tnie #wrapper
   overflow-x: clip (bezpiecznik w _fashion.css). */
.wh-contact__map {
  margin-block-start: var(--wh-space-lg, 3.2rem);
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-left: 0;
  padding-right: 0;
}

.wh-contact__map .wh-iframemap,
.wh-contact__map iframe {
  display: block;
  width: 100%;
}

.wh-contact__map .wh-iframemap iframe,
.wh-contact__map iframe {
  height: 42rem;
  min-height: 0;
  border: 0;
}

.wh-contact__social {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wh-space-sm, .8rem);
  margin-block-start: var(--wh-space-sm, .8rem);
}

.wh-contact__social .ps-socialfollow {
  padding: 0;
}

.wh-contact__social .ps-socialfollow .container {
  padding: 0;
  margin: 0;
  max-width: none;
}

.wh-contact__social .ps-socialfollow ul {
  width: fit-content;
  margin: 0;
}

.wh-contact__social ul,
.wh-contact__social .ps-socialfollow__list {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wh-space-sm, .8rem);
  margin: 0;
  padding: 0;
  list-style: none;
}

.wh-contact__social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.6rem;
  height: 3.6rem;
  border: 1px solid var(--wh-color-border-subtle, #e4e0da);
  border-radius: var(--wh-radius-pill, 99.9rem);
  color: var(--wh-color-accent, #9e8264);
  transition: border-color var(--wh-duration-fast, 150ms) ease,
              background-color var(--wh-duration-fast, 150ms) ease,
              color var(--wh-duration-fast, 150ms) ease;
}

.wh-contact__social a:hover {
  background: var(--wh-color-accent, #9e8264);
  border-color: var(--wh-color-accent, #9e8264);
  color: var(--wh-color-text-inverse, #fff);
}

@media (max-width: 575px) {
  .wh-contactform__row--file {
    grid-template-columns: minmax(0, 1fr);
  }

  .wh-contact__map .wh-iframemap iframe,
  .wh-contact__map iframe {
    height: 30rem;
  }
}
