.elementor-widget-section .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-section .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-15 .elementor-element.elementor-element-58d373f > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:flex-end;align-items:flex-end;}.elementor-15 .elementor-element.elementor-element-58d373f > .elementor-container{max-width:1240px;min-height:100vh;}.elementor-15 .elementor-element.elementor-element-58d373f .elementor-background-slideshow__slide__image{background-size:cover;background-position:center center;}.elementor-15 .elementor-element.elementor-element-58d373f{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:120px 24px 70px 24px;}.elementor-15 .elementor-element.elementor-element-58d373f > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-bc-flex-widget .elementor-15 .elementor-element.elementor-element-3fafe5d.elementor-column .elementor-widget-wrap{align-items:flex-end;}.elementor-15 .elementor-element.elementor-element-3fafe5d.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:flex-end;align-items:flex-end;}.elementor-15 .elementor-element.elementor-element-3fafe5d > .elementor-element-populated{padding:0px 60px 72px 60px;}.elementor-widget-html .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-html .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-15 .elementor-element.elementor-element-ab7ad86 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:flex-start;align-items:flex-start;}.elementor-15 .elementor-element.elementor-element-ab7ad86{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;}.elementor-15 .elementor-element.elementor-element-ab7ad86 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-widget-eael-wpforms .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-eael-wpforms .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-eael-wpforms .eael-contact-form-description, .elementor-widget-eael-wpforms .wpforms-description{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-eael-wpforms .eael-wpforms .wpforms-field label, .elementor-widget-eael-wpforms .eael-wpforms .wpforms-field legend{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-eael-wpforms .eael-wpforms .wpforms-field input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), .elementor-widget-eael-wpforms .eael-wpforms .wpforms-field textarea, .elementor-widget-eael-wpforms .eael-wpforms .wpforms-field select{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-eael-wpforms .eael-wpforms .wpforms-submit-container .wpforms-submit{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-15 .elementor-element.elementor-element-763b894 .eael-wpforms label.wpforms-error{display:block !important;}.elementor-15 .elementor-element.elementor-element-763b894 .eael-wpforms .wpforms-field input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), .elementor-15 .elementor-element.elementor-element-763b894 .eael-wpforms .wpforms-field select{height:30px;}.elementor-15 .elementor-element.elementor-element-763b894 .eael-wpforms .wpforms-submit-container .wpforms-submit:hover, 
                    .elementor-15 .elementor-element.elementor-element-763b894 .eael-wpforms .wpforms-container-full .wpforms-submit-container .wpforms-form button[type=submit]:hover{background:#065689 !important;}.elementor-15 .elementor-element.elementor-element-763b894 .eael-wpforms input.wpforms-error{border-width:1px;}.elementor-15 .elementor-element.elementor-element-763b894 .eael-wpforms textarea.wpforms-error{border-width:1px;}:root{--page-title-display:none;}/* Start custom CSS for section, class: .elementor-element-58d373f *//* ==========================================================================
   WILLA MORMIN — HERO FINAL
   Elementor Pro + Astra Pro
   Background slideshow ustawiamy w Elementorze na sekcji .wm-hero
   ========================================================================== */


/* =========================
   HERO SECTION
========================= */

.wm-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 100svh;
  background-color: #F6EAD7;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Elementor background slideshow layer */

.wm-hero .elementor-background-slideshow {
  z-index: 0 !important;
}

.wm-hero .elementor-background-slideshow__slide__image {
  filter: saturate(1.08) brightness(0.98);
}


/* =========================
   OVERLAY
   Lekkie zabezpieczenie czytelności bez zabijania zdjęć
========================= */

.wm-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    180deg,
    rgba(46, 42, 36, 0.00) 0%,
    rgba(46, 42, 36, 0.08) 32%,
    rgba(46, 42, 36, 0.32) 66%,
    rgba(46, 42, 36, 0.58) 100%
  );
}

.wm-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    92deg,
    rgba(46, 42, 36, 0.32) 0%,
    rgba(46, 42, 36, 0.18) 38%,
    rgba(46, 42, 36, 0.00) 66%
  );
}


/* =========================
   ELEMENTOR STRUCTURE
========================= */

.wm-hero > .elementor-container {
  position: relative;
  z-index: 2;
  min-height: inherit;
  display: flex !important;
  align-items: flex-end !important;
  padding-bottom: 72px !important;
}

.wm-hero .elementor-column,
.wm-hero .elementor-widget-wrap {
  min-height: inherit;
}

.wm-hero .elementor-widget-wrap {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
}


/* =========================
   CONTENT
========================= */

.wm-hero__content {
  position: relative;
  z-index: 3;
  max-width: 590px;
  padding-top: 0;
  animation: wmHeroFadeUp 0.75s cubic-bezier(0.22, 1, 0.36, 1) both;
}


/* Eyebrow */

.wm-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 18px;
  color: rgba(255, 255, 255, 0.86);
  font-size: 11.5px;
  font-weight: 650;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-shadow: 0 4px 16px rgba(46, 42, 36, 0.24);
}

.wm-hero__eyebrow span {
  width: 30px;
  height: 1px;
  background: #D9BF86;
  flex-shrink: 0;
}


/* Title */

.wm-hero__title {
  max-width: 560px;
  margin: 0;
  color: #ffffff;
  font-size: clamp(42px, 5vw, 72px);
  line-height: 0.98;
  font-weight: 600;
  letter-spacing: -0.055em;
  text-wrap: balance;
  text-shadow: 0 10px 30px rgba(46, 42, 36, 0.34);
}


/* Text */

.wm-hero__text {
  max-width: 525px;
  margin: 21px 0 0 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: 16.5px;
  line-height: 1.72;
  font-weight: 400;
  text-shadow: 0 5px 20px rgba(46, 42, 36, 0.26);
}


/* =========================
   BUTTONS
========================= */

.wm-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 11px;
  margin-top: 31px;
}

.wm-hero__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 26px;
  border-radius: 999px;
  text-decoration: none !important;
  font-size: 14.5px;
  font-weight: 700;
  letter-spacing: -0.01em;
  white-space: nowrap;
  transition:
    transform 0.24s ease,
    box-shadow 0.24s ease,
    background 0.24s ease,
    color 0.24s ease,
    border-color 0.24s ease;
}

.wm-hero__btn--primary {
  background: #B8893F;
  color: #FFF9EF !important;
  box-shadow: 0 15px 34px rgba(184, 137, 63, 0.34);
}

.wm-hero__btn--primary:hover {
  background: #3F5A38;
  color: #FFF9EF !important;
  transform: translateY(-2px);
  box-shadow: 0 18px 40px rgba(63, 90, 56, 0.28);
}

.wm-hero__btn--secondary {
  background: rgba(255, 249, 239, 0.14);
  color: #ffffff !important;
  border: 1.5px solid rgba(255, 255, 255, 0.38);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.wm-hero__btn--secondary:hover {
  background: rgba(255, 249, 239, 0.24);
  color: #ffffff !important;
  transform: translateY(-2px);
  border-color: rgba(255, 255, 255, 0.56);
}

.wm-hero__btn--phone {
  display: none;
}


/* =========================
   FEATURE PILLS
========================= */

.wm-hero__features {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 24px;
}

.wm-hero__features span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 33px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(255, 249, 239, 0.18);
  border: 1px solid rgba(255, 249, 239, 0.34);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: rgba(255, 255, 255, 0.92);
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0.01em;
  white-space: nowrap;
}


/* =========================
   ANIMATION
========================= */

@keyframes wmHeroFadeUp {
  from {
    opacity: 0;
    transform: translateY(22px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}


/* =========================
   LAPTOP
========================= */

@media (max-width: 1180px) {
  .wm-hero {
    min-height: 90svh;
  }

  .wm-hero > .elementor-container {
    padding-bottom: 62px !important;
  }

  .wm-hero__content {
    max-width: 545px;
  }

  .wm-hero__title {
    font-size: clamp(38px, 5.6vw, 62px);
  }

  .wm-hero__text {
    max-width: 490px;
    font-size: 16px;
  }
}


/* =========================
   TABLET
========================= */

@media (max-width: 1024px) {
  .wm-hero {
    min-height: 84svh;
  }

  .wm-hero::after {
    background: linear-gradient(
      92deg,
      rgba(46, 42, 36, 0.38) 0%,
      rgba(46, 42, 36, 0.20) 52%,
      rgba(46, 42, 36, 0.00) 74%
    );
  }

  .wm-hero__content {
    max-width: 100%;
  }

  .wm-hero__title {
    max-width: 100%;
    font-size: clamp(38px, 7vw, 58px);
  }

  .wm-hero__text {
    max-width: 100%;
    font-size: 15.5px;
  }

  .wm-hero__features span {
    height: 31px;
    padding: 0 12px;
    font-size: 11.5px;
  }
}


/* =========================
   MOBILE
========================= */

@media (max-width: 767px) {
  .wm-hero {
    min-height: 100svh;
  }

  .wm-hero::before {
    background: linear-gradient(
      180deg,
      rgba(46, 42, 36, 0.08) 0%,
      rgba(46, 42, 36, 0.18) 35%,
      rgba(46, 42, 36, 0.48) 68%,
      rgba(46, 42, 36, 0.72) 100%
    );
  }

  .wm-hero::after {
    background: linear-gradient(
      92deg,
      rgba(46, 42, 36, 0.16) 0%,
      rgba(46, 42, 36, 0.00) 55%
    );
  }

  .wm-hero > .elementor-container {
    padding-bottom: 44px !important;
    align-items: flex-end !important;
  }

  .wm-hero .elementor-widget-wrap {
    justify-content: flex-end !important;
  }

  .wm-hero__content {
    max-width: 100%;
  }

  .wm-hero__eyebrow {
    margin-bottom: 14px;
    font-size: 10.5px;
    letter-spacing: 0.12em;
  }

  .wm-hero__eyebrow span {
    width: 22px;
  }

  .wm-hero__title {
    max-width: 100%;
    font-size: clamp(34px, 9vw, 43px);
    line-height: 1.04;
    letter-spacing: -0.048em;
  }

  .wm-hero__text {
    max-width: 100%;
    margin-top: 16px;
    font-size: 15px;
    line-height: 1.66;
  }

  .wm-hero__actions {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    margin-top: 24px;
  }

  .wm-hero__btn {
    width: 100%;
    min-height: 50px;
    font-size: 14.5px;
  }

  .wm-hero__btn--secondary {
    display: none;
  }

  .wm-hero__btn--phone {
    display: inline-flex;
    background: rgba(255, 249, 239, 0.16);
    color: #ffffff !important;
    border: 1.5px solid rgba(255, 255, 255, 0.36);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
  }

  .wm-hero__btn--phone:hover {
    background: rgba(255, 249, 239, 0.26);
    color: #ffffff !important;
  }

  .wm-hero__features {
    margin-top: 20px;
    gap: 7px;
  }

  .wm-hero__features span {
    height: 30px;
    padding: 0 11px;
    font-size: 11.5px;
  }

  .wm-hero__features span:nth-child(n+5) {
    display: none;
  }
}


/* =========================
   SMALL MOBILE
========================= */

@media (max-width: 390px) {
  .wm-hero__title {
    font-size: 32px;
  }

  .wm-hero__text {
    font-size: 14.5px;
  }

  .wm-hero__features span:nth-child(n+4) {
    display: none;
  }

  .wm-hero__features span {
    height: 29px;
    padding: 0 10px;
    font-size: 11px;
  }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-ab7ad86 *//* ==========================================================================
   WILLA MORMIN — "O MIEJSCU" SECTION
   Elementor section CSS class: wm-about
   ========================================================================== */

.wm-about {
  background-color: #F6EAD7 !important;
  padding: 100px 0 !important;
}

.wm-about > .elementor-container {
  max-width: 1220px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
}

.wm-about .elementor-column > .elementor-widget-wrap {
  padding: 0 !important;
}

.wm-about__grid {
  display: grid;
  grid-template-columns: 55fr 45fr;
  gap: 72px;
  align-items: center;
  width: 100%;
}

.wm-about__media {
  position: relative;
}

.wm-about__image-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 5 / 6;
  border-radius: 20px;
  overflow: hidden;
  background-color: #E8DDD0;
  box-shadow:
    0 24px 56px rgba(46, 42, 36, 0.10),
    0 8px 20px rgba(46, 42, 36, 0.06);
  outline: 1px solid rgba(184, 137, 63, 0.12);
  outline-offset: -1px;
}

.wm-about__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  border-radius: inherit;
  filter: saturate(1.06) brightness(1.01);
  transition: transform 0.6s ease, filter 0.6s ease;
}

.wm-about__image-wrap:hover .wm-about__image {
  transform: scale(1.025);
  filter: saturate(1.10) brightness(1.02);
}

.wm-about__badge {
  position: absolute;
  bottom: 18px;
  left: 18px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  height: 38px;
  padding: 0 14px 0 10px;
  border-radius: 999px;
  background: rgba(255, 249, 239, 0.94);
  border: 1px solid rgba(184, 137, 63, 0.28);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: 0 8px 24px rgba(46, 42, 36, 0.12);
}

.wm-about__badge-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}

.wm-about__badge-text {
  color: #2E2A24;
  font-size: 12.5px;
  font-weight: 650;
  letter-spacing: -0.01em;
  white-space: nowrap;
  line-height: 1;
}

.wm-about__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.wm-about__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 20px;
  color: #B8893F;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.wm-about__eyebrow-line {
  display: inline-block;
  width: 28px;
  height: 1.5px;
  background: #B8893F;
  flex-shrink: 0;
  border-radius: 999px;
}

.wm-about__title {
  margin: 0 0 22px 0;
  color: #2E2A24;
  font-size: clamp(26px, 2.8vw, 40px);
  line-height: 1.14;
  font-weight: 500;
  letter-spacing: -0.04em;
  text-wrap: balance;
  max-width: 500px;
}

.wm-about__text {
  margin: 0;
  color: #665E52;
  font-size: 16.5px;
  line-height: 1.82;
  font-weight: 400;
  letter-spacing: -0.01em;
  max-width: 500px;
}

.wm-about__divider {
  width: 40px;
  height: 1.5px;
  background: rgba(184, 137, 63, 0.36);
  border-radius: 999px;
  margin: 30px 0;
  flex-shrink: 0;
}

.wm-about__benefits {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.wm-about__benefit {
  display: flex;
  align-items: center;
  gap: 14px;
}

.wm-about__benefit-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: rgba(63, 90, 56, 0.08);
  border: 1px solid rgba(63, 90, 56, 0.12);
  transition: background 0.25s ease, border-color 0.25s ease;
}

.wm-about__benefit:hover .wm-about__benefit-icon {
  background: rgba(63, 90, 56, 0.14);
  border-color: rgba(63, 90, 56, 0.22);
}

.wm-about__benefit-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.wm-about__benefit-label {
  color: #2E2A24;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.015em;
  line-height: 1.3;
}

/* Laptop */
@media (max-width: 1180px) {
  .wm-about {
    padding: 86px 0 !important;
  }

  .wm-about > .elementor-container {
    padding-left: 32px !important;
    padding-right: 32px !important;
  }

  .wm-about__grid {
    gap: 52px;
  }

  .wm-about__title {
    max-width: 100%;
    font-size: clamp(24px, 3.2vw, 36px);
  }

  .wm-about__text {
    max-width: 100%;
    font-size: 16px;
  }
}

/* Tablet */
@media (max-width: 1024px) {
  .wm-about {
    padding: 72px 0 !important;
  }

  .wm-about > .elementor-container {
    padding-left: 28px !important;
    padding-right: 28px !important;
  }

  .wm-about__grid {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }

  .wm-about__image-wrap {
    aspect-ratio: 4 / 5;
    border-radius: 16px;
  }

  .wm-about__title {
    font-size: clamp(22px, 3.8vw, 32px);
  }

  .wm-about__text {
    font-size: 15.5px;
    line-height: 1.78;
  }

  .wm-about__benefit-label {
    font-size: 14.5px;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .wm-about {
    padding: 64px 0 !important;
  }

  .wm-about > .elementor-container {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .wm-about__grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .wm-about__image-wrap {
    aspect-ratio: 4 / 3;
    border-radius: 16px;
  }

  .wm-about__badge {
    height: 34px;
    padding: 0 12px 0 8px;
    gap: 6px;
    bottom: 14px;
    left: 14px;
  }

  .wm-about__badge-text {
    font-size: 12px;
  }

  .wm-about__eyebrow {
    margin-bottom: 16px;
    font-size: 10.5px;
  }

  .wm-about__title {
    max-width: 100%;
    margin-bottom: 18px;
    font-size: clamp(24px, 7.5vw, 32px);
    line-height: 1.16;
    letter-spacing: -0.035em;
  }

  .wm-about__text {
    max-width: 100%;
    font-size: 15px;
    line-height: 1.76;
  }

  .wm-about__divider {
    width: 32px;
    margin: 24px 0;
  }

  .wm-about__benefits {
    gap: 14px;
  }

  .wm-about__benefit-icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
  }

  .wm-about__benefit-label {
    font-size: 14.5px;
  }
}

/* Small mobile */
@media (max-width: 390px) {
  .wm-about {
    padding: 52px 0 !important;
  }

  .wm-about > .elementor-container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .wm-about__title {
    font-size: 23px;
  }

  .wm-about__text {
    font-size: 14.5px;
  }

  .wm-about__badge-text {
    font-size: 11.5px;
  }
}
/* =========================
   WILLA MORMIN — ABOUT POLISH OVERRIDES
   Badge jak w referencji + wyróżniki poziomo
========================= */

/* Naprawia problem pustego beżowego dołu pod zdjęciem */
.wm-about .wm-about__image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* Delikatnie bardziej elegancka proporcja zdjęcia na desktopie */
.wm-about .wm-about__image-wrap {
  aspect-ratio: 5 / 5.9;
}

/* Badge jak na screenie — karta w prawym dolnym rogu */
.wm-about .wm-about__badge {
  left: auto !important;
  right: 22px !important;
  bottom: -26px !important;
  width: 128px !important;
  height: 92px !important;
  padding: 0 !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 5px !important;

  border-radius: 18px !important;
  background: rgba(255, 249, 239, 0.96) !important;
  border: 1px solid rgba(184, 137, 63, 0.22) !important;
  box-shadow:
    0 18px 38px rgba(46, 42, 36, 0.14),
    0 6px 14px rgba(46, 42, 36, 0.07) !important;

  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
}

/* Ukrycie starej ikonki, jeśli została przypadkiem w HTML */
.wm-about .wm-about__badge-icon {
  display: none !important;
}

.wm-about .wm-about__badge-main {
  display: block;
  color: #B8893F;
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.035em;
}

.wm-about .wm-about__badge-sub {
  display: block;
  color: #6B4F35;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

/* Usuwamy divider, bo w referencji wyróżniki są czysto pod tekstem */
.wm-about .wm-about__divider {
  display: none !important;
}

/* Więcej oddechu po opisie */
.wm-about .wm-about__text {
  margin-bottom: 42px !important;
}

/* Wyróżniki w poziomie jak na screenie */
.wm-about .wm-about__benefits {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 34px !important;
  align-items: start !important;
}

/* Każdy wyróżnik jako pionowy mini-blok: ikona nad tekstem */
.wm-about .wm-about__benefit {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 12px !important;
}

/* Ikony bez kwadratowych boxów, bardziej jak w referencji */
.wm-about .wm-about__benefit-icon {
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}

.wm-about .wm-about__benefit-icon svg {
  width: 22px !important;
  height: 22px !important;
}

.wm-about .wm-about__benefit-icon svg path {
  stroke: #B8893F !important;
}

.wm-about .wm-about__benefit-label {
  color: #2E2A24 !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.015em !important;
}

/* Hover już nie potrzebuje boxa */
.wm-about .wm-about__benefit:hover .wm-about__benefit-icon {
  background: transparent !important;
  border-color: transparent !important;
}

/* Tablet */
@media (max-width: 1024px) {
  .wm-about .wm-about__benefits {
    gap: 22px !important;
  }

  .wm-about .wm-about__badge {
    width: 116px !important;
    height: 84px !important;
    right: 18px !important;
    bottom: -22px !important;
  }

  .wm-about .wm-about__badge-main {
    font-size: 18px !important;
  }

  .wm-about .wm-about__badge-sub {
    font-size: 10px !important;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .wm-about .wm-about__image-wrap {
    aspect-ratio: 4 / 3 !important;
  }

  .wm-about .wm-about__badge {
    right: 14px !important;
    bottom: -20px !important;
    width: 108px !important;
    height: 76px !important;
    border-radius: 16px !important;
  }

  .wm-about .wm-about__badge-main {
    font-size: 17px !important;
  }

  .wm-about .wm-about__badge-sub {
    font-size: 9.5px !important;
    letter-spacing: 0.12em !important;
  }

  .wm-about .wm-about__text {
    margin-bottom: 30px !important;
  }

  .wm-about .wm-about__benefits {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .wm-about .wm-about__benefit {
    flex-direction: row !important;
    align-items: center !important;
    gap: 13px !important;
  }

  .wm-about .wm-about__benefit-icon svg {
    width: 20px !important;
    height: 20px !important;
  }
}
/* =========================
   WILLA MORMIN — ABOUT FINAL CLIENT PATCH
   Badge higher + centered + bigger icons
========================= */

/* Badge wyżej i symetrycznie */
.wm-about .wm-about__badge {
  right: 22px !important;
  bottom: 18px !important;
  width: 128px !important;
  height: 88px !important;
  padding: 0 !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;

  text-align: center !important;
  border-radius: 18px !important;
  background: rgba(255, 249, 239, 0.96) !important;
  border: 1px solid rgba(184, 137, 63, 0.22) !important;
  box-shadow:
    0 18px 38px rgba(46, 42, 36, 0.14),
    0 6px 14px rgba(46, 42, 36, 0.07) !important;
}

.wm-about .wm-about__badge-main,
.wm-about .wm-about__badge-sub {
  width: 100% !important;
  text-align: center !important;
}

.wm-about .wm-about__badge-main {
  font-size: 20px !important;
  line-height: 1 !important;
  color: #B8893F !important;
}

.wm-about .wm-about__badge-sub {
  font-size: 10.5px !important;
  line-height: 1 !important;
  letter-spacing: 0.14em !important;
  color: #6B4F35 !important;
  text-transform: uppercase !important;
}

/* Większe ikony w wyróżnikach */
.wm-about .wm-about__benefit-icon svg {
  width: 26px !important;
  height: 26px !important;
}

.wm-about .wm-about__benefit-label {
  font-size: 14.5px !important;
}

/* Tablet */
@media (max-width: 1024px) {
  .wm-about .wm-about__badge {
    width: 116px !important;
    height: 80px !important;
    right: 18px !important;
    bottom: 16px !important;
  }

  .wm-about .wm-about__badge-main {
    font-size: 18px !important;
  }

  .wm-about .wm-about__badge-sub {
    font-size: 10px !important;
  }

  .wm-about .wm-about__benefit-icon svg {
    width: 24px !important;
    height: 24px !important;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .wm-about .wm-about__badge {
    right: 14px !important;
    bottom: 14px !important;
    width: 108px !important;
    height: 74px !important;
    border-radius: 16px !important;
  }

  .wm-about .wm-about__badge-main {
    font-size: 17px !important;
  }

  .wm-about .wm-about__badge-sub {
    font-size: 9.5px !important;
    letter-spacing: 0.12em !important;
  }

  .wm-about .wm-about__benefit-icon svg {
    width: 22px !important;
    height: 22px !important;
  }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-f9785fa *//* ================================================================
   WILLA MORMIN — NAJWIĘKSZE ATUTY SECTION
   Paste into: Elementor Site Settings → Custom CSS
   (or section Advanced → Custom CSS)
   Section class: wm-amenities
   All .elementor-15 .elementor-element.elementor-element-f9785fas scoped to .wm-amenities — no global bleeding.
   ================================================================ */
 
/* ---------------------------------------------------------------
   SECTION WRAPPER
   --------------------------------------------------------------- */
 
.wm-amenities {
  background-color: #FDF5E6 !important;
  padding-top: 96px !important;
  padding-bottom: 96px !important;
}
 
/* Classic Elementor sections */
.wm-amenities > .elementor-container {
  max-width: 1220px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
}
 
/* Elementor Containers (v3.6+ flexbox mode) */
.wm-amenities > .e-con,
.wm-amenities > .e-con-inner {
  max-width: 1220px !important;
  padding-left: 40px !important;
  padding-right: 40px !important;
}
 
/* Remove Elementor column padding inside the section */
.wm-amenities .elementor-column > .elementor-widget-wrap,
.wm-amenities .e-con > .elementor-widget-wrap {
  padding: 0 !important;
}
 
/* ---------------------------------------------------------------
   INNER WRAP
   --------------------------------------------------------------- */
 
.wm-amenities__wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
 
/* ---------------------------------------------------------------
   HEADER
   --------------------------------------------------------------- */
 
.wm-amenities__header {
  text-align: center;
  margin-bottom: 56px;
  max-width: 820px;
  width: 100%;
}
 
.wm-amenities__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  margin: 0 0 18px 0;
  padding: 0;
  color: #B8893F;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  line-height: 1;
}
 
.wm-amenities__eyebrow-line {
  display: inline-block;
  width: 28px;
  height: 1.5px;
  background: #B8893F;
  flex-shrink: 0;
  border-radius: 999px;
}
 
.wm-amenities__title {
  margin: 0;
  padding: 0;
  color: #2E2A24;
  font-size: clamp(26px, 2.8vw, 42px);
  line-height: 1.16;
  font-weight: 500;
  letter-spacing: -0.045em;
  text-wrap: balance;
}
 
/* ---------------------------------------------------------------
   GRID
   --------------------------------------------------------------- */
 
.wm-amenities__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  width: 100%;
  list-style: none;
  margin: 0;
  padding: 0;
}
 
/* ---------------------------------------------------------------
   CARD
   --------------------------------------------------------------- */
 
.wm-amenities__card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  padding: 24px 20px 26px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.64);
  border: 1px solid rgba(184, 137, 63, 0.13);
  box-shadow:
    0 2px 6px rgba(46, 42, 36, 0.04),
    0 8px 24px rgba(46, 42, 36, 0.055);
  transition:
    transform 0.28s ease,
    box-shadow 0.28s ease,
    border-color 0.28s ease,
    background 0.28s ease;
  cursor: default;
  /* Reset any potential list-item defaults */
  list-style: none;
}
 
.wm-amenities__card:hover {
  transform: translateY(-3px);
  background: rgba(255, 255, 255, 0.82);
  box-shadow:
    0 4px 10px rgba(46, 42, 36, 0.06),
    0 14px 38px rgba(46, 42, 36, 0.09);
  border-color: rgba(184, 137, 63, 0.26);
}
 
/* Icon circle */
.wm-amenities__card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(184, 137, 63, 0.10);
  border: 1px solid rgba(184, 137, 63, 0.16);
  transition: background 0.25s ease, border-color 0.25s ease;
}
 
.wm-amenities__card:hover .wm-amenities__card-icon {
  background: rgba(184, 137, 63, 0.17);
  border-color: rgba(184, 137, 63, 0.30);
}
 
.wm-amenities__card-icon svg {
  width: 20px;
  height: 20px;
  display: block;
  flex-shrink: 0;
  overflow: visible;
}
 
/* Card label */
.wm-amenities__card-label {
  display: block;
  color: #2E2A24;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.42;
  letter-spacing: -0.015em;
  margin: 0;
  padding: 0;
}
 
/* ---------------------------------------------------------------
   CTA
   --------------------------------------------------------------- */
 
.wm-amenities__cta {
  width: 100%;
  margin-top: 64px;
  padding-top: 56px;
  border-top: 1px solid rgba(184, 137, 63, 0.18);
  display: flex;
  justify-content: center;
}
 
.wm-amenities__cta-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 620px;
  width: 100%;
}
 
.wm-amenities__cta-title {
  margin: 0 0 14px 0;
  padding: 0;
  color: #2E2A24;
  font-size: clamp(18px, 1.8vw, 24px);
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 1.3;
}
 
.wm-amenities__cta-text {
  margin: 0 0 30px 0;
  padding: 0;
  color: #665E52;
  font-size: 15.5px;
  line-height: 1.78;
  letter-spacing: -0.01em;
  max-width: 540px;
}
 
.wm-amenities__cta-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}
 
/* Shared button base */
.wm-amenities__cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 28px;
  border-radius: 999px;
  text-decoration: none !important;
  font-size: 15px;
  font-weight: 650;
  letter-spacing: -0.01em;
  line-height: 1;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease,
    color 0.25s ease,
    border-color 0.25s ease;
}
 
/* Primary — gold fill */
.wm-amenities__cta-btn--primary {
  background: #B8893F;
  color: #FFF9EF !important;
  border: 1.5px solid #B8893F;
  box-shadow: 0 12px 28px rgba(184, 137, 63, 0.24);
}
 
.wm-amenities__cta-btn--primary:hover {
  background: #3F5A38;
  border-color: #3F5A38;
  color: #FFF9EF !important;
  transform: translateY(-2px);
  box-shadow: 0 16px 34px rgba(63, 90, 56, 0.24);
}
 
/* Secondary — ghost */
.wm-amenities__cta-btn--secondary {
  background: transparent;
  color: #6B4F35 !important;
  border: 1.5px solid rgba(184, 137, 63, 0.38);
}
 
.wm-amenities__cta-btn--secondary:hover {
  background: rgba(184, 137, 63, 0.08);
  border-color: #B8893F;
  color: #6B4F35 !important;
  transform: translateY(-2px);
}
 
/* ---------------------------------------------------------------
   LAPTOP  ≤1180px  →  4 columns
   --------------------------------------------------------------- */
 
@media (max-width: 1180px) {
  .wm-amenities {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }
 
  .wm-amenities > .elementor-container,
  .wm-amenities > .e-con {
    padding-left: 32px !important;
    padding-right: 32px !important;
  }
 
  .wm-amenities__header {
    margin-bottom: 48px;
  }
 
  .wm-amenities__grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
  }
 
  .wm-amenities__cta {
    margin-top: 56px;
    padding-top: 48px;
  }
}
 
/* ---------------------------------------------------------------
   TABLET  ≤1024px  →  3 columns
   --------------------------------------------------------------- */
 
@media (max-width: 1024px) {
  .wm-amenities {
    padding-top: 72px !important;
    padding-bottom: 72px !important;
  }
 
  .wm-amenities > .elementor-container,
  .wm-amenities > .e-con {
    padding-left: 28px !important;
    padding-right: 28px !important;
  }
 
  .wm-amenities__header {
    margin-bottom: 40px;
  }
 
  .wm-amenities__grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 13px;
  }
 
  .wm-amenities__cta {
    margin-top: 52px;
    padding-top: 44px;
  }
}
 
/* ---------------------------------------------------------------
   MOBILE  ≤767px  →  2 columns, left-aligned header, stacked CTA
   --------------------------------------------------------------- */
 
@media (max-width: 767px) {
  .wm-amenities {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
 
  .wm-amenities > .elementor-container,
  .wm-amenities > .e-con {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
 
  .wm-amenities__header {
    text-align: left;
    margin-bottom: 32px;
  }
 
  .wm-amenities__eyebrow {
    font-size: 10.5px;
    letter-spacing: 0.13em;
  }
 
  .wm-amenities__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
 
  .wm-amenities__card {
    padding: 16px 14px 18px;
    border-radius: 14px;
    gap: 11px;
  }
 
  .wm-amenities__card-icon {
    width: 36px;
    height: 36px;
  }
 
  .wm-amenities__card-icon svg {
    width: 18px;
    height: 18px;
  }
 
  .wm-amenities__card-label {
    font-size: 13px;
  }
 
  .wm-amenities__cta {
    margin-top: 44px;
    padding-top: 38px;
  }
 
  .wm-amenities__cta-inner {
    align-items: flex-start;
    text-align: left;
  }
 
  .wm-amenities__cta-text {
    font-size: 14.5px;
  }
 
  .wm-amenities__cta-actions {
    flex-direction: column;
    width: 100%;
    gap: 10px;
  }
 
  .wm-amenities__cta-btn {
    width: 100%;
    min-height: 50px;
    font-size: 14.5px;
    justify-content: center;
  }
}
 
/* ---------------------------------------------------------------
   SMALL MOBILE  ≤390px
   --------------------------------------------------------------- */
 
@media (max-width: 390px) {
  .wm-amenities {
    padding-top: 52px !important;
    padding-bottom: 52px !important;
  }
 
  .wm-amenities > .elementor-container,
  .wm-amenities > .e-con {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
 
  .wm-amenities__card {
    padding: 14px 12px 16px;
  }
 
  .wm-amenities__card-label {
    font-size: 12.5px;
  }
 
  .wm-amenities__cta-title {
    font-size: 17px;
  }
 
  .wm-amenities__cta-text {
    font-size: 14px;
  }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-bd45779 *//* =========================
   WILLA MORMIN — DOM SECTION
   Shell reset + final section + lightbox
========================= */

/* ELEMENTOR SHELL RESET */
.wm-dom-shell,
.wm-dom-shell > .elementor-container,
.wm-dom-shell > .e-con-inner,
.wm-dom-shell .elementor-column,
.wm-dom-shell .elementor-widget-wrap,
.wm-dom-shell .elementor-widget,
.wm-dom-shell .elementor-widget-container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.wm-dom-shell {
  overflow: hidden !important;
}

/* =========================
   SECTION BASE
========================= */

.wm-dom,
.wm-dom * {
  box-sizing: border-box;
}

.wm-dom {
  --wm-bg: #FFF9EF;
  --wm-bg-soft: #F7EAD5;
  --wm-text: #2E2A24;
  --wm-muted: rgba(46, 42, 36, 0.68);
  --wm-gold: #B8893F;
  --wm-green: #3F5A38;
  --wm-border: rgba(184, 137, 63, 0.17);

  width: 100%;
  background: var(--wm-bg);
  color: var(--wm-text);
  overflow: hidden;
}

.wm-dom__container {
  width: min(1200px, calc(100% - 80px));
  margin: 0 auto;
}

/* =========================
   INTRO
========================= */

.wm-dom__intro {
  padding: 108px 0 86px;
  background:
    radial-gradient(circle at 12% 8%, rgba(184, 137, 63, 0.08), transparent 28%),
    var(--wm-bg);
}

.wm-dom__intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 76px;
  align-items: start;
}

.wm-dom__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  margin: 0 0 24px;
  color: var(--wm-gold);
  font-size: 11px;
  font-weight: 750;
  line-height: 1;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.wm-dom__eyebrow::before {
  content: "";
  width: 34px;
  height: 1px;
  background: currentColor;
  opacity: 0.7;
}

.wm-dom__title {
  margin: 0;
  max-width: 640px;
  color: var(--wm-text);
  font-size: clamp(38px, 4.4vw, 64px);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -0.055em;
  text-wrap: balance;
}

.wm-dom__lead {
  margin: 30px 0 0;
  max-width: 570px;
  color: var(--wm-muted);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.82;
  letter-spacing: -0.015em;
}

.wm-dom__features {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 5px 0 0;
  padding: 0;
  list-style: none;
}

.wm-dom__feature {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 78px;
  padding: 17px 18px;
  border: 1px solid var(--wm-border);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(255,255,255,0.82), rgba(246,234,215,0.68));
  box-shadow: 0 18px 46px rgba(46, 42, 36, 0.045);
  transition: transform 0.28s ease, box-shadow 0.28s ease, border-color 0.28s ease, background 0.28s ease;
}

.wm-dom__feature:hover {
  transform: translateY(-3px);
  border-color: rgba(184, 137, 63, 0.28);
  box-shadow: 0 24px 56px rgba(46, 42, 36, 0.07);
  background: linear-gradient(135deg, rgba(255,255,255,0.94), rgba(246,234,215,0.82));
}

.wm-dom__icon {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: var(--wm-gold);
  background: rgba(184, 137, 63, 0.12);
}

.wm-dom__icon svg {
  width: 18px;
  height: 18px;
  display: block;
}

.wm-dom__feature span:last-child {
  color: rgba(46, 42, 36, 0.86);
  font-size: 14.5px;
  font-weight: 650;
  line-height: 1.35;
  letter-spacing: -0.015em;
}

/* =========================
   GALLERY
========================= */

.wm-dom__gallery {
  padding: 82px 0 92px;
  background:
    linear-gradient(180deg, rgba(255,249,239,0.35), rgba(255,249,239,0)),
    var(--wm-bg-soft);
}

.wm-dom__gallery-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 34px;
}

.wm-dom__gallery-title {
  margin: 0;
  color: var(--wm-text);
  font-size: clamp(31px, 3.2vw, 46px);
  font-weight: 500;
  line-height: 1.06;
  letter-spacing: -0.052em;
}

.wm-dom__gallery-sub {
  margin: 0 0 6px;
  color: rgba(46, 42, 36, 0.56);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.025em;
  text-align: right;
  white-space: nowrap;
}

.wm-dom__gallery-grid {
  display: grid;
  grid-template-columns: 1.28fr 0.86fr 0.86fr;
  grid-template-rows: 285px 285px;
  gap: 16px;
}

.wm-dom__photo {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 24px;
  background: #E9DCC7;
  box-shadow: 0 22px 56px rgba(46, 42, 36, 0.075);
  transform: translateZ(0);
  cursor: zoom-in;
  appearance: none;
  -webkit-appearance: none;
  text-align: left;
  font: inherit;
}

.wm-dom__photo--large {
  grid-column: 1 / 2;
  grid-row: 1 / 3;
}

.wm-dom__photo--wide {
  grid-column: 2 / 4;
  grid-row: 1 / 2;
}

.wm-dom__photo--small-left {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
}

.wm-dom__photo--small-right {
  grid-column: 3 / 4;
  grid-row: 2 / 3;
}

.wm-dom__photo img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  transition: transform 0.7s cubic-bezier(0.19, 1, 0.22, 1);
}

.wm-dom__photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 58%, rgba(46, 42, 36, 0.12));
  opacity: 0;
  transition: opacity 0.35s ease;
  pointer-events: none;
}

.wm-dom__photo-label {
  position: absolute;
  left: 18px;
  bottom: 18px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 15px;
  border-radius: 999px;
  background: rgba(255, 249, 239, 0.9);
  color: #6B4F35;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: -0.01em;
  box-shadow: 0 10px 26px rgba(46, 42, 36, 0.16);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.28s ease, transform 0.28s ease;
  pointer-events: none;
}

.wm-dom__photo:focus-visible {
  outline: 3px solid rgba(184, 137, 63, 0.45);
  outline-offset: 4px;
}

@media (hover: hover) {
  .wm-dom__photo:hover img {
    transform: scale(1.045);
  }

  .wm-dom__photo:hover::after {
    opacity: 1;
  }

  .wm-dom__photo:hover .wm-dom__photo-label {
    opacity: 1;
    transform: translateY(0);
  }
}

/* =========================
   CTA
========================= */

.wm-dom__cta {
  padding: 74px 0 106px;
  background: var(--wm-bg);
}

.wm-dom__cta-box {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 44px;
  padding: 48px 52px;
  border: 1px solid rgba(184, 137, 63, 0.20);
  border-radius: 30px;
  background:
    radial-gradient(circle at 8% 0%, rgba(184, 137, 63, 0.12), transparent 34%),
    linear-gradient(135deg, rgba(246, 234, 215, 0.78), rgba(255, 252, 246, 0.94));
  box-shadow: 0 26px 70px rgba(46, 42, 36, 0.07);
}

.wm-dom__cta-title {
  margin: 0;
  max-width: 660px;
  color: var(--wm-text);
  font-size: clamp(23px, 2.35vw, 33px);
  font-weight: 500;
  line-height: 1.18;
  letter-spacing: -0.04em;
  text-wrap: balance;
}

.wm-dom__cta-text {
  margin: 15px 0 0;
  max-width: 620px;
  color: rgba(46, 42, 36, 0.66);
  font-size: 15.5px;
  line-height: 1.72;
  letter-spacing: -0.01em;
}

.wm-dom__cta-actions {
  display: flex;
  flex-direction: column;
  gap: 11px;
  min-width: 230px;
}

.wm-dom__btn {
  min-height: 50px;
  padding: 0 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  text-decoration: none !important;
  font-size: 14.5px;
  font-weight: 750;
  line-height: 1;
  letter-spacing: -0.01em;
  white-space: nowrap;
  transition: transform 0.25s ease, background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.wm-dom__btn--primary {
  color: #FFF9EF !important;
  background: var(--wm-gold);
  border: 1px solid var(--wm-gold);
  box-shadow: 0 15px 34px rgba(184, 137, 63, 0.28);
}

.wm-dom__btn--primary:hover {
  color: #FFF9EF !important;
  background: var(--wm-green);
  border-color: var(--wm-green);
  transform: translateY(-2px);
  box-shadow: 0 18px 42px rgba(63, 90, 56, 0.25);
}

.wm-dom__btn--secondary {
  color: #6B4F35 !important;
  background: rgba(255, 249, 239, 0.74);
  border: 1px solid rgba(184, 137, 63, 0.28);
  box-shadow: 0 10px 25px rgba(46, 42, 36, 0.055);
}

.wm-dom__btn--secondary:hover {
  color: #FFF9EF !important;
  background: var(--wm-green);
  border-color: var(--wm-green);
  transform: translateY(-2px);
  box-shadow: 0 16px 36px rgba(63, 90, 56, 0.20);
}

/* =========================
   LIGHTBOX
========================= */

.wm-dom-lightbox {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 34px;
  background: rgba(22, 20, 17, 0.82);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.wm-dom-lightbox.is-active {
  display: flex;
}

.wm-dom-lightbox__inner {
  position: relative;
  width: min(1180px, 100%);
  max-height: calc(100vh - 68px);
  display: flex;
  align-items: center;
  justify-content: center;
}

.wm-dom-lightbox__img {
  display: block;
  max-width: 100%;
  max-height: calc(100vh - 68px);
  object-fit: contain;
  border-radius: 24px;
  box-shadow: 0 34px 110px rgba(0, 0, 0, 0.38);
  background: #F7EAD5;
}

.wm-dom-lightbox__close {
  position: fixed;
  top: 24px;
  right: 24px;
  z-index: 2;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(255, 249, 239, 0.26);
  border-radius: 999px;
  background: rgba(255, 249, 239, 0.92);
  color: #2E2A24;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.22);
  transition: transform 0.22s ease, background 0.22s ease, color 0.22s ease;
}

.wm-dom-lightbox__close:hover {
  transform: translateY(-2px);
  background: #B8893F;
  color: #FFF9EF;
}

body.wm-dom-lightbox-open {
  overflow: hidden;
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width: 1180px) {
  .wm-dom__container {
    width: min(100% - 56px, 1120px);
  }

  .wm-dom__intro-grid {
    gap: 52px;
  }

  .wm-dom__gallery-grid {
    grid-template-rows: 260px 260px;
  }
}

@media (max-width: 1024px) {
  .wm-dom__intro {
    padding: 82px 0 68px;
  }

  .wm-dom__intro-grid {
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .wm-dom__title,
  .wm-dom__lead {
    max-width: 760px;
  }

  .wm-dom__features {
    max-width: 820px;
  }

  .wm-dom__gallery {
    padding: 66px 0 72px;
  }

  .wm-dom__gallery-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 360px 255px 255px;
  }

  .wm-dom__photo--large {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
  }

  .wm-dom__photo--wide {
    grid-column: 1 / 3;
    grid-row: 2 / 3;
  }

  .wm-dom__photo--small-left {
    grid-column: 1 / 2;
    grid-row: 3 / 4;
  }

  .wm-dom__photo--small-right {
    grid-column: 2 / 3;
    grid-row: 3 / 4;
  }

  .wm-dom__cta {
    padding: 58px 0 82px;
  }

  .wm-dom__cta-box {
    grid-template-columns: 1fr;
    gap: 30px;
    padding: 42px 36px;
  }

  .wm-dom__cta-actions {
    width: 100%;
    min-width: 0;
    flex-direction: row;
  }

  .wm-dom__btn {
    flex: 1;
  }
}

@media (max-width: 767px) {
  .wm-dom__container {
    width: calc(100% - 40px);
  }

  .wm-dom__intro {
    padding: 62px 0 52px;
  }

  .wm-dom__eyebrow {
    margin-bottom: 19px;
    font-size: 10px;
    letter-spacing: 0.18em;
  }

  .wm-dom__eyebrow::before {
    width: 28px;
  }

  .wm-dom__title {
    font-size: clamp(33px, 9.2vw, 42px);
    line-height: 1.05;
  }

  .wm-dom__lead {
    margin-top: 22px;
    font-size: 15.5px;
    line-height: 1.74;
  }

  .wm-dom__features {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .wm-dom__feature {
    min-height: auto;
    padding: 14px 13px;
    gap: 10px;
    border-radius: 15px;
  }

  .wm-dom__icon {
    width: 33px;
    height: 33px;
    flex-basis: 33px;
  }

  .wm-dom__icon svg {
    width: 15.5px;
    height: 15.5px;
  }

  .wm-dom__feature span:last-child {
    font-size: 12.5px;
  }

  .wm-dom__gallery {
    padding: 52px 0 58px;
  }

  .wm-dom__gallery-head {
    display: block;
    margin-bottom: 24px;
  }

  .wm-dom__gallery-title {
    font-size: clamp(29px, 8vw, 36px);
  }

  .wm-dom__gallery-sub {
    margin-top: 9px;
    text-align: left;
    white-space: normal;
    font-size: 13px;
  }

  .wm-dom__gallery-grid {
    display: flex;
    flex-direction: column;
    gap: 13px;
  }

  .wm-dom__photo {
    min-height: auto;
    height: auto;
    aspect-ratio: 4 / 3;
    border-radius: 18px;
  }

  .wm-dom__photo--large {
    aspect-ratio: 4 / 3.35;
  }

  .wm-dom__photo-label {
    display: none;
  }

  .wm-dom__cta {
    padding: 46px 0 64px;
  }

  .wm-dom__cta-box {
    padding: 34px 24px;
    border-radius: 24px;
  }

  .wm-dom__cta-text {
    font-size: 14.5px;
  }

  .wm-dom__cta-actions {
    flex-direction: column;
    gap: 10px;
  }

  .wm-dom__btn {
    width: 100%;
    min-height: 50px;
  }

  .wm-dom-lightbox {
    padding: 18px;
  }

  .wm-dom-lightbox__inner {
    max-height: calc(100vh - 36px);
  }

  .wm-dom-lightbox__img {
    max-height: calc(100vh - 36px);
    border-radius: 18px;
  }

  .wm-dom-lightbox__close {
    top: 14px;
    right: 14px;
    width: 42px;
    height: 42px;
    font-size: 25px;
  }
}

@media (max-width: 430px) {
  .wm-dom__container {
    width: calc(100% - 32px);
  }

  .wm-dom__features {
    grid-template-columns: 1fr;
  }

  .wm-dom__feature {
    padding: 14px;
  }
}
/* =========================
   WILLA MORMIN — DOM LIGHTBOX BLUE FIX
   Usunięcie niebieskiego X / focusa + podpis pod zdjęciem
========================= */

.wm-dom-lightbox {
  background: rgba(39, 34, 28, 0.86) !important;
}

.wm-dom-lightbox__inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px !important;
}

.wm-dom-lightbox__img {
  border-radius: 24px !important;
  box-shadow: 0 34px 110px rgba(0, 0, 0, 0.42) !important;
  background: #F7EAD5 !important;
}

.wm-dom-lightbox__caption {
  width: min(920px, 100%) !important;
  margin: 0 !important;
  padding: 13px 20px !important;
  border-radius: 999px !important;
  background: rgba(255, 249, 239, 0.92) !important;
  border: 1px solid rgba(184, 137, 63, 0.26) !important;
  color: rgba(46, 42, 36, 0.78) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  text-align: center !important;
  letter-spacing: -0.01em !important;
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.18) !important;
}

/* Najważniejsze: kasujemy niebieski styl z przycisku X */

button.wm-dom-lightbox__close,
.wm-dom-lightbox__close,
.wm-dom-lightbox__close[type="button"] {
  position: fixed !important;
  top: 24px !important;
  right: 24px !important;
  z-index: 9999999 !important;

  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  padding: 0 !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border: 1px solid rgba(184, 137, 63, 0.42) !important;
  border-radius: 999px !important;
  background: #B8893F !important;
  color: #FFF9EF !important;

  font-family: Arial, sans-serif !important;
  font-size: 30px !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-decoration: none !important;

  cursor: pointer !important;
  outline: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -webkit-tap-highlight-color: transparent !important;

  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.24) !important;
  transition:
    transform 0.22s ease,
    background 0.22s ease,
    color 0.22s ease,
    border-color 0.22s ease,
    box-shadow 0.22s ease !important;
}

button.wm-dom-lightbox__close:hover,
.wm-dom-lightbox__close:hover {
  background: #3F5A38 !important;
  border-color: #3F5A38 !important;
  color: #FFF9EF !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 18px 42px rgba(63, 90, 56, 0.28) !important;
}

button.wm-dom-lightbox__close:focus,
button.wm-dom-lightbox__close:focus-visible,
button.wm-dom-lightbox__close:active,
.wm-dom-lightbox__close:focus,
.wm-dom-lightbox__close:focus-visible,
.wm-dom-lightbox__close:active {
  outline: none !important;
  background: #B8893F !important;
  border-color: rgba(184, 137, 63, 0.62) !important;
  color: #FFF9EF !important;
  box-shadow:
    0 14px 34px rgba(0, 0, 0, 0.24),
    0 0 0 4px rgba(184, 137, 63, 0.28) !important;
}

/* Mobile */

@media (max-width: 767px) {
  .wm-dom-lightbox__inner {
    gap: 12px !important;
  }

  .wm-dom-lightbox__img {
    border-radius: 18px !important;
  }

  .wm-dom-lightbox__caption {
    padding: 11px 15px !important;
    border-radius: 18px !important;
    font-size: 12.5px !important;
    line-height: 1.45 !important;
  }

  button.wm-dom-lightbox__close,
  .wm-dom-lightbox__close {
    top: 14px !important;
    right: 14px !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    font-size: 26px !important;
  }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-44e6df6 *//* ==========================================================
   WILLA MORMIN — SEKCJA OGRÓD
   Class prefix: wm-garden
   Version: 1.0

   Paste this into:
   Elementor > Site Settings > Custom CSS
   — or —
   Appearance > Customize > Additional CSS

   These rules are scoped to .wm-garden and will not
   affect any other section on the website.
========================================================== */

/* ─── CSS variables (inherits from header if already defined) ─── */

.wm-garden {
  --wm-bg:          #FFF9EF;
  --wm-bg-soft:     #F6EAD7;
  --wm-bg-card:     #F8EFE0;
  --wm-gold:        #B8893F;
  --wm-gold-soft:   rgba(184, 137, 63, 0.15);
  --wm-gold-border: rgba(184, 137, 63, 0.22);
  --wm-green:       #3F5A38;
  --wm-brown:       #6B4F35;
  --wm-text:        #2E2A24;
  --wm-muted:       rgba(46, 42, 36, 0.68);
  --wm-radius-card: 22px;
  --wm-radius-pill: 999px;
  --wm-gap:         18px;
}

/* ─── Section wrapper ─── */

.wm-garden {
  position: relative;
  background: var(--wm-bg);
  overflow: hidden;
}

/* Subtle warm texture strip at the top edge */
.wm-garden::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    var(--wm-gold-soft) 30%,
    rgba(63, 90, 56, 0.14) 70%,
    transparent 100%
  );
}


/* ==========================================================
   INTRO BLOCK
========================================================== */

.wm-garden__intro {
  padding: 96px 0 72px;
}

.wm-garden__intro-inner {
  max-width: 1220px;
  margin: 0 auto;
  padding: 0 40px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 72px;
  align-items: center;
}

/* ─── Eyebrow ─── */

.wm-garden__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
  color: var(--wm-gold);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.wm-garden__eyebrow-line {
  display: block;
  width: 32px;
  height: 1.5px;
  background: var(--wm-gold);
  flex-shrink: 0;
  border-radius: 999px;
}

/* ─── Heading ─── */

.wm-garden__heading {
  margin: 0 0 22px 0;
  color: var(--wm-text);
  font-size: clamp(28px, 2.8vw, 40px);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.04em;
  text-wrap: balance;
}

/* ─── Lead paragraph ─── */

.wm-garden__lead {
  margin: 0 0 34px 0;
  color: var(--wm-muted);
  font-size: 16.5px;
  line-height: 1.82;
  max-width: 500px;
}

/* ─── Feature pills ─── */

.wm-garden__pills {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.wm-garden__pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 16px 8px 10px;
  border-radius: var(--wm-radius-pill);
  background: rgba(255, 249, 239, 0.9);
  border: 1px solid var(--wm-gold-border);
  color: var(--wm-text);
  font-size: 13px;
  font-weight: 550;
  line-height: 1;
  box-shadow: 0 4px 14px rgba(46, 42, 36, 0.055);
  transition: background 0.22s ease, border-color 0.22s ease, box-shadow 0.22s ease;
}

.wm-garden__pill:hover {
  background: rgba(63, 90, 56, 0.07);
  border-color: rgba(63, 90, 56, 0.28);
  box-shadow: 0 6px 18px rgba(63, 90, 56, 0.09);
}

.wm-garden__pill-icon {
  flex-shrink: 0;
  display: block;
}

/* ─── Featured image ─── */

.wm-garden__intro-media {
  position: relative;
}

.wm-garden__featured-wrap {
  position: relative;
  border-radius: var(--wm-radius-card);
  overflow: hidden;
  box-shadow:
    0 24px 64px rgba(46, 42, 36, 0.13),
    0 4px 16px rgba(46, 42, 36, 0.07);
  aspect-ratio: 4 / 3;
}

.wm-garden__featured-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.55s ease;
}

.wm-garden__featured-wrap:hover .wm-garden__featured-img {
  transform: scale(1.03);
}

/* Badge overlay on the featured image */
.wm-garden__featured-badge {
  position: absolute;
  bottom: 20px;
  right: 20px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 3px;
  padding: 12px 18px;
  border-radius: 16px;
  background: rgba(255, 249, 239, 0.92);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid var(--wm-gold-border);
  box-shadow: 0 8px 28px rgba(46, 42, 36, 0.12);
}

.wm-garden__featured-badge > span:first-child {
  color: var(--wm-text);
  font-size: 17px;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1;
}

.wm-garden__featured-badge-sub {
  color: var(--wm-gold);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1;
}


/* ==========================================================
   GALLERY BLOCK
========================================================== */

.wm-garden__gallery-wrap {
  background: var(--wm-bg-soft);
  padding: 72px 0 96px;
  border-top: 1px solid var(--wm-gold-border);
}

.wm-garden__gallery-inner {
  max-width: 1220px;
  margin: 0 auto;
  padding: 0 40px;
}

/* ─── Gallery header ─── */

.wm-garden__gallery-header {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-bottom: 44px;
}

.wm-garden__gallery-title {
  margin: 0;
  flex-shrink: 0;
  color: var(--wm-text);
  font-size: clamp(20px, 2vw, 26px);
  font-weight: 600;
  letter-spacing: -0.035em;
}

.wm-garden__gallery-divider {
  flex: 1;
  height: 1px;
  background: linear-gradient(
    90deg,
    var(--wm-gold-border) 0%,
    transparent 100%
  );
}

/* ─── Gallery rows ─── */

.wm-garden__gallery-row {
  display: grid;
  gap: var(--wm-gap);
  margin-bottom: var(--wm-gap);
}

.wm-garden__gallery-row:last-child {
  margin-bottom: 0;
}

/* Row 1: asymmetric split (38% / 62%) */
.wm-garden__gallery-row--split {
  grid-template-columns: 38fr 62fr;
}

/* Row 2: three equal columns */
.wm-garden__gallery-row--thirds {
  grid-template-columns: repeat(3, 1fr);
}

/* ─── Gallery cards ─── */

.wm-garden__gallery-card {
  position: relative;
  border-radius: var(--wm-radius-card);
  overflow: hidden;
  background: var(--wm-bg-card);
  box-shadow:
    0 8px 28px rgba(46, 42, 36, 0.09),
    0 2px 8px rgba(46, 42, 36, 0.05);
}

/* Row 1 heights */
.wm-garden__gallery-row--split .wm-garden__gallery-card {
  aspect-ratio: 3 / 4;
}

.wm-garden__gallery-row--split .wm-garden__gallery-card--wide {
  aspect-ratio: 16 / 11;
}

/* Row 2 heights */
.wm-garden__gallery-row--thirds .wm-garden__gallery-card {
  aspect-ratio: 4 / 3;
}

.wm-garden__gallery-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.5s ease;
}

.wm-garden__gallery-card:hover img {
  transform: scale(1.04);
}

/* Subtle warm tint overlay on hover */
.wm-garden__gallery-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    transparent 55%,
    rgba(46, 42, 36, 0.06) 100%
  );
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}

.wm-garden__gallery-card:hover::after {
  opacity: 1;
}


/* ==========================================================
   TABLET — max-width: 1024px
========================================================== */

@media (max-width: 1024px) {

  .wm-garden__intro {
    padding: 72px 0 56px;
  }

  .wm-garden__intro-inner {
    padding: 0 32px;
    gap: 48px;
  }

  .wm-garden__heading {
    font-size: clamp(26px, 3.4vw, 36px);
  }

  .wm-garden__lead {
    font-size: 15.5px;
    max-width: 100%;
  }

  .wm-garden__gallery-wrap {
    padding: 56px 0 72px;
  }

  .wm-garden__gallery-inner {
    padding: 0 32px;
  }

  .wm-garden__gallery-row--split {
    grid-template-columns: 40fr 60fr;
  }

}


/* ==========================================================
   MOBILE — max-width: 767px
========================================================== */

@media (max-width: 767px) {

  .wm-garden__intro {
    padding: 56px 0 48px;
  }

  .wm-garden__intro-inner {
    padding: 0 20px;
    grid-template-columns: 1fr;
    gap: 36px;
  }

  /* On mobile: text first, image below */
  .wm-garden__intro-text  { order: 1; }
  .wm-garden__intro-media { order: 2; }

  .wm-garden__eyebrow {
    font-size: 11px;
  }

  .wm-garden__heading {
    font-size: clamp(24px, 7vw, 32px);
    letter-spacing: -0.035em;
  }

  .wm-garden__lead {
    font-size: 15px;
    line-height: 1.75;
    margin-bottom: 28px;
  }

  .wm-garden__pills {
    gap: 7px;
  }

  .wm-garden__pill {
    font-size: 12.5px;
    padding: 7px 14px 7px 9px;
  }

  .wm-garden__featured-wrap {
    aspect-ratio: 4 / 3;
    border-radius: 18px;
  }

  .wm-garden__featured-badge {
    bottom: 14px;
    right: 14px;
    padding: 10px 14px;
    border-radius: 13px;
  }

  .wm-garden__featured-badge > span:first-child {
    font-size: 15px;
  }

  .wm-garden__featured-badge-sub {
    font-size: 10px;
  }

  /* Gallery */

  .wm-garden__gallery-wrap {
    padding: 48px 0 64px;
  }

  .wm-garden__gallery-inner {
    padding: 0 20px;
  }

  .wm-garden__gallery-header {
    margin-bottom: 28px;
  }

  .wm-garden__gallery-title {
    font-size: 20px;
  }

  /* Stack all gallery images in single column */

  .wm-garden__gallery-row--split,
  .wm-garden__gallery-row--thirds {
    grid-template-columns: 1fr;
  }

  .wm-garden__gallery-row--split .wm-garden__gallery-card,
  .wm-garden__gallery-row--split .wm-garden__gallery-card--wide {
    aspect-ratio: 4 / 3;
  }

  .wm-garden__gallery-card {
    border-radius: 16px;
  }

}


/* ==========================================================
   SMALL MOBILE — max-width: 390px
========================================================== */

@media (max-width: 390px) {

  .wm-garden__heading {
    font-size: 24px;
  }

  .wm-garden__lead {
    font-size: 14.5px;
  }

  .wm-garden__pill {
    font-size: 12px;
    padding: 6px 12px 6px 8px;
  }

}
<section class="wm-garden" id="ogrod" aria-label="Ogród i prywatna przestrzeń Willi Mormin">
  <div class="wm-garden__intro">
    <div class="wm-garden__intro-inner">

      <div class="wm-garden__intro-text">
        <p class="wm-garden__eyebrow">
          <span class="wm-garden__eyebrow-line"></span>
          Ogród i prywatna przestrzeń
        </p>

        <h2 class="wm-garden__heading">
          Duży ogrodzony ogród — bezpieczna przestrzeń dla dzieci, psa i spokojnego odpoczynku
        </h2>

        <p class="wm-garden__lead">
          Na gości czeka prywatny, ogrodzony ogród o powierzchni około 1000–1200 m². 
          To przestrzeń, w której dzieci mogą się bawić, dorośli odpocząć na tarasie lub przy ognisku, 
          a zwierzęta swobodnie korzystać z pobytu razem z rodziną.
        </p>

        <ul class="wm-garden__pills" aria-label="Najważniejsze atuty ogrodu">
          <li class="wm-garden__pill">
            <svg class="wm-garden__pill-icon" width="14" height="14" viewBox="0 0 14 14" aria-hidden="true">
              <path d="M3.1 7.2L5.7 9.8L10.9 4.4" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/>
            </svg>
            Jeden dom na działce
          </li>

          <li class="wm-garden__pill">
            <svg class="wm-garden__pill-icon" width="14" height="14" viewBox="0 0 14 14" aria-hidden="true">
              <path d="M3.1 7.2L5.7 9.8L10.9 4.4" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/>
            </svg>
            Ogrodzony teren
          </li>

          <li class="wm-garden__pill">
            <svg class="wm-garden__pill-icon" width="14" height="14" viewBox="0 0 14 14" aria-hidden="true">
              <path d="M3.1 7.2L5.7 9.8L10.9 4.4" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/>
            </svg>
            Tarasy i leżaki
          </li>

          <li class="wm-garden__pill">
            <svg class="wm-garden__pill-icon" width="14" height="14" viewBox="0 0 14 14" aria-hidden="true">
              <path d="M3.1 7.2L5.7 9.8L10.9 4.4" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/>
            </svg>
            Grill i ognisko
          </li>

          <li class="wm-garden__pill">
            <svg class="wm-garden__pill-icon" width="14" height="14" viewBox="0 0 14 14" aria-hidden="true">
              <path d="M3.1 7.2L5.7 9.8L10.9 4.4" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/>
            </svg>
            Plac zabaw
          </li>

          <li class="wm-garden__pill">
            <svg class="wm-garden__pill-icon" width="14" height="14" viewBox="0 0 14 14" aria-hidden="true">
              <path d="M3.1 7.2L5.7 9.8L10.9 4.4" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/>
            </svg>
            Trampolina
          </li>

          <li class="wm-garden__pill">
            <svg class="wm-garden__pill-icon" width="14" height="14" viewBox="0 0 14 14" aria-hidden="true">
              <path d="M3.1 7.2L5.7 9.8L10.9 4.4" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/>
            </svg>
            Piaskownica
          </li>

          <li class="wm-garden__pill">
            <svg class="wm-garden__pill-icon" width="14" height="14" viewBox="0 0 14 14" aria-hidden="true">
              <path d="M3.1 7.2L5.7 9.8L10.9 4.4" fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"/>
            </svg>
            Przestrzeń dla psa
          </li>
        </ul>
      </div>

      <div class="wm-garden__intro-media">
        <figure class="wm-garden__featured-wrap">
          <img
            class="wm-garden__featured-img"
            src="https://willamormin.aleksanderperzynski.pl/wp-content/uploads/2026/06/WhatsApp-Image-2026-05-22-at-10.19.42-5.jpeg"
            alt="Willa Mormin - dom z ogrodem i tarasem nad Jeziorem Mormin"
            loading="lazy"
          >

          <figcaption class="wm-garden__featured-badge">
            <span>ok. 1000–1200 m²</span>
            <span class="wm-garden__featured-badge-sub">prywatny ogród</span>
          </figcaption>
        </figure>
      </div>

    </div>
  </div>

  <div class="wm-garden__gallery-wrap">
    <div class="wm-garden__gallery-inner">

      <div class="wm-garden__gallery-header">
        <h3 class="wm-garden__gallery-title">Przestrzeń wokół domu</h3>
        <span class="wm-garden__gallery-divider" aria-hidden="true"></span>
      </div>

      <div class="wm-garden__gallery">

        <div class="wm-garden__gallery-row wm-garden__gallery-row--split">
          <figure class="wm-garden__gallery-card">
            <img
              src="https://willamormin.aleksanderperzynski.pl/wp-content/uploads/2026/06/WhatsApp-Image-2026-05-22-at-10.19.48-5.jpeg"
              alt="Willa Mormin - huśtawki i trampolina w ogrodzie dla dzieci"
              loading="lazy"
            >
          </figure>

          <figure class="wm-garden__gallery-card wm-garden__gallery-card--wide">
            <img
              src="https://willamormin.aleksanderperzynski.pl/wp-content/uploads/2026/06/WhatsApp-Image-2026-05-22-at-10.19.44-3.jpeg"
              alt="Willa Mormin - taras z grillem i miejscem do odpoczynku"
              loading="lazy"
            >
          </figure>
        </div>

        <div class="wm-garden__gallery-row wm-garden__gallery-row--thirds">
          <figure class="wm-garden__gallery-card">
            <img
              src="https://willamormin.aleksanderperzynski.pl/wp-content/uploads/2026/06/WhatsApp-Image-2026-05-22-at-10.20.13.jpeg"
              alt="Willa Mormin - ognisko wieczorem w prywatnym ogrodzie"
              loading="lazy"
            >
          </figure>

          <figure class="wm-garden__gallery-card">
            <img
              src="https://willamormin.aleksanderperzynski.pl/wp-content/uploads/2026/06/WhatsApp-Image-2026-05-22-at-10.19.49-1.jpeg"
              alt="Willa Mormin - piaskownica i przestrzeń dla dzieci w ogrodzie"
              loading="lazy"
            >
          </figure>

          <figure class="wm-garden__gallery-card">
            <img
              src="https://willamormin.aleksanderperzynski.pl/wp-content/uploads/2026/06/WhatsApp-Image-2026-05-22-at-10.19.47.jpeg"
              alt="Willa Mormin - duży ogrodzony ogród z miejscem do zabawy"
              loading="lazy"
            >
          </figure>
        </div>

      </div>
    </div>
  </div>
</section>
/* ==========================================================
   WILLA MORMIN — OGRÓD / FINAL PATCH
   Dopisz na samym końcu CSS
========================================================== */

/* 1. Wybicie sekcji z boxed shella Elementora */
html,
body {
  overflow-x: hidden;
}

.wm-garden {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

.elementor-widget-html:has(.wm-garden),
.elementor-widget-html:has(.wm-garden) > .elementor-widget-container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 2. Reset figur i linków */
.wm-garden figure {
  margin: 0;
}

.wm-garden a {
  text-decoration: none;
}

.wm-garden__featured-link,
.wm-garden__gallery-link {
  display: block;
  width: 100%;
  height: 100%;
  cursor: zoom-in;
}

/* 3. Wyrównanie tekstu i wyróżników do lewej */
.wm-garden__intro-text {
  text-align: left !important;
  justify-self: start;
  width: 100%;
}

.wm-garden__lead {
  margin-left: 0 !important;
  margin-right: auto !important;
}

.wm-garden__pills {
  justify-content: flex-start !important;
  align-items: flex-start !important;
  max-width: 560px;
}

/* 4. Poprawione proporcje galerii — bez dziwnej pustej przerwy */
@media (min-width: 768px) {

  .wm-garden__gallery-row {
    align-items: stretch;
  }

  .wm-garden__gallery-row--split {
    grid-template-columns: 40fr 60fr !important;
    grid-auto-rows: clamp(280px, 21vw, 330px);
  }

  .wm-garden__gallery-row--thirds {
    grid-template-columns: repeat(3, 1fr) !important;
    grid-auto-rows: clamp(240px, 18vw, 285px);
  }

  .wm-garden__gallery-row--split .wm-garden__gallery-card,
  .wm-garden__gallery-row--split .wm-garden__gallery-card--wide,
  .wm-garden__gallery-row--thirds .wm-garden__gallery-card {
    aspect-ratio: auto !important;
    height: 100%;
  }

  .wm-garden__gallery-card img {
    height: 100%;
  }

}

/* 5. Lepsze kadrowanie konkretnych zdjęć */
.wm-garden__gallery-card--kids img {
  object-position: center center;
}

.wm-garden__gallery-card--terrace img {
  object-position: center 48%;
}

.wm-garden__gallery-card--fire img {
  object-position: center 60%;
}

.wm-garden__gallery-card--sandbox img {
  object-position: center center;
}

.wm-garden__gallery-card--space img {
  object-position: center 54%;
}

/* 6. Lekka ikonka powiększenia na hover */
.wm-garden__gallery-card::before,
.wm-garden__featured-wrap::before {
  content: "Powiększ";
  position: absolute;
  right: 16px;
  bottom: 16px;
  z-index: 3;
  padding: 8px 13px;
  border-radius: 999px;
  background: rgba(255, 249, 239, 0.9);
  color: var(--wm-text);
  border: 1px solid var(--wm-gold-border);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 0.25s ease, transform 0.25s ease;
  pointer-events: none;
}

.wm-garden__featured-wrap::before {
  left: 18px;
  right: auto;
  bottom: 18px;
}

.wm-garden__gallery-card:hover::before,
.wm-garden__featured-wrap:hover::before {
  opacity: 1;
  transform: translateY(0);
}

/* 7. Lightbox po kliknięciu */
.wm-garden__lightbox {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: grid;
  place-items: center;
  padding: 24px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.28s ease;
}

.wm-garden__lightbox:target {
  opacity: 1;
  pointer-events: auto;
}

.wm-garden__lightbox-backdrop {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at center, rgba(46, 42, 36, 0.78), rgba(19, 18, 16, 0.92));
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.wm-garden__lightbox-content {
  position: relative;
  z-index: 2;
  width: min(1120px, calc(100vw - 44px));
  max-height: calc(100vh - 44px);
  display: flex;
  flex-direction: column;
  align-items: center;
  animation: wmGardenLightboxIn 0.28s ease both;
}

.wm-garden__lightbox-content img {
  display: block;
  max-width: 100%;
  max-height: calc(100vh - 124px);
  object-fit: contain;
  border-radius: 22px;
  box-shadow:
    0 34px 90px rgba(0, 0, 0, 0.42),
    0 8px 24px rgba(0, 0, 0, 0.22);
}

.wm-garden__lightbox-caption {
  margin: 14px 0 0;
  padding: 11px 18px;
  max-width: min(780px, 100%);
  border-radius: 999px;
  background: rgba(255, 249, 239, 0.92);
  color: var(--wm-text);
  border: 1px solid rgba(255, 249, 239, 0.34);
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  box-shadow: 0 10px 34px rgba(0, 0, 0, 0.18);
}

.wm-garden__lightbox-close {
  position: absolute;
  top: -16px;
  right: -16px;
  z-index: 4;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(255, 249, 239, 0.94);
  color: var(--wm-text);
  border: 1px solid var(--wm-gold-border);
  font-size: 28px;
  line-height: 1;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.24);
  transition: transform 0.2s ease, background 0.2s ease;
}

.wm-garden__lightbox-close:hover {
  transform: scale(1.06);
  background: #fff;
}

@keyframes wmGardenLightboxIn {
  from {
    opacity: 0;
    transform: translateY(10px) scale(0.985);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* 8. Mocne CTA na końcu sekcji */
.wm-garden__cta {
  position: relative;
  margin-top: 46px;
  padding: 34px 38px;
  border-radius: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 34px;
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 20%, rgba(184, 137, 63, 0.16), transparent 34%),
    linear-gradient(135deg, rgba(255, 249, 239, 0.96), rgba(248, 239, 224, 0.92));
  border: 1px solid rgba(184, 137, 63, 0.24);
  box-shadow:
    0 18px 55px rgba(46, 42, 36, 0.10),
    inset 0 1px 0 rgba(255, 255, 255, 0.62);
}

.wm-garden__cta::after {
  content: "";
  position: absolute;
  right: -70px;
  top: -90px;
  width: 220px;
  height: 220px;
  border-radius: 999px;
  background: rgba(63, 90, 56, 0.11);
  filter: blur(2px);
  pointer-events: none;
}

.wm-garden__cta-content {
  position: relative;
  z-index: 2;
  max-width: 680px;
}

.wm-garden__cta-eyebrow {
  margin: 0 0 8px;
  color: var(--wm-gold);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.wm-garden__cta-title {
  margin: 0;
  color: var(--wm-text);
  font-size: clamp(23px, 2.15vw, 31px);
  font-weight: 650;
  line-height: 1.18;
  letter-spacing: -0.04em;
}

.wm-garden__cta-text {
  margin: 13px 0 0;
  max-width: 610px;
  color: var(--wm-muted);
  font-size: 15.5px;
  line-height: 1.65;
}

.wm-garden__cta-actions {
  position: relative;
  z-index: 2;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.wm-garden__cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 214px;
  padding: 14px 22px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 750;
  line-height: 1;
  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    background 0.22s ease,
    border-color 0.22s ease;
}

.wm-garden__cta-btn--primary {
  color: #FFF9EF;
  background: linear-gradient(135deg, var(--wm-green), #2F462B);
  box-shadow: 0 12px 30px rgba(63, 90, 56, 0.24);
}

.wm-garden__cta-btn--primary:hover {
  color: #FFF9EF;
  transform: translateY(-2px);
  box-shadow: 0 16px 38px rgba(63, 90, 56, 0.32);
}

.wm-garden__cta-btn--secondary {
  color: var(--wm-text);
  background: rgba(255, 249, 239, 0.68);
  border: 1px solid var(--wm-gold-border);
}

.wm-garden__cta-btn--secondary:hover {
  color: var(--wm-text);
  transform: translateY(-2px);
  background: rgba(255, 249, 239, 0.94);
  border-color: rgba(184, 137, 63, 0.38);
}

/* 9. Tablet */
@media (min-width: 768px) and (max-width: 1024px) {

  .wm-garden__gallery-row--split {
    grid-auto-rows: 260px;
  }

  .wm-garden__gallery-row--thirds {
    grid-auto-rows: 240px;
  }

  .wm-garden__cta {
    align-items: flex-start;
    flex-direction: column;
  }

  .wm-garden__cta-actions {
    flex-direction: row;
    flex-wrap: wrap;
  }

}

/* 10. Mobile */
@media (max-width: 767px) {

  .wm-garden__gallery-row--split .wm-garden__gallery-card,
  .wm-garden__gallery-row--split .wm-garden__gallery-card--wide,
  .wm-garden__gallery-row--thirds .wm-garden__gallery-card {
    aspect-ratio: 4 / 3 !important;
    height: auto;
  }

  .wm-garden__gallery-card::before,
  .wm-garden__featured-wrap::before {
    display: none;
  }

  .wm-garden__cta {
    margin-top: 34px;
    padding: 28px 22px;
    border-radius: 22px;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
  }

  .wm-garden__cta-actions {
    width: 100%;
  }

  .wm-garden__cta-btn {
    width: 100%;
    min-width: 0;
  }

  .wm-garden__lightbox {
    padding: 16px;
  }

  .wm-garden__lightbox-content {
    width: calc(100vw - 28px);
  }

  .wm-garden__lightbox-content img {
    max-height: calc(100vh - 130px);
    border-radius: 16px;
  }

  .wm-garden__lightbox-caption {
    border-radius: 18px;
    font-size: 13px;
    line-height: 1.45;
  }

  .wm-garden__lightbox-close {
    top: -12px;
    right: -8px;
    width: 38px;
    height: 38px;
    font-size: 25px;
  }

}
/* ==========================================================
   WILLA MORMIN — OGRÓD SHELL RESET
   Klasa do nadania zewnętrznej sekcji Elementora: wm-garden-shell
========================================================== */

.wm-garden-shell,
.wm-garden-shell > .elementor-container,
.wm-garden-shell > .e-con-inner,
.wm-garden-shell .elementor-column,
.wm-garden-shell .elementor-widget-wrap,
.wm-garden-shell .elementor-widget,
.wm-garden-shell .elementor-widget-container {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Usuwa mikro-przerwy z samego widgetu HTML */
.wm-garden-shell .elementor-widget-html,
.wm-garden-shell .elementor-widget-html > .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}

/* Przywraca normalny line-height wewnątrz sekcji ogrodu */
.wm-garden-shell .wm-garden {
  display: block !important;
  margin: 0 !important;
  line-height: normal !important;
}

/* Gwarancja, że pierwsze i ostatnie dziecko nie zostawi marginesu */
.wm-garden-shell .wm-garden > *:first-child {
  margin-top: 0 !important;
}

.wm-garden-shell .wm-garden > *:last-child {
  margin-bottom: 0 !important;
}
/* CTA buttons – bez podkreślenia */
.wm-garden__cta-btn,
.wm-garden__cta-btn:link,
.wm-garden__cta-btn:visited,
.wm-garden__cta-btn:hover,
.wm-garden__cta-btn:active,
.wm-garden__cta-btn:focus {
  text-decoration: none !important;
  box-shadow: none;
}

.wm-garden__cta-btn span {
  text-decoration: none !important;
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-33e83dc *//* ==========================================================
   WILLA MORMIN — BALIA I RELAKS
   Klasa zewnętrznej sekcji Elementora: wm-relax-shell
   Prefix sekcji: wm-relax
========================================================== */

/* ==========================================================
   SHELL RESET — usuwa mikro-przerwy Elementora góra/dół
========================================================== */

.wm-relax-shell,
.wm-relax-shell > .elementor-container,
.wm-relax-shell > .e-con-inner,
.wm-relax-shell .elementor-container,
.wm-relax-shell .elementor-column,
.wm-relax-shell .elementor-widget-wrap,
.wm-relax-shell .elementor-widget,
.wm-relax-shell .elementor-widget-container {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.wm-relax-shell .elementor-widget-html,
.wm-relax-shell .elementor-widget-html > .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}

.wm-relax-shell .wm-relax {
  display: block !important;
  margin: 0 !important;
  line-height: normal !important;
}

.wm-relax-shell .wm-relax > *:first-child {
  margin-top: 0 !important;
}

.wm-relax-shell .wm-relax > *:last-child {
  margin-bottom: 0 !important;
}

/* ==========================================================
   SECTION BASE
========================================================== */

.wm-relax {
  --wm-relax-bg: #F6EAD7;
  --wm-relax-bg-soft: #FFF9EF;
  --wm-relax-gold: #B8893F;
  --wm-relax-gold-dark: #9E8252;
  --wm-relax-green: #3F5A38;
  --wm-relax-text: #2E2A24;
  --wm-relax-muted: rgba(46, 42, 36, 0.70);
  --wm-relax-border: rgba(184, 137, 63, 0.18);
  --wm-relax-radius-lg: 22px;
  --wm-relax-radius-md: 16px;

  position: relative;
  width: 100%;
  background: var(--wm-relax-bg);
  padding: 92px 0 104px;
  overflow: hidden;
  color: var(--wm-relax-text);
}

.wm-relax *,
.wm-relax *::before,
.wm-relax *::after {
  box-sizing: border-box;
}

.wm-relax figure,
.wm-relax p,
.wm-relax h2,
.wm-relax h3 {
  margin-top: 0;
}

.wm-relax img {
  max-width: 100%;
}

/* ==========================================================
   INTRO
========================================================== */

.wm-relax__intro-wrap,
.wm-relax__gallery-inner {
  max-width: 1220px;
  margin: 0 auto;
  padding: 0 44px;
}

.wm-relax__intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 72px;
  align-items: center;
}

.wm-relax__featured {
  margin: 0;
  position: relative;
  border-radius: var(--wm-relax-radius-lg);
  overflow: hidden;
  box-shadow:
    0 4px 12px rgba(46, 42, 36, 0.06),
    0 22px 58px rgba(46, 42, 36, 0.13);
}

.wm-relax__featured-img {
  display: block;
  width: 100%;
  height: 520px;
  object-fit: cover;
  object-position: center;
  border-radius: var(--wm-relax-radius-lg);
  transition: transform 0.55s ease;
}

.wm-relax__featured:hover .wm-relax__featured-img {
  transform: scale(1.025);
}

.wm-relax__content {
  max-width: 560px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.wm-relax__eyebrow {
  margin: 0 0 22px;
  color: var(--wm-relax-gold);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 11.5px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.wm-relax__title {
  margin: 0 0 25px;
  color: var(--wm-relax-text);
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  font-size: clamp(34px, 3.35vw, 48px);
  font-weight: 400;
  line-height: 1.13;
  letter-spacing: -0.018em;
  text-wrap: balance;
}

.wm-relax__text {
  margin: 0 0 36px;
  color: var(--wm-relax-muted);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.82;
  letter-spacing: -0.005em;
}

.wm-relax__btn,
.wm-relax__btn:link,
.wm-relax__btn:visited,
.wm-relax__btn:hover,
.wm-relax__btn:active,
.wm-relax__btn:focus {
  text-decoration: none !important;
}

.wm-relax__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 30px;
  border-radius: 999px;
  background: var(--wm-relax-gold-dark);
  color: #FFF9EF !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14.5px;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 10px 30px rgba(158, 130, 82, 0.27);
  transition:
    background 0.25s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.wm-relax__btn:hover {
  background: var(--wm-relax-green);
  color: #FFF9EF !important;
  transform: translateY(-2px);
  box-shadow: 0 16px 38px rgba(63, 90, 56, 0.24);
}

/* ==========================================================
   GALLERY
========================================================== */

.wm-relax__gallery-wrap {
  margin-top: 76px;
}

.wm-relax__gallery-title {
  margin: 0 0 26px;
  color: var(--wm-relax-text);
  font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif;
  font-size: clamp(26px, 2.8vw, 36px);
  font-weight: 400;
  line-height: 1.16;
  letter-spacing: -0.02em;
}

.wm-relax__gallery {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 14px;
  align-items: stretch;
}

.wm-relax__gallery-card {
  margin: 0;
  position: relative;
  overflow: hidden;
  border-radius: var(--wm-relax-radius-md);
  background: var(--wm-relax-bg-soft);
  box-shadow:
    0 4px 12px rgba(46, 42, 36, 0.055),
    0 16px 38px rgba(46, 42, 36, 0.085);
}

.wm-relax__gallery-card img {
  display: block;
  width: 100%;
  height: 420px;
  object-fit: cover;
  object-position: center;
  border-radius: var(--wm-relax-radius-md);
  transition: transform 0.55s ease;
  will-change: transform;
}

.wm-relax__gallery-card:hover img {
  transform: scale(1.035);
}

/* delikatne kadrowanie konkretnych zdjęć */

.wm-relax__gallery-card--wide img {
  object-position: center center;
}

.wm-relax__gallery-card--terrace img {
  object-position: center center;
}

.wm-relax__gallery-card--fire img {
  object-position: center center;
}

/* ==========================================================
   TABLET
========================================================== */

@media (max-width: 1024px) {
  .wm-relax {
    padding: 76px 0 88px;
  }

  .wm-relax__intro-wrap,
  .wm-relax__gallery-inner {
    padding: 0 32px;
  }

  .wm-relax__intro {
    gap: 46px;
  }

  .wm-relax__featured-img {
    height: 460px;
  }

  .wm-relax__title {
    font-size: clamp(30px, 4vw, 42px);
  }

  .wm-relax__text {
    font-size: 15.5px;
  }

  .wm-relax__gallery-wrap {
    margin-top: 62px;
  }

  .wm-relax__gallery-card img {
    height: 340px;
  }
}

/* ==========================================================
   MOBILE
========================================================== */

@media (max-width: 767px) {
  .wm-relax {
    padding: 58px 0 68px;
  }

  .wm-relax__intro-wrap,
  .wm-relax__gallery-inner {
    padding: 0 20px;
  }

  .wm-relax__intro {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .wm-relax__featured {
    border-radius: 18px;
  }

  .wm-relax__featured-img {
    height: 300px;
    border-radius: 18px;
  }

  .wm-relax__content {
    max-width: none;
    align-items: flex-start;
  }

  .wm-relax__eyebrow {
    margin-bottom: 18px;
    font-size: 11px;
  }

  .wm-relax__title {
    margin-bottom: 20px;
    font-size: clamp(29px, 9vw, 36px);
    line-height: 1.12;
  }

  .wm-relax__text {
    margin-bottom: 28px;
    font-size: 15px;
    line-height: 1.75;
  }

  .wm-relax__btn {
    width: 100%;
    min-height: 50px;
  }

  .wm-relax__gallery-wrap {
    margin-top: 52px;
  }

  .wm-relax__gallery-title {
    margin-bottom: 20px;
    font-size: 30px;
  }

  .wm-relax__gallery {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .wm-relax__gallery-card,
  .wm-relax__gallery-card img {
    border-radius: 16px;
  }

  .wm-relax__gallery-card img {
    height: 260px;
  }
}

/* ==========================================================
   SMALL MOBILE
========================================================== */

@media (max-width: 390px) {
  .wm-relax {
    padding: 52px 0 62px;
  }

  .wm-relax__featured-img {
    height: 260px;
  }

  .wm-relax__gallery-card img {
    height: 225px;
  }
}
/* ==========================================================
   WILLA MORMIN — BALIA / FULL WIDTH + LIGHTBOX PATCH
   Klasa zewnętrznej sekcji Elementora: wm-relax-shell
========================================================== */

/* mocniejsze wybicie sekcji na pełną szerokość viewportu */
html,
body {
  overflow-x: hidden !important;
}

.wm-relax-shell {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow: visible !important;
  background: #F6EAD7 !important;
}

.wm-relax-shell > .elementor-container,
.wm-relax-shell > .e-con-inner,
.wm-relax-shell .elementor-container,
.wm-relax-shell .e-con-inner,
.wm-relax-shell .elementor-column,
.wm-relax-shell .elementor-widget-wrap,
.wm-relax-shell .elementor-widget,
.wm-relax-shell .elementor-widget-container {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.wm-relax-shell .elementor-widget-html,
.wm-relax-shell .elementor-widget-html > .elementor-widget-container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}

.wm-relax-shell .wm-relax {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  line-height: normal !important;
}

/* usuwa ewentualny biały pasek po lewej/prawej, jeśli zostaje po opakowaniu */
.wm-relax-shell::before,
.wm-relax-shell::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 50vw;
  background: #F6EAD7;
  pointer-events: none;
  z-index: -1;
}

.wm-relax-shell::before {
  right: 100%;
}

.wm-relax-shell::after {
  left: 100%;
}

/* zdjęcia jako klikane elementy */
.wm-relax__photo-link {
  display: block;
  width: 100%;
  height: 100%;
  cursor: zoom-in;
  text-decoration: none !important;
}

.wm-relax__photo-link:focus {
  outline: 2px solid rgba(184, 137, 63, 0.45);
  outline-offset: 4px;
}

/* subtelna etykieta "Powiększ" na hover */
.wm-relax__featured::before,
.wm-relax__gallery-card::before {
  content: "Powiększ";
  position: absolute;
  right: 16px;
  bottom: 16px;
  z-index: 3;
  padding: 8px 13px;
  border-radius: 999px;
  background: rgba(255, 249, 239, 0.92);
  color: var(--wm-relax-text);
  border: 1px solid rgba(184, 137, 63, 0.22);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 0.24s ease, transform 0.24s ease;
  pointer-events: none;
}

.wm-relax__featured:hover::before,
.wm-relax__gallery-card:hover::before {
  opacity: 1;
  transform: translateY(0);
}

/* LIGHTBOX */
.wm-relax__lightbox {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: grid;
  place-items: center;
  padding: 24px;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.28s ease;
}

.wm-relax__lightbox:target {
  opacity: 1;
  pointer-events: auto;
}

.wm-relax__lightbox-backdrop {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at center, rgba(46, 42, 36, 0.76), rgba(18, 17, 15, 0.93));
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.wm-relax__lightbox-content {
  position: relative;
  z-index: 2;
  width: min(1120px, calc(100vw - 44px));
  max-height: calc(100vh - 44px);
  display: flex;
  flex-direction: column;
  align-items: center;
  animation: wmRelaxLightboxIn 0.28s ease both;
}

.wm-relax__lightbox-content img {
  display: block;
  max-width: 100%;
  max-height: calc(100vh - 128px);
  object-fit: contain;
  border-radius: 22px;
  box-shadow:
    0 34px 90px rgba(0, 0, 0, 0.42),
    0 8px 24px rgba(0, 0, 0, 0.22);
}

.wm-relax__lightbox-caption {
  margin: 14px 0 0;
  padding: 11px 18px;
  max-width: min(820px, 100%);
  border-radius: 999px;
  background: rgba(255, 249, 239, 0.94);
  color: #2E2A24;
  border: 1px solid rgba(255, 249, 239, 0.34);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
  font-weight: 650;
  line-height: 1.45;
  text-align: center;
  box-shadow: 0 10px 34px rgba(0, 0, 0, 0.18);
}

.wm-relax__lightbox-close {
  position: absolute;
  top: -16px;
  right: -16px;
  z-index: 4;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(255, 249, 239, 0.95);
  color: #2E2A24;
  border: 1px solid rgba(184, 137, 63, 0.24);
  font-size: 28px;
  line-height: 1;
  text-decoration: none !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.24);
  transition: transform 0.2s ease, background 0.2s ease;
}

.wm-relax__lightbox-close:hover {
  transform: scale(1.06);
  background: #fff;
}

@keyframes wmRelaxLightboxIn {
  from {
    opacity: 0;
    transform: translateY(10px) scale(0.985);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* mobile */
@media (max-width: 767px) {
  .wm-relax__featured::before,
  .wm-relax__gallery-card::before {
    display: none;
  }

  .wm-relax__lightbox {
    padding: 16px;
  }

  .wm-relax__lightbox-content {
    width: calc(100vw - 28px);
  }

  .wm-relax__lightbox-content img {
    max-height: calc(100vh - 136px);
    border-radius: 16px;
  }

  .wm-relax__lightbox-caption {
    border-radius: 18px;
    font-size: 13px;
    line-height: 1.45;
  }

  .wm-relax__lightbox-close {
    top: -12px;
    right: -8px;
    width: 38px;
    height: 38px;
    font-size: 25px;
  }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-fed77bb *//* =========================================================
   WILLA MORMIN — JEZIORO
   GOTOWY FINALNY CSS + SHELL ELEMENTORA
   Anchor: #jezioro
   Namespace: wm-lake
========================================================= */

/* =========================================================
   SHELL / RESET ELEMENTORA
   Nadaj zewnętrznemu kontenerowi Elementora klasę:
   wm-lake-shell
========================================================= */

.wm-lake-shell,
.wm-lake-shell > .elementor-container,
.wm-lake-shell > .e-con-inner,
.wm-lake-shell .elementor-column,
.wm-lake-shell .elementor-widget-wrap,
.wm-lake-shell .elementor-widget,
.wm-lake-shell .elementor-widget-container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  outline: 0 !important;
}

.wm-lake-shell {
  position: relative !important;
  overflow: hidden !important;
  background: #FAF3E8 !important;
  margin-top: -1px !important;
  border-top: 0 !important;
}

.wm-lake-shell::before,
.wm-lake-shell::after,
.wm-lake::before,
.wm-lake::after {
  display: none !important;
  content: none !important;
}

/* =========================================================
   GLOBAL SECTION
========================================================= */

.wm-lake,
.wm-lake * {
  box-sizing: border-box;
}

.wm-lake {
  --wm-lake-bg: #F2E6D3;
  --wm-lake-bg-soft: #FAF3E8;
  --wm-lake-card: rgba(255, 250, 241, 0.72);
  --wm-lake-card-strong: #FFF9EF;
  --wm-lake-gold: #B98B4A;
  --wm-lake-gold-soft: rgba(185, 139, 74, 0.16);
  --wm-lake-gold-border: rgba(185, 139, 74, 0.24);
  --wm-lake-green: #405B38;
  --wm-lake-text: #211C17;
  --wm-lake-muted: #62584B;
  --wm-lake-shadow: rgba(54, 43, 31, 0.12);

  position: relative;
  width: 100%;
  max-width: none;
  margin: -1px 0 0 0;
  padding: 104px 24px 112px;

  background:
    radial-gradient(circle at 88% 4%, rgba(255, 250, 241, 0.9) 0%, rgba(255, 250, 241, 0) 38%),
    linear-gradient(180deg, var(--wm-lake-bg-soft) 0%, var(--wm-lake-bg) 100%);

  color: var(--wm-lake-text);
  overflow: hidden;
  scroll-margin-top: 110px;

  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

.wm-lake__inner {
  width: 100%;
  max-width: 1220px;
  margin: 0 auto;
}

/* =========================================================
   INTRO
========================================================= */

.wm-lake__intro {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  align-items: center;
  gap: 64px;
}

.wm-lake__content {
  max-width: 560px;
}

.wm-lake__eyebrow {
  margin: 0 0 22px;
  color: var(--wm-lake-gold);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.23em;
  text-transform: uppercase;
}

.wm-lake__title {
  margin: 0;
  color: var(--wm-lake-text);
  font-family: "Cormorant Garamond", "Cormorant", Georgia, serif;
  font-size: clamp(38px, 4.2vw, 58px);
  font-weight: 500;
  line-height: 0.98;
  letter-spacing: -0.045em;
  text-wrap: balance;
}

.wm-lake__lead {
  max-width: 540px;
  margin: 28px 0 0;
  color: var(--wm-lake-muted);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.78;
  letter-spacing: -0.01em;
}

.wm-lake__hero-photo {
  margin: 0;
}

.wm-lake__photo-button {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;

  border: 0;
  border-radius: 28px;
  background: transparent;
  overflow: hidden;
  cursor: pointer;

  appearance: none;
  -webkit-appearance: none;

  box-shadow: 0 28px 68px var(--wm-lake-shadow);
}

.wm-lake__photo-button:focus-visible {
  outline: 3px solid rgba(185, 139, 74, 0.65);
  outline-offset: 4px;
}

.wm-lake__hero-photo .wm-lake__photo-button {
  height: 500px;
  min-height: 500px;
}

.wm-lake__photo-button img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;

  transition:
    transform 0.85s ease,
    filter 0.85s ease;
}

.wm-lake__hero-photo img {
  height: 500px;
}

.wm-lake__photo-button:hover img {
  transform: scale(1.045);
  filter: saturate(1.03);
}

.wm-lake__photo-caption,
.wm-lake__shot-caption {
  position: absolute;
  left: 18px;
  bottom: 16px;
  z-index: 2;

  max-width: calc(100% - 36px);
  padding: 9px 15px;

  border: 1px solid rgba(185, 139, 74, 0.28);
  border-radius: 999px;
  background: rgba(255, 250, 241, 0.88);

  color: #6E5130;
  font-size: 12.5px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.01em;
  text-align: left;

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* =========================================================
   FEATURE CARDS
========================================================= */

.wm-lake__features {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 66px;
}

.wm-lake__feature {
  display: flex;
  align-items: center;
  gap: 18px;

  min-height: 96px;
  padding: 22px 24px;

  border: 1px solid rgba(185, 139, 74, 0.18);
  border-radius: 22px;
  background: var(--wm-lake-card);

  box-shadow: 0 14px 34px rgba(54, 43, 31, 0.045);

  transition:
    transform 0.28s ease,
    box-shadow 0.28s ease,
    border-color 0.28s ease,
    background 0.28s ease;
}

.wm-lake__feature:hover {
  transform: translateY(-4px);
  border-color: rgba(185, 139, 74, 0.42);
  background: var(--wm-lake-card-strong);
  box-shadow: 0 22px 48px rgba(54, 43, 31, 0.08);
}

.wm-lake__icon {
  flex: 0 0 50px;
  width: 50px;
  height: 50px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 999px;
  background: var(--wm-lake-gold-soft);
  color: var(--wm-lake-gold);

  transition:
    background 0.28s ease,
    color 0.28s ease;
}

.wm-lake__feature:hover .wm-lake__icon {
  background: var(--wm-lake-green);
  color: #FFF9EF;
}

.wm-lake__icon svg {
  width: 25px;
  height: 25px;
}

.wm-lake__feature h3 {
  margin: 0;
  color: var(--wm-lake-text);
  font-family: inherit;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -0.015em;
}

/* =========================================================
   GALLERY
========================================================= */

.wm-lake__gallery-heading {
  margin-top: 84px;
}

.wm-lake__gallery-heading h3 {
  margin: 0;
  color: var(--wm-lake-text);
  font-family: "Cormorant Garamond", "Cormorant", Georgia, serif;
  font-size: clamp(34px, 3.3vw, 48px);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -0.04em;
}

.wm-lake__gallery {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 34px;
}

.wm-lake__gallery-row {
  display: grid;
  gap: 16px;
}

.wm-lake__gallery-row--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wm-lake__gallery-row--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.wm-lake__shot {
  margin: 0;
}

.wm-lake__shot .wm-lake__photo-button {
  border-radius: 24px;
  box-shadow: 0 18px 42px rgba(54, 43, 31, 0.075);
}

.wm-lake__gallery-row--two .wm-lake__photo-button {
  height: 390px;
}

.wm-lake__gallery-row--three .wm-lake__photo-button {
  height: 285px;
}

.wm-lake__shot-caption {
  padding: 10px 14px;
  background: rgba(255, 250, 241, 0.9);
}

/* =========================================================
   LIGHTBOX
========================================================= */

.wm-lake-lightbox {
  position: fixed;
  inset: 0;
  z-index: 999999;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 28px;

  opacity: 0;
  pointer-events: none;

  transition: opacity 0.22s ease;
}

.wm-lake-lightbox.is-active {
  opacity: 1;
  pointer-events: auto;
}

.wm-lake-lightbox__backdrop {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  border: 0;
  background: rgba(25, 22, 18, 0.76);
  cursor: pointer;
}

.wm-lake-lightbox__panel {
  position: relative;
  z-index: 2;

  width: min(1120px, 94vw);
  max-height: 90vh;
  padding: 14px;

  border: 1px solid rgba(255, 250, 241, 0.22);
  border-radius: 28px;
  background: rgba(255, 250, 241, 0.94);

  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.32);
}

.wm-lake-lightbox__img {
  display: block;
  width: 100%;
  max-height: calc(90vh - 98px);

  object-fit: contain;
  border-radius: 20px;
  background: #211C17;
}

.wm-lake-lightbox__caption {
  margin: 12px 8px 2px;
  color: #4F4031;
  font-size: 14px;
  line-height: 1.45;
  text-align: center;
}

.wm-lake-lightbox__close {
  position: absolute;
  top: -16px;
  right: -16px;
  z-index: 3;

  width: 44px;
  height: 44px;

  border: 1px solid rgba(185, 139, 74, 0.34);
  border-radius: 999px;
  background: #FFF9EF;

  color: #3C2F22;
  font-size: 30px;
  line-height: 38px;

  cursor: pointer;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.2);

  transition:
    transform 0.2s ease,
    background 0.2s ease;
}

.wm-lake-lightbox__close:hover {
  transform: scale(1.04);
  background: #F5E7D2;
}

.wm-lake-lightbox__close:focus-visible,
.wm-lake-lightbox__backdrop:focus-visible {
  outline: 3px solid rgba(185, 139, 74, 0.68);
  outline-offset: 4px;
}

html.wm-lake-lightbox-open {
  overflow: hidden;
}

/* =========================================================
   ANIMATIONS
========================================================= */

@media (prefers-reduced-motion: no-preference) {
  .wm-lake-reveal {
    opacity: 0;
    transform: translateY(22px);
    animation: wmLakeReveal 0.8s ease forwards;
  }

  .wm-lake-reveal:nth-child(2) {
    animation-delay: 0.08s;
  }

  .wm-lake__feature:nth-child(2),
  .wm-lake__shot:nth-child(2) {
    animation-delay: 0.08s;
  }

  .wm-lake__feature:nth-child(3),
  .wm-lake__shot:nth-child(3) {
    animation-delay: 0.14s;
  }

  .wm-lake__feature:nth-child(4) {
    animation-delay: 0.2s;
  }

  .wm-lake__feature:nth-child(5) {
    animation-delay: 0.26s;
  }

  .wm-lake__feature:nth-child(6) {
    animation-delay: 0.32s;
  }
}

@keyframes wmLakeReveal {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {
  .wm-lake {
    padding: 84px 22px 92px;
  }

  .wm-lake__intro {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .wm-lake__content {
    max-width: 720px;
  }

  .wm-lake__hero-photo .wm-lake__photo-button,
  .wm-lake__hero-photo img {
    height: 430px;
    min-height: 430px;
  }

  .wm-lake__features {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 54px;
  }

  .wm-lake__gallery-heading {
    margin-top: 68px;
  }

  .wm-lake__gallery-row--two .wm-lake__photo-button {
    height: 330px;
  }

  .wm-lake__gallery-row--three .wm-lake__photo-button {
    height: 250px;
  }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {
  .wm-lake {
    padding: 66px 16px 74px;
    scroll-margin-top: 86px;
  }

  .wm-lake__intro {
    gap: 30px;
  }

  .wm-lake__eyebrow {
    margin-bottom: 18px;
    font-size: 11.5px;
    letter-spacing: 0.2em;
  }

  .wm-lake__title {
    font-size: clamp(34px, 11vw, 44px);
    line-height: 0.98;
  }

  .wm-lake__lead {
    margin-top: 22px;
    font-size: 15.5px;
    line-height: 1.72;
  }

  .wm-lake__hero-photo .wm-lake__photo-button,
  .wm-lake__hero-photo img {
    height: 290px;
    min-height: 290px;
  }

  .wm-lake__photo-button,
  .wm-lake__shot .wm-lake__photo-button {
    border-radius: 22px;
  }

  .wm-lake__photo-caption,
  .wm-lake__shot-caption {
    left: 12px;
    right: 12px;
    bottom: 12px;

    max-width: none;
    width: auto;

    font-size: 11.5px;
    text-align: center;
  }

  .wm-lake__features {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 42px;
  }

  .wm-lake__feature {
    min-height: 82px;
    padding: 17px 18px;
    border-radius: 19px;
  }

  .wm-lake__icon {
    flex-basis: 46px;
    width: 46px;
    height: 46px;
  }

  .wm-lake__feature h3 {
    font-size: 15.5px;
  }

  .wm-lake__gallery-heading {
    margin-top: 56px;
  }

  .wm-lake__gallery {
    margin-top: 26px;
    gap: 12px;
  }

  .wm-lake__gallery-row {
    gap: 12px;
  }

  .wm-lake__gallery-row--two,
  .wm-lake__gallery-row--three {
    grid-template-columns: 1fr;
  }

  .wm-lake__gallery-row--two .wm-lake__photo-button,
  .wm-lake__gallery-row--three .wm-lake__photo-button {
    height: 260px;
  }

  .wm-lake-lightbox {
    padding: 16px;
  }

  .wm-lake-lightbox__panel {
    width: 96vw;
    padding: 10px;
    border-radius: 22px;
  }

  .wm-lake-lightbox__img {
    max-height: calc(90vh - 92px);
    border-radius: 16px;
  }

  .wm-lake-lightbox__close {
    top: -12px;
    right: -8px;

    width: 40px;
    height: 40px;

    font-size: 28px;
  }

  .wm-lake-lightbox__caption {
    font-size: 12.5px;
  }
}
/* =========================================================
   WILLA MORMIN - FINAL LIGHTBOX PATCH
   Pełny ciemny overlay + osobny podpis + złoty X
   Wklej NA SAM KONIEC obecnego CSS
========================================================= */

/* Cały ekran - bez prześwitów i bez niebieskiej plamy */
.wm-lake-lightbox {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483000 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 100vw !important;
  height: 100dvh !important;
  min-height: 100vh !important;

  margin: 0 !important;
  padding: 34px 72px !important;

  background: rgba(28, 24, 20, 0.88) !important;

  backdrop-filter: blur(3px) !important;
  -webkit-backdrop-filter: blur(3px) !important;

  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;

  overflow: hidden !important;
  isolation: isolate !important;

  transition:
    opacity 0.22s ease,
    visibility 0.22s ease !important;
}

/* Stan aktywny */
.wm-lake-lightbox.is-active {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Backdrop służy tylko do kliknięcia poza zdjęciem */
.wm-lake-lightbox__backdrop {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;

  display: block !important;
  width: 100% !important;
  height: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 0 !important;

  background: transparent !important;
  background-color: transparent !important;

  box-shadow: none !important;
  outline: none !important;

  appearance: none !important;
  -webkit-appearance: none !important;

  cursor: pointer !important;
  -webkit-tap-highlight-color: transparent !important;
}

/* Panel bez wielkiej białej ramy */
.wm-lake-lightbox__panel {
  position: relative !important;
  z-index: 2 !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;

  width: min(1180px, calc(100vw - 144px)) !important;
  max-width: 1180px !important;
  max-height: calc(100dvh - 68px) !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 0 !important;

  background: transparent !important;
  background-color: transparent !important;

  box-shadow: none !important;
  outline: 0 !important;

  overflow: visible !important;
}

/* Duże zdjęcie */
.wm-lake-lightbox__img {
  display: block !important;

  width: auto !important;
  height: auto !important;

  max-width: 100% !important;
  max-height: calc(100dvh - 155px) !important;

  margin: 0 auto !important;

  object-fit: contain !important;
  object-position: center !important;

  border: 0 !important;
  border-radius: 22px !important;

  background: transparent !important;

  box-shadow:
    0 30px 90px rgba(0, 0, 0, 0.34),
    0 8px 28px rgba(0, 0, 0, 0.18) !important;
}

/* Osobny jasny pill z podpisem pod zdjęciem */
.wm-lake-lightbox__caption {
  display: block !important;

  width: min(820px, calc(100% - 80px)) !important;
  max-width: 820px !important;

  margin: 14px auto 0 !important;
  padding: 12px 24px !important;

  border: 1px solid rgba(185, 139, 74, 0.26) !important;
  border-radius: 999px !important;

  background: rgba(255, 249, 239, 0.97) !important;

  color: #554536 !important;

  font-family:
    "Montserrat",
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif !important;

  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;

  text-align: center !important;

  box-shadow:
    0 14px 34px rgba(0, 0, 0, 0.16) !important;

  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}

/* Złoty przycisk zamknięcia jak na wzorze */
.wm-lake-lightbox__close {
  position: fixed !important;

  top: 48px !important;
  right: 48px !important;

  z-index: 2147483002 !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  min-height: 52px !important;

  margin: 0 !important;
  padding: 0 0 3px 0 !important;

  border: 2px solid rgba(255, 249, 239, 0.28) !important;
  border-radius: 999px !important;

  background: #B8893F !important;
  background-color: #B8893F !important;

  color: #FFF9EF !important;

  font-family: Arial, sans-serif !important;
  font-size: 30px !important;
  font-weight: 400 !important;
  line-height: 1 !important;

  text-align: center !important;

  box-shadow:
    0 0 0 4px rgba(184, 137, 63, 0.17),
    0 16px 38px rgba(0, 0, 0, 0.28) !important;

  cursor: pointer !important;

  appearance: none !important;
  -webkit-appearance: none !important;

  transform: none !important;

  transition:
    transform 0.2s ease,
    background-color 0.2s ease,
    box-shadow 0.2s ease !important;

  -webkit-tap-highlight-color: transparent !important;
}

/* Hover X */
.wm-lake-lightbox__close:hover {
  transform: scale(1.06) !important;
  background: #3F5A38 !important;
  background-color: #3F5A38 !important;

  box-shadow:
    0 0 0 4px rgba(63, 90, 56, 0.18),
    0 18px 44px rgba(0, 0, 0, 0.32) !important;
}

/* Focus */
.wm-lake-lightbox__close:focus-visible {
  outline: 3px solid rgba(255, 249, 239, 0.85) !important;
  outline-offset: 4px !important;
}

.wm-lake-lightbox__backdrop:focus,
.wm-lake-lightbox__backdrop:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

/* Blokada scrolla */
html.wm-lake-lightbox-open,
html.wm-lake-lightbox-open body {
  overflow: hidden !important;
}

/* =========================================================
   ELEMENTOR EDITOR FIX
   Usuwa niebieskie prześwity canvasa przy otwartym lightboxie
========================================================= */

.elementor-editor-active .wm-lake-lightbox,
body.elementor-editor-active .wm-lake-lightbox {
  background: rgba(28, 24, 20, 0.94) !important;
  background-color: rgba(28, 24, 20, 0.94) !important;
}

/* Elementor nie może nadpisywać buttonów lightboxa */
.elementor-editor-active .wm-lake-lightbox button,
.wm-lake-lightbox button {
  box-shadow: none;
}

.elementor-editor-active .wm-lake-lightbox__close,
.wm-lake-lightbox__close {
  background: #B8893F !important;
  box-shadow:
    0 0 0 4px rgba(184, 137, 63, 0.17),
    0 16px 38px rgba(0, 0, 0, 0.28) !important;
}

.elementor-editor-active .wm-lake-lightbox__backdrop,
.wm-lake-lightbox__backdrop {
  background: transparent !important;
  background-color: transparent !important;
}

/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1024px) {
  .wm-lake-lightbox {
    padding: 26px 44px !important;
  }

  .wm-lake-lightbox__panel {
    width: min(100%, calc(100vw - 88px)) !important;
    max-height: calc(100dvh - 52px) !important;
  }

  .wm-lake-lightbox__img {
    max-height: calc(100dvh - 145px) !important;
    border-radius: 20px !important;
  }

  .wm-lake-lightbox__close {
    top: 28px !important;
    right: 28px !important;

    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;

    font-size: 28px !important;
  }
}

/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {
  .wm-lake-lightbox {
    align-items: center !important;

    padding:
      72px
      14px
      24px !important;
  }

  .wm-lake-lightbox__panel {
    width: 100% !important;
    max-width: 100% !important;
    max-height: calc(100dvh - 96px) !important;
  }

  .wm-lake-lightbox__img {
    width: auto !important;
    height: auto !important;

    max-width: 100% !important;
    max-height: calc(100dvh - 175px) !important;

    border-radius: 16px !important;

    box-shadow:
      0 24px 64px rgba(0, 0, 0, 0.34) !important;
  }

  .wm-lake-lightbox__caption {
    width: calc(100% - 20px) !important;
    max-width: none !important;

    margin-top: 12px !important;
    padding: 11px 16px !important;

    border-radius: 18px !important;

    font-size: 12px !important;
    line-height: 1.4 !important;
  }

  .wm-lake-lightbox__close {
    top: 16px !important;
    right: 16px !important;

    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;

    font-size: 27px !important;
  }
}

/* Bardzo małe telefony */
@media (max-width: 380px) {
  .wm-lake-lightbox {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .wm-lake-lightbox__caption {
    width: 100% !important;
    font-size: 11.5px !important;
  }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-547d1f5 *//* =========================================================
   WILLA MORMIN - DOJAZD I ODLEGŁOŚCI
   FINAL
   Namespace: wm-reach
========================================================= */


/* =========================================================
   ELEMENTOR FULL WIDTH / ANTI GAP
========================================================= */

.elementor-section:has(.wm-reach-shell),
.elementor-container:has(.wm-reach-shell),
.elementor-column:has(.wm-reach-shell),
.elementor-widget-wrap:has(.wm-reach-shell),
.elementor-element:has(.wm-reach-shell),
.elementor-widget-html:has(.wm-reach-shell),
.elementor-widget-html:has(.wm-reach-shell) > .elementor-widget-container,
.e-con:has(.wm-reach-shell),
.e-con-inner:has(.wm-reach-shell) {
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-widget-html:has(.wm-reach-shell),
.elementor-widget-html:has(.wm-reach-shell) > .elementor-widget-container {
  width: 100% !important;
  max-width: none !important;
  overflow: visible !important;
}

.elementor-container:has(.wm-reach-shell),
.elementor-column:has(.wm-reach-shell),
.elementor-widget-wrap:has(.wm-reach-shell),
.e-con:has(.wm-reach-shell),
.e-con-inner:has(.wm-reach-shell) {
  width: 100% !important;
  max-width: none !important;
}


/* =========================================================
   SHELL
========================================================= */

.wm-reach-shell {
  --wmr-green: #31482C;
  --wmr-green-deep: #263A22;
  --wmr-green-soft: #405B38;

  --wmr-gold: #B8893F;
  --wmr-gold-deep: #A9782F;
  --wmr-gold-light: #D3AB6B;

  --wmr-cream: #FFF9EF;
  --wmr-sand: #F2E6D3;

  --wmr-muted:
    rgba(255, 249, 239, 0.68);

  --wmr-soft:
    rgba(255, 249, 239, 0.48);

  position: relative;

  display: block;

  width: 100vw !important;
  max-width: 100vw !important;

  margin: 0 !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  padding: 0 !important;

  overflow: hidden !important;

  background:
    radial-gradient(
      circle at 12% 5%,
      rgba(255, 249, 239, 0.08) 0%,
      rgba(255, 249, 239, 0) 33%
    ),
    radial-gradient(
      circle at 88% 85%,
      rgba(184, 137, 63, 0.15) 0%,
      rgba(184, 137, 63, 0) 35%
    ),
    linear-gradient(
      135deg,
      #263A22 0%,
      #31482C 52%,
      #2A4026 100%
    );

  color: var(--wmr-cream);

  font-family:
    "Montserrat",
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;

  -webkit-font-smoothing: antialiased;

  isolation: isolate;
}


.wm-reach-shell *,
.wm-reach-shell *::before,
.wm-reach-shell *::after {
  box-sizing: border-box;
}


/* =========================================================
   MAIN
========================================================= */

.wm-reach {
  position: relative;

  width: 100%;

  margin: 0;

  padding:
    102px
    24px
    110px;

  overflow: hidden;
}


/* SUBTELNE OKRĘGI TŁA */

.wm-reach::before {
  content: "";

  position: absolute;

  top: -280px;
  right: -170px;

  width: 520px;
  height: 520px;

  border:
    1px solid
    rgba(184, 137, 63, 0.12);

  border-radius: 999px;

  pointer-events: none;
}


.wm-reach::after {
  content: "";

  position: absolute;

  bottom: -230px;
  left: -150px;

  width: 390px;
  height: 390px;

  border:
    1px solid
    rgba(255, 249, 239, 0.07);

  border-radius: 999px;

  pointer-events: none;
}


.wm-reach__inner {
  position: relative;
  z-index: 2;

  width: 100%;
  max-width: 1240px;

  margin: 0 auto;
}


/* =========================================================
   HEADER
========================================================= */

.wm-reach__head {
  width: 100%;
  max-width: 900px;

  margin:
    0 auto 62px;

  text-align: center;
}


.wm-reach__eyebrow {
  margin:
    0 0 18px;

  color:
    var(--wmr-gold-light);

  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;

  letter-spacing: 0.24em;

  text-transform: uppercase;
}


.wm-reach__title {
  width: 100%;
  max-width: 900px;

  margin: 0 auto;

  color:
    var(--wmr-cream);

  font-family:
    "Montserrat",
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;

  font-size:
    clamp(36px, 4.4vw, 60px);

  font-weight: 550;

  line-height: 1.07;

  letter-spacing: -0.05em;

  text-wrap: balance;
}


.wm-reach__lead {
  width: 100%;
  max-width: 760px;

  margin:
    24px auto 0;

  color:
    var(--wmr-muted);

  font-size: 16.5px;

  font-weight: 400;

  line-height: 1.75;

  letter-spacing: -0.01em;
}


/* =========================================================
   GŁÓWNY LAYOUT
========================================================= */

.wm-reach__layout {
  display: grid;

  grid-template-columns:
    minmax(350px, 0.86fr)
    minmax(0, 1.34fr);

  gap: 34px;

  align-items: stretch;
}


/* =========================================================
   LEWA KARTA
========================================================= */

.wm-reach__local {
  display: flex;

  flex-direction: column;

  min-width: 0;

  padding: 34px;

  border:
    1px solid
    rgba(255, 249, 239, 0.11);

  border-radius: 28px;

  background:
    linear-gradient(
      180deg,
      rgba(255, 249, 239, 0.075) 0%,
      rgba(255, 249, 239, 0.035) 100%
    );

  box-shadow:
    0 28px 70px
    rgba(12, 22, 11, 0.20);

  backdrop-filter: blur(10px);

  -webkit-backdrop-filter:
    blur(10px);
}


.wm-reach__local-head {
  margin:
    0 0 28px;
}


.wm-reach__local-kicker {
  margin:
    0 0 10px;

  color:
    var(--wmr-gold-light);

  font-size: 11px;

  font-weight: 700;

  line-height: 1.2;

  letter-spacing: 0.18em;

  text-transform: uppercase;
}


.wm-reach__local-head h3 {
  margin: 0;

  color:
    var(--wmr-cream);

  font-size: 25px;

  font-weight: 550;

  line-height: 1.22;

  letter-spacing: -0.035em;
}


/* =========================================================
   LOKALNY GRID
========================================================= */

.wm-reach__local-grid {
  display: grid;

  grid-template-columns:
    repeat(2, minmax(0, 1fr));

  gap: 12px;
}


.wm-reach__local-card {
  display: flex;

  align-items: center;

  gap: 13px;

  min-width: 0;

  min-height: 94px;

  margin: 0;

  padding: 17px;

  border:
    1px solid
    rgba(184, 137, 63, 0.18);

  border-radius: 19px;

  background:
    rgba(255, 249, 239, 0.055);

  transition:
    transform 0.25s ease,
    background 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease;
}


.wm-reach__local-card:hover {
  transform:
    translateY(-3px);

  border-color:
    rgba(211, 171, 107, 0.42);

  background:
    rgba(255, 249, 239, 0.09);

  box-shadow:
    0 16px 34px
    rgba(10, 18, 9, 0.16);
}


.wm-reach__local-copy {
  min-width: 0;
}


/* =========================================================
   LOCAL ICON
========================================================= */

.wm-reach__local-icon {
  flex:
    0 0 42px;

  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  width: 42px;

  height: 42px;

  border-radius:
    999px;

  background:
    rgba(184, 137, 63, 0.16);

  color:
    var(--wmr-gold-light);
}


.wm-reach__local-icon svg {
  display: block;

  width: 22px;

  height: 22px;
}


/* =========================================================
   LOCAL TEXT
========================================================= */

.wm-reach__local-card p {
  margin:
    0 0 5px;

  color:
    rgba(255, 249, 239, 0.64);

  font-size:
    11.5px;

  font-weight:
    500;

  line-height:
    1.3;
}


.wm-reach__local-card strong {
  display: block;

  color:
    var(--wmr-cream);

  font-size:
    16px;

  font-weight:
    650;

  line-height:
    1.2;

  letter-spacing:
    -0.02em;
}


/* =========================================================
   ADDRESS
========================================================= */

.wm-reach__address {
  display: grid;

  grid-template-columns:
    44px minmax(0, 1fr);

  gap: 14px;

  align-items: center;

  margin-top: 22px;

  padding: 18px;

  border:
    1px solid
    rgba(184, 137, 63, 0.22);

  border-radius:
    19px;

  background:
    rgba(184, 137, 63, 0.09);
}


.wm-reach__address-icon {
  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  width:
    44px;

  height:
    44px;

  border-radius:
    999px;

  background:
    var(--wmr-gold);

  color:
    var(--wmr-cream);
}


.wm-reach__address-icon svg {
  display: block;

  width:
    23px;

  height:
    23px;
}


.wm-reach__address-copy {
  min-width: 0;
}


.wm-reach__address p {
  margin:
    0 0 4px;

  color:
    rgba(255, 249, 239, 0.55);

  font-size:
    10.5px;

  font-weight:
    700;

  line-height:
    1.2;

  letter-spacing:
    0.14em;

  text-transform:
    uppercase;
}


.wm-reach__address strong {
  display: block;

  color:
    var(--wmr-cream);

  font-size:
    14px;

  font-weight:
    550;

  line-height:
    1.45;

  overflow-wrap:
    anywhere;
}


/* =========================================================
   CTA
========================================================= */

.wm-reach__route-btn {
  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  gap:
    10px;

  width:
    100%;

  min-height:
    52px;

  margin-top:
    18px;

  padding:
    0 24px;

  border:
    1px solid
    rgba(255, 249, 239, 0.18);

  border-radius:
    999px;

  background:
    linear-gradient(
      135deg,
      var(--wmr-gold) 0%,
      var(--wmr-gold-deep) 100%
    );

  color:
    var(--wmr-cream) !important;

  font-size:
    14px;

  font-weight:
    700;

  line-height:
    1;

  text-decoration:
    none !important;

  box-shadow:
    0 16px 34px
    rgba(9, 16, 8, 0.20);

  transition:
    transform 0.25s ease,
    background 0.25s ease,
    box-shadow 0.25s ease;
}


.wm-reach__route-btn svg {
  flex:
    0 0 auto;

  width:
    19px;

  height:
    19px;

  transition:
    transform 0.25s ease;
}


.wm-reach__route-btn:hover {
  transform:
    translateY(-2px);

  background:
    linear-gradient(
      135deg,
      #C59A59 0%,
      var(--wmr-gold) 100%
    );

  box-shadow:
    0 20px 42px
    rgba(8, 15, 7, 0.28);
}


.wm-reach__route-btn:hover svg {
  transform:
    translateX(3px);
}


/* =========================================================
   MAP CARD
========================================================= */

.wm-reach__map-card {
  min-width: 0;

  padding:
    30px 30px 22px;

  border:
    1px solid
    rgba(255, 249, 239, 0.10);

  border-radius:
    28px;

  background:
    radial-gradient(
      circle at 78% 12%,
      rgba(184, 137, 63, 0.10) 0%,
      rgba(184, 137, 63, 0) 31%
    ),
    rgba(15, 26, 13, 0.18);

  box-shadow:
    0 28px 70px
    rgba(12, 22, 11, 0.20);

  backdrop-filter:
    blur(10px);

  -webkit-backdrop-filter:
    blur(10px);

  overflow: hidden;
}


/* =========================================================
   MAP HEAD
========================================================= */

.wm-reach__map-head {
  display: flex;

  align-items:
    flex-start;

  justify-content:
    space-between;

  gap: 22px;

  margin-bottom:
    10px;
}


.wm-reach__map-head-copy {
  min-width: 0;
}


.wm-reach__map-head p {
  margin:
    0 0 7px;

  color:
    var(--wmr-gold-light);

  font-size:
    10.5px;

  font-weight:
    700;

  line-height:
    1.2;

  letter-spacing:
    0.17em;

  text-transform:
    uppercase;
}


.wm-reach__map-head h3 {
  margin: 0;

  color:
    var(--wmr-cream);

  font-size:
    23px;

  font-weight:
    550;

  line-height:
    1.2;

  letter-spacing:
    -0.035em;
}


.wm-reach__map-badge {
  flex:
    0 0 auto;

  display:
    inline-flex;

  align-items:
    center;

  justify-content:
    center;

  min-height:
    34px;

  padding:
    0 13px;

  border:
    1px solid
    rgba(184, 137, 63, 0.28);

  border-radius:
    999px;

  background:
    rgba(184, 137, 63, 0.12);

  color:
    var(--wmr-gold-light);

  font-size:
    10.5px;

  font-weight:
    650;

  line-height:
    1;

  white-space:
    nowrap;
}


/* =========================================================
   MAP WRAP
========================================================= */

.wm-reach__map-wrap {
  position: relative;

  width:
    100%;

  min-width:
    0;

  margin:
    0;
}


.wm-reach__map-svg {
  display:
    block;

  width:
    100%;

  height:
    auto;

  max-height:
    520px;

  margin:
    0 auto;

  overflow:
    visible;
}


/* =========================================================
   POLAND - PRAWDZIWY KONTUR
========================================================= */

.wm-reach__poland-shadow {
  fill:
    rgba(184, 137, 63, 0.035);

  stroke:
    rgba(184, 137, 63, 0.14);

  stroke-width:
    10;

  stroke-linecap:
    round;

  stroke-linejoin:
    round;

  filter:
    blur(3px);
}


.wm-reach__poland {
  fill:
    rgba(255, 249, 239, 0.012);

  stroke:
    var(--wmr-gold-light);

  stroke-width:
    2.15;

  stroke-linecap:
    round;

  stroke-linejoin:
    round;

  vector-effect:
    non-scaling-stroke;

  filter:
    url(#wmReachOutlineGlow);
}


/* =========================================================
   CITY MARKERS
========================================================= */

.wm-reach__city {
  cursor:
    default;
}


.wm-reach__city-ring {
  fill:
    rgba(184, 137, 63, 0.10);

  stroke:
    var(--wmr-gold-light);

  stroke-width:
    1.5;

  transition:
    r 0.25s ease,
    fill 0.25s ease,
    stroke 0.25s ease;
}


.wm-reach__city-dot {
  fill:
    var(--wmr-gold-light);
}


.wm-reach__city-name {
  fill:
    rgba(255, 249, 239, 0.90);

  font-family:
    "Montserrat",
    system-ui,
    sans-serif;

  font-size:
    12px;

  font-weight:
    650;

  paint-order:
    stroke fill;

  stroke:
    rgba(38, 58, 34, 0.82);

  stroke-width:
    2.6px;

  stroke-linejoin:
    round;
}


.wm-reach__city-distance {
  fill:
    rgba(211, 171, 107, 0.90);

  font-family:
    "Montserrat",
    system-ui,
    sans-serif;

  font-size:
    10.5px;

  font-weight:
    550;

  paint-order:
    stroke fill;

  stroke:
    rgba(38, 58, 34, 0.78);

  stroke-width:
    2.2px;

  stroke-linejoin:
    round;
}


.wm-reach__city:hover
.wm-reach__city-ring {
  r:
    11px;

  fill:
    rgba(184, 137, 63, 0.20);
}


/* =========================================================
   DESTINATION - WILLA MORMIN
========================================================= */

.wm-reach__destination-ring {
  fill:
    none;

  stroke:
    rgba(184, 137, 63, 0.38);

  stroke-width:
    2;

  transform-box:
    fill-box;

  transform-origin:
    center;

  animation:
    wmReachPulse
    2.4s
    ease-in-out
    infinite;
}


.wm-reach__destination-halo {
  fill:
    rgba(184, 137, 63, 0.15);
}


.wm-reach__destination-pin {
  fill:
    var(--wmr-gold);

  filter:
    url(#wmReachDestinationGlow);
}


.wm-reach__destination-core {
  fill:
    var(--wmr-cream);
}


.wm-reach__destination-label {
  fill:
    var(--wmr-cream);

  font-family:
    "Montserrat",
    system-ui,
    sans-serif;

  font-size:
    13px;

  font-weight:
    750;

  paint-order:
    stroke fill;

  stroke:
    rgba(38, 58, 34, 0.90);

  stroke-width:
    3px;

  stroke-linejoin:
    round;
}


.wm-reach__destination-sub {
  fill:
    var(--wmr-gold-light);

  font-family:
    "Montserrat",
    system-ui,
    sans-serif;

  font-size:
    9.5px;

  font-weight:
    600;

  paint-order:
    stroke fill;

  stroke:
    rgba(38, 58, 34, 0.90);

  stroke-width:
    2.5px;

  stroke-linejoin:
    round;
}


/* =========================================================
   MAP NOTE
========================================================= */

.wm-reach__map-note {
  margin:
    -2px 0 0;

  color:
    rgba(255, 249, 239, 0.44);

  font-size:
    11px;

  font-weight:
    400;

  line-height:
    1.55;

  text-align:
    center;
}


/* =========================================================
   ANIMATIONS
========================================================= */

@keyframes wmReachPulse {
  0%,
  100% {
    opacity:
      0.45;

    transform:
      scale(0.90);
  }

  50% {
    opacity:
      1;

    transform:
      scale(1.16);
  }
}


@media (prefers-reduced-motion: no-preference) {

  .wm-reach-reveal {
    opacity:
      0;

    transform:
      translateY(22px);

    animation:
      wmReachReveal
      0.8s
      ease
      forwards;
  }

  .wm-reach__layout
  > .wm-reach-reveal:nth-child(2) {
    animation-delay:
      0.10s;
  }

}


@keyframes wmReachReveal {
  to {
    opacity:
      1;

    transform:
      translateY(0);
  }
}


/* =========================================================
   LAPTOP
========================================================= */

@media (max-width: 1180px) {

  .wm-reach {
    padding:
      88px
      22px
      96px;
  }

  .wm-reach__head {
    margin-bottom:
      52px;
  }

  .wm-reach__layout {
    grid-template-columns:
      minmax(310px, 0.82fr)
      minmax(0, 1.18fr);

    gap:
      24px;
  }

  .wm-reach__local {
    padding:
      28px;
  }

  .wm-reach__map-card {
    padding:
      26px
      24px
      20px;
  }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 960px) {

  .wm-reach__layout {
    grid-template-columns:
      1fr;

    gap:
      22px;
  }

  .wm-reach__local-grid {
    grid-template-columns:
      repeat(4, minmax(0, 1fr));
  }

  .wm-reach__map-svg {
    max-height:
      580px;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

  .wm-reach {
    padding:
      66px
      16px
      74px;
  }


  /* HEADER */

  .wm-reach__head {
    margin-bottom:
      38px;

    text-align:
      left;
  }

  .wm-reach__eyebrow {
    font-size:
      11px;

    letter-spacing:
      0.20em;
  }

  .wm-reach__title {
    font-size:
      clamp(31px, 9.5vw, 42px);

    line-height:
      1.10;
  }

  .wm-reach__lead {
    margin-top:
      20px;

    font-size:
      15px;

    line-height:
      1.70;
  }


  /* CARDS */

  .wm-reach__local,
  .wm-reach__map-card {
    padding:
      22px
      18px;

    border-radius:
      22px;
  }

  .wm-reach__local-head h3,
  .wm-reach__map-head h3 {
    font-size:
      21px;
  }


  /* LOCAL GRID */

  .wm-reach__local-grid {
    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    gap:
      10px;
  }

  .wm-reach__local-card {
    min-height:
      88px;

    padding:
      14px;

    border-radius:
      17px;
  }

  .wm-reach__local-icon {
    flex-basis:
      38px;

    width:
      38px;

    height:
      38px;
  }

  .wm-reach__local-icon svg {
    width:
      20px;

    height:
      20px;
  }

  .wm-reach__local-card p {
    font-size:
      10.5px;
  }

  .wm-reach__local-card strong {
    font-size:
      14.5px;
  }


  /* ADDRESS */

  .wm-reach__address {
    grid-template-columns:
      40px minmax(0, 1fr);

    padding:
      15px;
  }

  .wm-reach__address-icon {
    width:
      40px;

    height:
      40px;
  }

  .wm-reach__address strong {
    font-size:
      13px;
  }


  /* CTA */

  .wm-reach__route-btn {
    min-height:
      50px;

    padding:
      0 18px;

    font-size:
      13px;
  }


  /* MAP HEADER */

  .wm-reach__map-head {
    display:
      block;
  }

  .wm-reach__map-badge {
    margin-top:
      14px;
  }


  /* MAP */

  .wm-reach__map-wrap {
    margin-top:
      12px;
  }

  .wm-reach__map-svg {
    width:
      100%;

    max-height:
      none;
  }


  /* Na mobile zwiększamy tekst wewnątrz SVG,
     żeby po przeskalowaniu nadal był czytelny */

  .wm-reach__city-name {
    font-size:
      14px;
  }

  .wm-reach__city-distance {
    font-size:
      12px;
  }

  .wm-reach__destination-label {
    font-size:
      15px;
  }

  .wm-reach__destination-sub {
    font-size:
      11px;
  }

  .wm-reach__map-note {
    margin-top:
      6px;

    font-size:
      10.5px;
  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 390px) {

  .wm-reach {
    padding-left:
      14px;

    padding-right:
      14px;
  }

  .wm-reach__local,
  .wm-reach__map-card {
    padding-left:
      16px;

    padding-right:
      16px;
  }

  .wm-reach__local-grid {
    grid-template-columns:
      1fr;
  }

  .wm-reach__local-card {
    min-height:
      78px;
  }

  .wm-reach__route-btn span {
    max-width:
      210px;

    text-align:
      center;

    line-height:
      1.25;
  }

}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-7664653 *//* ============================================================
   WILLA MORMIN — ATRAKCJE W OKOLICY + SHELL FIX
============================================================ */

.wm-attractions-shell {
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow-x: clip;
}

/* Elementor shell reset — usuwa białe piksele/marginesy z widgetu */
.elementor-widget-html:has(.wm-attractions-shell),
.elementor-widget-html:has(.wm-attractions-shell) > .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
}

.elementor-section:has(.wm-attractions-shell),
.elementor-container:has(.wm-attractions-shell),
.elementor-column:has(.wm-attractions-shell),
.elementor-widget-wrap:has(.wm-attractions-shell) {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.wm-attractions {
  --wm-a-bg: #FBF4E8;
  --wm-a-gold: #B8893F;
  --wm-a-text: #2E2A24;
  --wm-a-muted: #6B6354;
  --wm-a-border: rgba(184, 137, 63, 0.22);
  --wm-a-border-strong: rgba(184, 137, 63, 0.42);
  --wm-a-card: rgba(255, 252, 245, 0.50);

  position: relative;
  display: block;
  width: 100%;
  background: var(--wm-a-bg);
  padding: 110px 0;
  overflow: hidden;
}

.wm-attractions *,
.wm-attractions *::before,
.wm-attractions *::after {
  box-sizing: border-box;
}

.wm-attractions__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

.wm-attractions__head {
  max-width: 760px;
}

.wm-attractions__eyebrow {
  margin: 0;
  color: var(--wm-a-gold);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.wm-attractions__title {
  margin: 18px 0 0 0;
  color: var(--wm-a-text);
  font-family: var(--wm-serif, "Cormorant Garamond", "Playfair Display", Georgia, serif);
  font-size: clamp(30px, 4vw, 44px);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -0.01em;
}

.wm-attractions__lead {
  max-width: 700px;
  margin: 20px 0 0 0;
  color: var(--wm-a-muted);
  font-size: 17px;
  line-height: 1.7;
  font-weight: 400;
}

.wm-attractions__grid {
  list-style: none;
  margin: 48px 0 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.wm-attractions__card {
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 74px;
  padding: 18px 22px;
  border: 1px solid var(--wm-a-border);
  border-radius: 16px;
  background: var(--wm-a-card);
  transition:
    transform 0.28s ease,
    border-color 0.28s ease,
    box-shadow 0.28s ease,
    background 0.28s ease;
}

.wm-attractions__card:hover {
  transform: translateY(-3px);
  border-color: var(--wm-a-border-strong);
  background: rgba(255, 253, 248, 0.82);
  box-shadow: 0 14px 30px rgba(46, 42, 36, 0.07);
}

.wm-attractions__icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  color: var(--wm-a-gold);
}

.wm-attractions__icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

.wm-attractions__name {
  color: var(--wm-a-text);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -0.005em;
}

/* ---------- Tablet ---------- */

@media (max-width: 1024px) {
  .wm-attractions {
    padding: 84px 0;
  }

  .wm-attractions__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
  }
}

/* ---------- Mobile ---------- */

@media (max-width: 640px) {
  .wm-attractions {
    padding: 64px 0;
  }

  .wm-attractions__inner {
    padding: 0 20px;
  }

  .wm-attractions__lead {
    font-size: 16px;
  }

  .wm-attractions__grid {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 36px;
  }

  .wm-attractions__card {
    min-height: 64px;
    padding: 16px 18px;
  }
}
/* ============================================================
   WILLA MORMIN — ATRAKCJE SHELL PARENT FIX
   Usuwa białe paski/marginesy z góry, dołu i boków Elementora
============================================================ */

.wm-attractions-shell-parent,
.wm-attractions-shell-parent.e-con,
.wm-attractions-shell-parent.elementor-section,
.wm-attractions-shell-parent.elementor-top-section {
  margin: 0 !important;
  padding: 0 !important;
  background: #FBF4E8 !important;
  overflow: hidden !important;
}

.wm-attractions-shell-parent > .e-con-inner,
.wm-attractions-shell-parent > .elementor-container,
.wm-attractions-shell-parent .elementor-widget-wrap,
.wm-attractions-shell-parent .elementor-widget-html,
.wm-attractions-shell-parent .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

.wm-attractions-shell {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  overflow: hidden !important;
  background: #FBF4E8 !important;
}

/* Awaryjne zbicie odstępów, jeżeli Elementor dalej dodaje gap */
.wm-attractions-shell-parent .elementor-element,
.wm-attractions-shell-parent .e-con-full,
.wm-attractions-shell-parent .e-con-boxed {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-47fad3c *//* ===== WILLA MORMIN - POBYTY POZA SEZONEM ===== */

/* Elementor anti-gap reset */
.elementor-widget-html:has(.wm-season-shell),
.elementor-widget-html:has(.wm-season-shell) > .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: none !important;
  overflow: visible !important;
}

/* Shell */
.wm-season-shell {
  --wm-season-bg-top: #F5E9D6;
  --wm-season-bg-bottom: #F1DFC4;
  --wm-season-card: #FBF5E9;
  --wm-season-card-soft: #FFF9EF;
  --wm-season-text: #2D2923;
  --wm-season-muted: rgba(45, 41, 35, 0.72);
  --wm-season-soft: rgba(45, 41, 35, 0.62);
  --wm-season-gold: #B98D4F;
  --wm-season-gold-dark: #9D7336;
  --wm-season-green: #405A38;
  --wm-season-line: rgba(185, 141, 79, 0.18);
  --wm-season-shadow: rgba(64, 48, 28, 0.08);
  --wm-season-shadow-strong: rgba(64, 48, 28, 0.14);

  position: relative;
  display: block;
  width: 100vw;
  max-width: 100vw;
  margin: 0;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 0;
  overflow: hidden;
  background: linear-gradient(180deg, var(--wm-season-bg-top) 0%, var(--wm-season-bg-bottom) 100%);
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--wm-season-text);
  -webkit-font-smoothing: antialiased;
  isolation: isolate;
}

.wm-season-shell *,
.wm-season-shell *::before,
.wm-season-shell *::after {
  box-sizing: border-box;
}

.wm-season-shell * {
  margin-top: 0;
}

.wm-season {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 96px 24px 104px;
  background:
    radial-gradient(circle at 16% 10%, rgba(255, 255, 255, 0.38) 0, rgba(255, 255, 255, 0) 34%),
    radial-gradient(circle at 88% 18%, rgba(185, 141, 79, 0.10) 0, rgba(185, 141, 79, 0) 28%),
    linear-gradient(180deg, var(--wm-season-bg-top) 0%, var(--wm-season-bg-bottom) 100%);
  overflow: hidden;
}

.wm-season__inner {
  width: 100%;
  max-width: 1220px;
  margin: 0 auto;
  padding: 0;
}

/* Header */
.wm-season__head {
  max-width: 780px;
  margin: 0 0 56px 0;
  padding: 0;
}

.wm-season__eyebrow {
  margin: 0 0 18px 0;
  color: var(--wm-season-gold);
  font-size: 13px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.wm-season__title {
  max-width: 780px;
  margin: 0;
  color: var(--wm-season-text);
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(32px, 4.1vw, 54px);
  line-height: 1.14;
  font-weight: 500;
  letter-spacing: -0.045em;
}

.wm-season__lead {
  max-width: 760px;
  margin: 26px 0 0 0;
  color: var(--wm-season-muted);
  font-size: 17px;
  line-height: 1.78;
  font-weight: 400;
  letter-spacing: -0.01em;
}

/* Grid */
.wm-season__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  width: 100%;
  margin: 0;
  padding: 0;
}

/* Cards */
.wm-season__card {
  position: relative;
  min-height: 248px;
  margin: 0;
  padding: 32px 28px 30px;
  border: 1px solid var(--wm-season-line);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.34) 0%, rgba(255, 255, 255, 0) 100%),
    var(--wm-season-card);
  box-shadow: 0 18px 42px var(--wm-season-shadow);
  overflow: hidden;
  transition:
    transform 0.28s ease,
    box-shadow 0.28s ease,
    border-color 0.28s ease,
    background-color 0.28s ease;
}

.wm-season__card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 18% 12%, rgba(185, 141, 79, 0.10), rgba(185, 141, 79, 0) 36%);
  opacity: 0;
  transition: opacity 0.28s ease;
  pointer-events: none;
}

.wm-season__card:hover {
  transform: translateY(-6px);
  border-color: rgba(185, 141, 79, 0.32);
  box-shadow: 0 24px 58px var(--wm-season-shadow-strong);
}

.wm-season__card:hover::before {
  opacity: 1;
}

.wm-season__icon {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  margin: 0 0 25px 0;
  border-radius: 999px;
  background: rgba(185, 141, 79, 0.13);
  color: var(--wm-season-gold);
}

.wm-season__icon svg {
  display: block;
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.55;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.wm-season__card-title {
  position: relative;
  z-index: 1;
  margin: 0 0 14px 0;
  color: var(--wm-season-text);
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 22px;
  line-height: 1.34;
  font-weight: 500;
  letter-spacing: -0.035em;
}

.wm-season__card-text {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--wm-season-soft);
  font-size: 14.5px;
  line-height: 1.68;
  font-weight: 400;
}

/* CTA */
.wm-season__cta {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 56px 0 0 0;
  padding: 0;
}

.wm-season__button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 34px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  background: linear-gradient(135deg, var(--wm-season-gold) 0%, var(--wm-season-gold-dark) 100%);
  color: #FFF9EF !important;
  font-size: 15px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -0.015em;
  text-align: center;
  text-decoration: none !important;
  box-shadow: 0 16px 34px rgba(157, 115, 54, 0.30);
  overflow: hidden;
  transform: translateZ(0);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease;
}

.wm-season__button::before {
  content: "";
  position: absolute;
  top: 0;
  left: -90%;
  width: 70%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.24), transparent);
  transform: skewX(-18deg);
  transition: left 0.6s ease;
}

.wm-season__button:hover {
  transform: translateY(-2px);
  background: linear-gradient(135deg, var(--wm-season-green) 0%, #31452B 100%);
  color: #FFF9EF !important;
  box-shadow: 0 20px 44px rgba(64, 90, 56, 0.28);
}

.wm-season__button:hover::before {
  left: 120%;
}

.wm-season__button:focus-visible {
  outline: 3px solid rgba(185, 141, 79, 0.35);
  outline-offset: 4px;
}

/* Laptop */
@media (max-width: 1180px) {
  .wm-season {
    padding: 84px 22px 92px;
  }

  .wm-season__head {
    margin-bottom: 48px;
  }

  .wm-season__grid {
    gap: 18px;
  }

  .wm-season__card {
    min-height: 236px;
    padding: 30px 24px 28px;
  }

  .wm-season__card-title {
    font-size: 20px;
  }
}

/* Tablet */
@media (max-width: 1024px) {
  .wm-season__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }

  .wm-season__card {
    min-height: 220px;
  }
}

/* Mobile */
@media (max-width: 640px) {
  .wm-season {
    padding: 64px 18px 72px;
  }

  .wm-season__head {
    margin-bottom: 38px;
  }

  .wm-season__eyebrow {
    margin-bottom: 16px;
    font-size: 11px;
    letter-spacing: 0.19em;
  }

  .wm-season__title {
    font-size: 30px;
    line-height: 1.18;
    letter-spacing: -0.04em;
  }

  .wm-season__lead {
    margin-top: 22px;
    font-size: 15.5px;
    line-height: 1.72;
  }

  .wm-season__grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .wm-season__card {
    min-height: auto;
    padding: 28px 24px;
    border-radius: 20px;
  }

  .wm-season__icon {
    width: 50px;
    height: 50px;
    margin-bottom: 22px;
  }

  .wm-season__card-title {
    font-size: 20px;
    line-height: 1.34;
  }

  .wm-season__card-text {
    font-size: 14.5px;
  }

  .wm-season__cta {
    margin-top: 42px;
  }

  .wm-season__button {
    width: 100%;
    max-width: 420px;
    min-height: 54px;
    padding: 0 24px;
    font-size: 14.5px;
  }
}

/* Small mobile */
@media (max-width: 380px) {
  .wm-season {
    padding-left: 15px;
    padding-right: 15px;
  }

  .wm-season__title {
    font-size: 28px;
  }

  .wm-season__card {
    padding: 26px 21px;
  }
}
/* FIX: usuwa białe przerwy góra/dół i wymusza pełne wypełnienie sekcji przez kolumnę */

.elementor-section:has(.wm-season-shell),
.elementor-container:has(.wm-season-shell),
.elementor-column:has(.wm-season-shell),
.elementor-widget-wrap:has(.wm-season-shell),
.elementor-element:has(.wm-season-shell),
.elementor-widget-html:has(.wm-season-shell),
.elementor-widget-html:has(.wm-season-shell) > .elementor-widget-container,
.e-con:has(.wm-season-shell),
.e-con-inner:has(.wm-season-shell) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  row-gap: 0 !important;
  gap: 0 !important;
}

.elementor-column:has(.wm-season-shell),
.elementor-widget-wrap:has(.wm-season-shell),
.e-con:has(.wm-season-shell),
.e-con-inner:has(.wm-season-shell) {
  align-items: stretch !important;
  justify-content: stretch !important;
}

.elementor-widget-wrap:has(.wm-season-shell) {
  padding: 0 !important;
}

.elementor-element:has(.wm-season-shell) {
  width: 100% !important;
  max-width: none !important;
}

.wm-season-shell {
  display: block !important;
  width: 100vw !important;
  max-width: 100vw !important;
  min-height: 100% !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.wm-season {
  min-height: 100% !important;
  margin: 0 !important;
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-d5cc944 *//* ===== WILLA MORMIN - OPINIE ===== */

/* Elementor anti-gap reset */
.elementor-section:has(.wm-reviews-shell),
.elementor-container:has(.wm-reviews-shell),
.elementor-column:has(.wm-reviews-shell),
.elementor-widget-wrap:has(.wm-reviews-shell),
.elementor-element:has(.wm-reviews-shell),
.elementor-widget-html:has(.wm-reviews-shell),
.elementor-widget-html:has(.wm-reviews-shell) > .elementor-widget-container,
.e-con:has(.wm-reviews-shell),
.e-con-inner:has(.wm-reviews-shell) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  row-gap: 0 !important;
  gap: 0 !important;
}

.elementor-widget-html:has(.wm-reviews-shell),
.elementor-widget-html:has(.wm-reviews-shell) > .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: none !important;
  overflow: visible !important;
}

.elementor-container:has(.wm-reviews-shell),
.elementor-column:has(.wm-reviews-shell),
.elementor-widget-wrap:has(.wm-reviews-shell),
.e-con:has(.wm-reviews-shell),
.e-con-inner:has(.wm-reviews-shell) {
  width: 100% !important;
  max-width: none !important;
  align-items: stretch !important;
  justify-content: stretch !important;
}

.elementor-widget-wrap:has(.wm-reviews-shell) {
  padding: 0 !important;
}

/* Shell */
.wm-reviews-shell {
  --wm-reviews-bg-top: #F7EDDD;
  --wm-reviews-bg-bottom: #F3E4CC;
  --wm-reviews-card: #FBF5E9;
  --wm-reviews-card-soft: #FFF9EF;
  --wm-reviews-text: #2D2923;
  --wm-reviews-muted: rgba(45, 41, 35, 0.66);
  --wm-reviews-quote: rgba(45, 41, 35, 0.82);
  --wm-reviews-gold: #B98D4F;
  --wm-reviews-gold-dark: #9D7336;
  --wm-reviews-green: #405A38;
  --wm-reviews-line: rgba(185, 141, 79, 0.20);
  --wm-reviews-shadow: rgba(64, 48, 28, 0.07);
  --wm-reviews-shadow-strong: rgba(64, 48, 28, 0.13);

  position: relative;
  display: block;
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 0 !important;
  overflow: hidden;
  background: linear-gradient(180deg, var(--wm-reviews-bg-top) 0%, var(--wm-reviews-bg-bottom) 100%);
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--wm-reviews-text);
  -webkit-font-smoothing: antialiased;
  isolation: isolate;
  scroll-margin-top: 110px;
}

.wm-reviews-shell *,
.wm-reviews-shell *::before,
.wm-reviews-shell *::after {
  box-sizing: border-box;
}

.wm-reviews-shell * {
  margin-top: 0;
}

.wm-reviews {
  position: relative;
  width: 100%;
  min-height: 100%;
  margin: 0 !important;
  padding: 96px 24px 104px;
  background:
    radial-gradient(circle at 14% 8%, rgba(255, 255, 255, 0.36) 0, rgba(255, 255, 255, 0) 34%),
    radial-gradient(circle at 86% 18%, rgba(185, 141, 79, 0.08) 0, rgba(185, 141, 79, 0) 28%),
    linear-gradient(180deg, var(--wm-reviews-bg-top) 0%, var(--wm-reviews-bg-bottom) 100%);
  overflow: hidden;
}

.wm-reviews__inner {
  width: 100%;
  max-width: 1220px;
  margin: 0 auto;
  padding: 0;
}

/* Header */
.wm-reviews__head {
  max-width: 840px;
  margin: 0 0 56px 0;
  padding: 0;
}

.wm-reviews__eyebrow {
  margin: 0 0 18px 0;
  color: var(--wm-reviews-gold);
  font-size: 13px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.wm-reviews__title {
  max-width: 830px;
  margin: 0;
  color: var(--wm-reviews-text);
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(32px, 3.7vw, 50px);
  line-height: 1.16;
  font-weight: 500;
  letter-spacing: -0.045em;
}

/* Grid */
.wm-reviews__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  width: 100%;
  margin: 0;
  padding: 0;
}

/* Cards */
.wm-reviews__card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 210px;
  margin: 0;
  padding: 36px 38px 34px;
  border: 1px solid var(--wm-reviews-line);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.30) 0%, rgba(255, 255, 255, 0) 100%),
    var(--wm-reviews-card);
  box-shadow: 0 16px 40px var(--wm-reviews-shadow);
  overflow: hidden;
  transition:
    transform 0.28s ease,
    box-shadow 0.28s ease,
    border-color 0.28s ease;
}

.wm-reviews__card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 12% 12%, rgba(185, 141, 79, 0.09), rgba(185, 141, 79, 0) 34%);
  opacity: 0;
  transition: opacity 0.28s ease;
  pointer-events: none;
}

.wm-reviews__card:hover {
  transform: translateY(-5px);
  border-color: rgba(185, 141, 79, 0.34);
  box-shadow: 0 24px 56px var(--wm-reviews-shadow-strong);
}

.wm-reviews__card:hover::before {
  opacity: 1;
}

.wm-reviews__stars {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  width: fit-content;
  margin: 0 0 20px 0;
  color: var(--wm-reviews-gold);
}

.wm-reviews__stars svg {
  display: block;
  width: 16px;
  height: 16px;
  fill: currentColor;
}

.wm-reviews__text {
  position: relative;
  z-index: 1;
  margin: 0 0 22px 0;
  color: var(--wm-reviews-quote);
  font-size: 17px;
  line-height: 1.72;
  font-weight: 400;
  letter-spacing: -0.018em;
}

.wm-reviews__author {
  position: relative;
  z-index: 1;
  margin: auto 0 0 0;
  color: var(--wm-reviews-muted);
  font-size: 13.5px;
  line-height: 1.4;
  font-weight: 500;
}

.wm-reviews__author::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 1px;
  margin: 0 8px 4px 0;
  background: rgba(45, 41, 35, 0.42);
}

/* CTA */
.wm-reviews__cta {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 54px 0 0 0;
  padding: 0;
}

.wm-reviews__button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 32px;
  border: 1px solid rgba(185, 141, 79, 0.36);
  border-radius: 999px;
  background: rgba(255, 249, 239, 0.70);
  color: var(--wm-reviews-text) !important;
  font-size: 15px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -0.015em;
  text-align: center;
  text-decoration: none !important;
  box-shadow: 0 12px 26px rgba(64, 48, 28, 0.06);
  overflow: hidden;
  transform: translateZ(0);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease,
    color 0.25s ease,
    border-color 0.25s ease;
}

.wm-reviews__button::before {
  content: "";
  position: absolute;
  top: 0;
  left: -90%;
  width: 70%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.24), transparent);
  transform: skewX(-18deg);
  transition: left 0.6s ease;
}

.wm-reviews__button:hover {
  transform: translateY(-2px);
  background: linear-gradient(135deg, var(--wm-reviews-gold) 0%, var(--wm-reviews-gold-dark) 100%);
  border-color: rgba(185, 141, 79, 0.58);
  color: #FFF9EF !important;
  box-shadow: 0 18px 40px rgba(157, 115, 54, 0.26);
}

.wm-reviews__button:hover::before {
  left: 120%;
}

.wm-reviews__button:focus-visible {
  outline: 3px solid rgba(185, 141, 79, 0.35);
  outline-offset: 4px;
}

/* Laptop */
@media (max-width: 1180px) {
  .wm-reviews {
    padding: 84px 22px 92px;
  }

  .wm-reviews__head {
    margin-bottom: 48px;
  }

  .wm-reviews__grid {
    gap: 20px;
  }

  .wm-reviews__card {
    padding: 34px 34px 32px;
  }
}

/* Tablet */
@media (max-width: 900px) {
  .wm-reviews__grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .wm-reviews__card {
    min-height: auto;
  }
}

/* Mobile */
@media (max-width: 640px) {
  .wm-reviews {
    padding: 64px 18px 72px;
  }

  .wm-reviews__head {
    margin-bottom: 38px;
  }

  .wm-reviews__eyebrow {
    margin-bottom: 16px;
    font-size: 11px;
    letter-spacing: 0.19em;
  }

  .wm-reviews__title {
    font-size: 29px;
    line-height: 1.2;
    letter-spacing: -0.04em;
  }

  .wm-reviews__card {
    padding: 30px 24px 28px;
    border-radius: 20px;
  }

  .wm-reviews__stars {
    margin-bottom: 18px;
  }

  .wm-reviews__stars svg {
    width: 15px;
    height: 15px;
  }

  .wm-reviews__text {
    margin-bottom: 20px;
    font-size: 15.5px;
    line-height: 1.72;
  }

  .wm-reviews__author {
    font-size: 13px;
  }

  .wm-reviews__cta {
    margin-top: 42px;
  }

  .wm-reviews__button {
    width: 100%;
    max-width: 440px;
    min-height: 54px;
    padding: 0 24px;
    font-size: 14.5px;
  }
}

/* Small mobile */
@media (max-width: 380px) {
  .wm-reviews {
    padding-left: 15px;
    padding-right: 15px;
  }

  .wm-reviews__title {
    font-size: 27px;
  }

  .wm-reviews__card {
    padding: 28px 21px;
  }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-db291d4 *//* ===== WILLA MORMIN - CENY ===== */

/* Elementor anti-gap reset */
.elementor-section:has(.wm-pricing-shell),
.elementor-container:has(.wm-pricing-shell),
.elementor-column:has(.wm-pricing-shell),
.elementor-widget-wrap:has(.wm-pricing-shell),
.elementor-element:has(.wm-pricing-shell),
.elementor-widget-html:has(.wm-pricing-shell),
.elementor-widget-html:has(.wm-pricing-shell) > .elementor-widget-container,
.e-con:has(.wm-pricing-shell),
.e-con-inner:has(.wm-pricing-shell) {
  margin: 0 !important;
  padding: 0 !important;
  row-gap: 0 !important;
  gap: 0 !important;
}

.elementor-widget-html:has(.wm-pricing-shell),
.elementor-widget-html:has(.wm-pricing-shell) > .elementor-widget-container {
  width: 100% !important;
  max-width: none !important;
  overflow: visible !important;
}

.elementor-container:has(.wm-pricing-shell),
.elementor-column:has(.wm-pricing-shell),
.elementor-widget-wrap:has(.wm-pricing-shell),
.e-con:has(.wm-pricing-shell),
.e-con-inner:has(.wm-pricing-shell) {
  width: 100% !important;
  max-width: none !important;
  align-items: stretch !important;
  justify-content: stretch !important;
}

.elementor-widget-wrap:has(.wm-pricing-shell) {
  padding: 0 !important;
}

/* Shell */
.wm-pricing-shell {
  --wm-pricing-bg-top: #F7EDDD;
  --wm-pricing-bg-bottom: #F3E4CC;
  --wm-pricing-card: #FBF5E9;
  --wm-pricing-text: #2D2923;
  --wm-pricing-muted: rgba(45, 41, 35, 0.68);
  --wm-pricing-soft: rgba(45, 41, 35, 0.56);
  --wm-pricing-gold: #B98D4F;
  --wm-pricing-gold-dark: #9D7336;
  --wm-pricing-green: #405A38;
  --wm-pricing-line: rgba(185, 141, 79, 0.22);
  --wm-pricing-shadow: rgba(64, 48, 28, 0.08);
  --wm-pricing-shadow-strong: rgba(64, 48, 28, 0.14);

  position: relative;
  display: block;
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 0 !important;
  overflow: hidden;
  background: linear-gradient(180deg, var(--wm-pricing-bg-top) 0%, var(--wm-pricing-bg-bottom) 100%);
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--wm-pricing-text);
  text-align: center;
  -webkit-font-smoothing: antialiased;
  isolation: isolate;
}

.wm-pricing-shell *,
.wm-pricing-shell *::before,
.wm-pricing-shell *::after {
  box-sizing: border-box;
}

.wm-pricing-shell * {
  margin-top: 0;
}

.wm-pricing {
  position: relative;
  width: 100%;
  min-height: 100%;
  margin: 0 !important;
  padding: 98px 24px 108px;
  background:
    radial-gradient(circle at 50% 6%, rgba(255, 255, 255, 0.38) 0, rgba(255, 255, 255, 0) 34%),
    radial-gradient(circle at 82% 18%, rgba(185, 141, 79, 0.08) 0, rgba(185, 141, 79, 0) 28%),
    linear-gradient(180deg, var(--wm-pricing-bg-top) 0%, var(--wm-pricing-bg-bottom) 100%);
  overflow: hidden;
}

.wm-pricing__inner {
  width: 100%;
  max-width: 980px;
  margin: 0 auto;
  padding: 0;
}

/* Header */
.wm-pricing__head {
  max-width: 820px;
  margin: 0 auto 44px;
  padding: 0;
}

.wm-pricing__eyebrow {
  margin: 0 0 18px 0;
  color: var(--wm-pricing-gold);
  font-size: 13px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.wm-pricing__title {
  max-width: 780px;
  margin: 0 auto;
  color: var(--wm-pricing-text);
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(32px, 3.75vw, 50px);
  line-height: 1.16;
  font-weight: 500;
  letter-spacing: -0.045em;
}

.wm-pricing__lead {
  max-width: 700px;
  margin: 26px auto 0;
  color: var(--wm-pricing-muted);
  font-size: 17px;
  line-height: 1.72;
  font-weight: 400;
  letter-spacing: -0.01em;
}

/* Price card */
.wm-pricing__card {
  position: relative;
  width: 100%;
  max-width: 340px;
  margin: 0 auto;
  padding: 34px 36px 36px;
  border: 1px solid var(--wm-pricing-line);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.34) 0%, rgba(255, 255, 255, 0) 100%),
    var(--wm-pricing-card);
  box-shadow: 0 18px 42px var(--wm-pricing-shadow);
  overflow: hidden;
  transition:
    transform 0.28s ease,
    box-shadow 0.28s ease,
    border-color 0.28s ease;
}

.wm-pricing__card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 0%, rgba(185, 141, 79, 0.10), rgba(185, 141, 79, 0) 42%);
  opacity: 0;
  transition: opacity 0.28s ease;
  pointer-events: none;
}

.wm-pricing__card:hover {
  transform: translateY(-4px);
  border-color: rgba(185, 141, 79, 0.34);
  box-shadow: 0 24px 56px var(--wm-pricing-shadow-strong);
}

.wm-pricing__card:hover::before {
  opacity: 1;
}

.wm-pricing__label {
  position: relative;
  z-index: 1;
  margin: 0 0 14px 0;
  color: var(--wm-pricing-soft);
  font-size: 12px;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}

.wm-pricing__price {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--wm-pricing-gold);
  font-size: clamp(42px, 5vw, 56px);
  line-height: 1;
  font-weight: 400;
  letter-spacing: -0.055em;
}

/* CTA */
.wm-pricing__cta {
  display: flex;
  justify-content: center;
  width: 100%;
  margin: 40px 0 0 0;
  padding: 0;
}

.wm-pricing__button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 34px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  background: linear-gradient(135deg, var(--wm-pricing-gold) 0%, var(--wm-pricing-gold-dark) 100%);
  color: #FFF9EF !important;
  font-size: 15px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -0.015em;
  text-align: center;
  text-decoration: none !important;
  box-shadow: 0 16px 34px rgba(157, 115, 54, 0.30);
  overflow: hidden;
  transform: translateZ(0);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease;
}

.wm-pricing__button::before {
  content: "";
  position: absolute;
  top: 0;
  left: -90%;
  width: 70%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.24), transparent);
  transform: skewX(-18deg);
  transition: left 0.6s ease;
}

.wm-pricing__button:hover {
  transform: translateY(-2px);
  background: linear-gradient(135deg, var(--wm-pricing-green) 0%, #31452B 100%);
  color: #FFF9EF !important;
  box-shadow: 0 20px 44px rgba(64, 90, 56, 0.28);
}

.wm-pricing__button:hover::before {
  left: 120%;
}

.wm-pricing__button:focus-visible {
  outline: 3px solid rgba(185, 141, 79, 0.35);
  outline-offset: 4px;
}

/* Note */
.wm-pricing__note {
  max-width: 620px;
  margin: 30px auto 0;
  color: var(--wm-pricing-soft);
  font-size: 14px;
  line-height: 1.72;
  font-weight: 400;
  letter-spacing: -0.01em;
}

/* Laptop */
@media (max-width: 1180px) {
  .wm-pricing {
    padding: 86px 22px 94px;
  }

  .wm-pricing__head {
    margin-bottom: 40px;
  }
}

/* Tablet */
@media (max-width: 900px) {
  .wm-pricing {
    padding: 78px 22px 86px;
  }

  .wm-pricing__inner {
    max-width: 760px;
  }
}

/* Mobile */
@media (max-width: 640px) {
  .wm-pricing {
    padding: 64px 18px 72px;
  }

  .wm-pricing__head {
    margin-bottom: 36px;
  }

  .wm-pricing__eyebrow {
    margin-bottom: 16px;
    font-size: 11px;
    letter-spacing: 0.19em;
  }

  .wm-pricing__title {
    font-size: 29px;
    line-height: 1.2;
    letter-spacing: -0.04em;
  }

  .wm-pricing__lead {
    margin-top: 22px;
    font-size: 15.5px;
    line-height: 1.7;
  }

  .wm-pricing__card {
    max-width: 100%;
    padding: 32px 24px 34px;
    border-radius: 20px;
  }

  .wm-pricing__label {
    font-size: 11px;
    letter-spacing: 0.2em;
  }

  .wm-pricing__price {
    font-size: 42px;
  }

  .wm-pricing__cta {
    margin-top: 34px;
  }

  .wm-pricing__button {
    width: 100%;
    max-width: 440px;
    min-height: 54px;
    padding: 0 24px;
    font-size: 14.5px;
  }

  .wm-pricing__note {
    margin-top: 28px;
    font-size: 13.5px;
  }
}

/* Small mobile */
@media (max-width: 380px) {
  .wm-pricing {
    padding-left: 15px;
    padding-right: 15px;
  }

  .wm-pricing__title {
    font-size: 27px;
  }

  .wm-pricing__card {
    padding: 30px 21px 32px;
  }

  .wm-pricing__price {
    font-size: 39px;
  }
}
/* FIX - niższy box z ceną */
.wm-pricing__card {
  min-height: 0 !important;
  height: auto !important;
  padding: 24px 36px 26px !important;
}

.wm-pricing__label {
  margin-bottom: 10px !important;
}

.wm-pricing__price {
  line-height: 0.95 !important;
}
/* FIX - jeszcze niższy box z ceną */
.wm-pricing__card {
  min-height: 0 !important;
  height: auto !important;
  padding: 20px 34px 22px !important;
}

.wm-pricing__label {
  margin-bottom: 8px !important;
}

.wm-pricing__price {
  line-height: 0.92 !important;
}
/* FIX - niższy i równy box z ceną */
.wm-pricing__card,
.wm-pricing-card {
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  padding: 24px 34px 26px !important;
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}

.wm-pricing__label,
.wm-pricing-card__label {
  margin: 0 !important;
  line-height: 1.25 !important;
}

.wm-pricing__price,
.wm-pricing-card__price {
  margin: 0 !important;
  line-height: 0.95 !important;
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-f0bb3dc *//* ===== WILLA MORMIN - FAQ ===== */

/* Elementor anti-gap reset */
.elementor-section:has(.wm-faq-shell),
.elementor-container:has(.wm-faq-shell),
.elementor-column:has(.wm-faq-shell),
.elementor-widget-wrap:has(.wm-faq-shell),
.elementor-element:has(.wm-faq-shell),
.elementor-widget-html:has(.wm-faq-shell),
.elementor-widget-html:has(.wm-faq-shell) > .elementor-widget-container,
.e-con:has(.wm-faq-shell),
.e-con-inner:has(.wm-faq-shell) {
  margin: 0 !important;
  padding: 0 !important;
  row-gap: 0 !important;
  gap: 0 !important;
}

.elementor-widget-html:has(.wm-faq-shell),
.elementor-widget-html:has(.wm-faq-shell) > .elementor-widget-container {
  width: 100% !important;
  max-width: none !important;
  overflow: visible !important;
}

.elementor-container:has(.wm-faq-shell),
.elementor-column:has(.wm-faq-shell),
.elementor-widget-wrap:has(.wm-faq-shell),
.e-con:has(.wm-faq-shell),
.e-con-inner:has(.wm-faq-shell) {
  width: 100% !important;
  max-width: none !important;
  align-items: stretch !important;
  justify-content: stretch !important;
}

.elementor-widget-wrap:has(.wm-faq-shell) {
  padding: 0 !important;
}

/* Shell */
.wm-faq-shell {
  --wm-faq-bg-top: #F7EDDD;
  --wm-faq-bg-bottom: #F3E4CC;
  --wm-faq-card: rgba(255, 249, 239, 0.72);
  --wm-faq-card-open: #FFF9EF;
  --wm-faq-text: #2D2923;
  --wm-faq-muted: rgba(45, 41, 35, 0.66);
  --wm-faq-gold: #B98D4F;
  --wm-faq-gold-dark: #9D7336;
  --wm-faq-green: #405A38;
  --wm-faq-line: rgba(185, 141, 79, 0.22);
  --wm-faq-line-strong: rgba(185, 141, 79, 0.38);
  --wm-faq-shadow: rgba(64, 48, 28, 0.06);
  --wm-faq-shadow-strong: rgba(64, 48, 28, 0.11);

  position: relative;
  display: block;
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 0 !important;
  overflow: hidden;
  background: linear-gradient(180deg, var(--wm-faq-bg-top) 0%, var(--wm-faq-bg-bottom) 100%);
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--wm-faq-text);
  -webkit-font-smoothing: antialiased;
  isolation: isolate;
  scroll-margin-top: 110px;
}

.wm-faq-shell *,
.wm-faq-shell *::before,
.wm-faq-shell *::after {
  box-sizing: border-box;
}

.wm-faq-shell * {
  margin-top: 0;
}

/* Layout */
.wm-faq {
  position: relative;
  width: 100%;
  min-height: 100%;
  margin: 0 !important;
  padding: 96px 24px 104px;
  background:
    radial-gradient(circle at 50% 4%, rgba(255, 255, 255, 0.36) 0, rgba(255, 255, 255, 0) 34%),
    radial-gradient(circle at 84% 18%, rgba(185, 141, 79, 0.08) 0, rgba(185, 141, 79, 0) 28%),
    linear-gradient(180deg, var(--wm-faq-bg-top) 0%, var(--wm-faq-bg-bottom) 100%);
  overflow: hidden;
}

.wm-faq__inner {
  width: 100%;
  max-width: 920px;
  margin: 0 auto;
  padding: 0;
}

/* Header */
.wm-faq__head {
  max-width: 760px;
  margin: 0 auto 48px;
  padding: 0;
  text-align: center;
}

.wm-faq__eyebrow {
  margin: 0 0 18px 0;
  color: var(--wm-faq-gold);
  font-size: 13px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.24em;
  text-transform: uppercase;
}

.wm-faq__title {
  margin: 0;
  color: var(--wm-faq-text);
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1.14;
  font-weight: 500;
  letter-spacing: -0.045em;
}

/* List */
.wm-faq__list {
  display: flex;
  flex-direction: column;
  gap: 14px;
  width: 100%;
  margin: 0;
  padding: 0;
}

/* Item */
.wm-faq__item {
  position: relative;
  margin: 0;
  border: 1px solid var(--wm-faq-line);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.24) 0%, rgba(255, 255, 255, 0) 100%),
    var(--wm-faq-card);
  box-shadow: 0 12px 30px var(--wm-faq-shadow);
  overflow: hidden;
  transition:
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    background-color 0.25s ease,
    transform 0.25s ease;
}

.wm-faq__item:hover {
  transform: translateY(-2px);
  border-color: var(--wm-faq-line-strong);
  box-shadow: 0 18px 42px var(--wm-faq-shadow-strong);
}

.wm-faq__item[open] {
  background: var(--wm-faq-card-open);
  border-color: var(--wm-faq-line-strong);
  box-shadow: 0 18px 44px var(--wm-faq-shadow-strong);
}

/* Question */
.wm-faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: 100%;
  min-height: 68px;
  margin: 0;
  padding: 20px 24px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.wm-faq__question::-webkit-details-marker {
  display: none;
}

.wm-faq__question::marker {
  content: "";
}

.wm-faq__question span:first-child {
  flex: 1 1 auto;
  color: var(--wm-faq-text);
  font-size: 16px;
  line-height: 1.45;
  font-weight: 500;
  letter-spacing: -0.015em;
  transition: color 0.25s ease;
}

.wm-faq__item:hover .wm-faq__question span:first-child,
.wm-faq__item[open] .wm-faq__question span:first-child {
  color: var(--wm-faq-green);
}

/* Icon */
.wm-faq__icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: rgba(185, 141, 79, 0.10);
  color: var(--wm-faq-gold);
  transition:
    transform 0.28s ease,
    background-color 0.25s ease,
    color 0.25s ease;
}

.wm-faq__icon svg {
  display: block;
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.wm-faq__item:hover .wm-faq__icon {
  background: rgba(185, 141, 79, 0.16);
}

.wm-faq__item[open] .wm-faq__icon {
  transform: rotate(180deg);
  background: rgba(64, 90, 56, 0.12);
  color: var(--wm-faq-green);
}

/* Answer */
.wm-faq__answer {
  padding: 0 24px 24px;
  animation: wmFaqReveal 0.26s ease both;
}

.wm-faq__answer p {
  max-width: 760px;
  margin: 0;
  color: var(--wm-faq-muted);
  font-size: 15px;
  line-height: 1.74;
  font-weight: 400;
  letter-spacing: -0.005em;
}

@keyframes wmFaqReveal {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Laptop */
@media (max-width: 1180px) {
  .wm-faq {
    padding: 84px 22px 92px;
  }

  .wm-faq__head {
    margin-bottom: 42px;
  }
}

/* Tablet */
@media (max-width: 900px) {
  .wm-faq {
    padding: 76px 22px 84px;
  }

  .wm-faq__inner {
    max-width: 760px;
  }

  .wm-faq__question {
    padding: 19px 22px;
  }

  .wm-faq__answer {
    padding: 0 22px 22px;
  }
}

/* Mobile */
@media (max-width: 640px) {
  .wm-faq {
    padding: 64px 18px 72px;
  }

  .wm-faq__head {
    margin-bottom: 34px;
  }

  .wm-faq__eyebrow {
    margin-bottom: 14px;
    font-size: 11px;
    letter-spacing: 0.2em;
  }

  .wm-faq__title {
    font-size: 29px;
    line-height: 1.2;
    letter-spacing: -0.04em;
  }

  .wm-faq__list {
    gap: 12px;
  }

  .wm-faq__item {
    border-radius: 16px;
  }

  .wm-faq__question {
    min-height: 64px;
    gap: 12px;
    padding: 18px 18px;
  }

  .wm-faq__question span:first-child {
    font-size: 15px;
    line-height: 1.42;
  }

  .wm-faq__icon {
    width: 30px;
    height: 30px;
  }

  .wm-faq__icon svg {
    width: 16px;
    height: 16px;
  }

  .wm-faq__answer {
    padding: 0 18px 19px;
  }

  .wm-faq__answer p {
    font-size: 14.5px;
    line-height: 1.68;
  }
}

/* Small mobile */
@media (max-width: 380px) {
  .wm-faq {
    padding-left: 15px;
    padding-right: 15px;
  }

  .wm-faq__title {
    font-size: 27px;
  }

  .wm-faq__question {
    padding-left: 16px;
    padding-right: 16px;
  }

  .wm-faq__answer {
    padding-left: 16px;
    padding-right: 16px;
  }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-724d3e5 *//* ===== WILLA MORMIN - KONTAKT ===== */

#kontakt.wm-contact-shell,
.wm-contact-shell {
  --wm-contact-bg-top: #F7EDDD;
  --wm-contact-bg-bottom: #F3E4CC;
  --wm-contact-card: #FBF5E9;
  --wm-contact-card-soft: #FFF9EF;
  --wm-contact-text: #2D2923;
  --wm-contact-muted: rgba(45, 41, 35, 0.68);
  --wm-contact-soft: rgba(45, 41, 35, 0.54);
  --wm-contact-gold: #B98D4F;
  --wm-contact-gold-dark: #9D7336;
  --wm-contact-green: #405A38;
  --wm-contact-line: rgba(185, 141, 79, 0.22);
  --wm-contact-shadow: rgba(64, 48, 28, 0.08);
  --wm-contact-shadow-strong: rgba(64, 48, 28, 0.14);

  position: relative;
  width: 100vw !important;
  max-width: 100vw !important;
  margin: 0 !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 96px 24px 104px !important;
  background:
    radial-gradient(circle at 14% 8%, rgba(255, 255, 255, 0.38) 0, rgba(255, 255, 255, 0) 34%),
    radial-gradient(circle at 86% 18%, rgba(185, 141, 79, 0.08) 0, rgba(185, 141, 79, 0) 28%),
    linear-gradient(180deg, var(--wm-contact-bg-top) 0%, var(--wm-contact-bg-bottom) 100%);
  overflow: hidden;
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--wm-contact-text);
  -webkit-font-smoothing: antialiased;
  scroll-margin-top: 110px;
}

/* Elementor reset wewnątrz kontaktu */
#kontakt.wm-contact-shell .elementor-container,
#kontakt.wm-contact-shell .elementor-column,
#kontakt.wm-contact-shell .elementor-widget-wrap,
#kontakt.wm-contact-shell .elementor-widget,
#kontakt.wm-contact-shell .elementor-widget-container,
#kontakt.wm-contact-shell .e-con,
#kontakt.wm-contact-shell .e-con-inner,
.wm-contact-shell .elementor-container,
.wm-contact-shell .elementor-column,
.wm-contact-shell .elementor-widget-wrap,
.wm-contact-shell .elementor-widget,
.wm-contact-shell .elementor-widget-container,
.wm-contact-shell .e-con,
.wm-contact-shell .e-con-inner {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  row-gap: 0 !important;
  gap: 0 !important;
}

#kontakt.wm-contact-shell > .elementor-container,
#kontakt.wm-contact-shell > .e-con-inner,
.wm-contact-shell > .elementor-container,
.wm-contact-shell > .e-con-inner {
  max-width: 1220px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Intro */
.wm-contact-intro {
  width: 100%;
  max-width: 780px;
  margin: 0 0 58px 0;
  padding: 0;
}

.wm-contact-eyebrow {
  margin: 0 0 18px 0;
  color: var(--wm-contact-gold);
  font-size: 13px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.wm-contact-title {
  max-width: 780px;
  margin: 0;
  color: var(--wm-contact-text);
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(32px, 3.7vw, 50px);
  line-height: 1.16;
  font-weight: 500;
  letter-spacing: -0.045em;
}

.wm-contact-lead {
  max-width: 720px;
  margin: 26px 0 0 0;
  color: var(--wm-contact-muted);
  font-size: 17px;
  line-height: 1.74;
  font-weight: 400;
  letter-spacing: -0.01em;
}

/* Layout dwóch kolumn */
.wm-contact-layout > .elementor-container {
  display: grid !important;
  grid-template-columns: minmax(320px, 0.86fr) minmax(0, 1.34fr) !important;
  gap: 32px !important;
  max-width: 1220px !important;
  width: 100% !important;
}

.wm-contact-layout .elementor-column {
  width: 100% !important;
}

.wm-contact-left .elementor-widget-wrap,
.wm-contact-right .elementor-widget-wrap {
  padding: 0 !important;
}

/* Lewa karta */
.wm-contact-card {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 34px 34px 32px;
  border: 1px solid var(--wm-contact-line);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.34) 0%, rgba(255, 255, 255, 0) 100%),
    var(--wm-contact-card);
  box-shadow: 0 18px 42px var(--wm-contact-shadow);
}

.wm-contact-row {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  margin: 0 0 24px 0;
}

.wm-contact-row:last-of-type {
  margin-bottom: 28px;
}

.wm-contact-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  background: rgba(185, 141, 79, 0.13);
  color: var(--wm-contact-gold);
}

.wm-contact-icon svg {
  width: 21px;
  height: 21px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.wm-contact-row-text p {
  margin: 0 0 4px 0;
  color: var(--wm-contact-soft);
  font-size: 12px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.wm-contact-row-text a,
.wm-contact-row-text span {
  color: var(--wm-contact-text);
  font-size: 16px;
  line-height: 1.45;
  font-weight: 500;
  text-decoration: none !important;
}

.wm-contact-row-text a:hover {
  color: var(--wm-contact-green);
}

.wm-contact-map {
  display: flex;
  min-height: 190px;
  margin: 8px 0 0 0;
  border: 1px solid var(--wm-contact-line);
  border-radius: 22px;
  background: rgba(185, 141, 79, 0.09);
  color: var(--wm-contact-soft) !important;
  text-decoration: none !important;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 12px;
  overflow: hidden;
  transition: border-color 0.25s ease, background 0.25s ease, transform 0.25s ease;
}

.wm-contact-map:hover {
  transform: translateY(-2px);
  border-color: rgba(185, 141, 79, 0.36);
  background: rgba(185, 141, 79, 0.12);
}

.wm-contact-map-pin {
  color: var(--wm-contact-gold);
}

.wm-contact-map-pin svg {
  width: 30px;
  height: 30px;
  display: block;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Karta formularza WPForms */
.wm-contact-right .wpforms-container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 34px 34px 32px !important;
  border: 1px solid var(--wm-contact-line) !important;
  border-radius: 24px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.34) 0%, rgba(255, 255, 255, 0) 100%),
    var(--wm-contact-card) !important;
  box-shadow: 0 18px 42px var(--wm-contact-shadow) !important;
}

.wm-contact-right .wpforms-form {
  width: 100% !important;
  margin: 0 !important;
}

.wm-contact-right .wpforms-field {
  padding: 0 !important;
  margin: 0 0 22px 0 !important;
}

.wm-contact-right .wpforms-field-label {
  display: block !important;
  margin: 0 0 8px 0 !important;
  color: var(--wm-contact-text) !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
}

.wm-contact-right .wpforms-required-label {
  color: var(--wm-contact-gold) !important;
}

.wm-contact-right input[type="text"],
.wm-contact-right input[type="email"],
.wm-contact-right input[type="tel"],
.wm-contact-right input[type="number"],
.wm-contact-right textarea,
.wm-contact-right select {
  width: 100% !important;
  max-width: none !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  border: 1px solid rgba(185, 141, 79, 0.24) !important;
  border-radius: 13px !important;
  background: rgba(255, 249, 239, 0.74) !important;
  color: var(--wm-contact-text) !important;
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 14.5px !important;
  font-weight: 400 !important;
  box-shadow: 0 8px 18px rgba(64, 48, 28, 0.06) !important;
  outline: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
}

.wm-contact-right textarea {
  min-height: 104px !important;
  padding-top: 14px !important;
  resize: vertical !important;
}

.wm-contact-right input:focus,
.wm-contact-right textarea:focus,
.wm-contact-right select:focus {
  border-color: rgba(185, 141, 79, 0.58) !important;
  background: #FFF9EF !important;
  box-shadow: 0 0 0 3px rgba(185, 141, 79, 0.14), 0 10px 22px rgba(64, 48, 28, 0.08) !important;
}

.wm-contact-right input::placeholder,
.wm-contact-right textarea::placeholder {
  color: rgba(45, 41, 35, 0.48) !important;
}

/* WPForms układ kolumn */
.wm-contact-right .wpforms-field-row {
  max-width: none !important;
}

.wm-contact-right .wpforms-field-row-block {
  padding: 0 10px 0 0 !important;
}

.wm-contact-right .wpforms-field-row-block:last-child {
  padding-right: 0 !important;
}

/* RODO checkbox */
.wm-contact-right .wpforms-field-checkbox,
.wm-contact-right .wpforms-field-gdpr-checkbox {
  margin-top: 2px !important;
  margin-bottom: 22px !important;
}

.wm-contact-right .wpforms-field-checkbox ul,
.wm-contact-right .wpforms-field-gdpr-checkbox ul {
  margin: 0 !important;
  padding: 0 !important;
}

.wm-contact-right .wpforms-field-checkbox li,
.wm-contact-right .wpforms-field-gdpr-checkbox li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.wm-contact-right .wpforms-field-checkbox input[type="checkbox"],
.wm-contact-right .wpforms-field-gdpr-checkbox input[type="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-height: 18px !important;
  margin: 2px 0 0 0 !important;
  accent-color: var(--wm-contact-gold) !important;
  flex: 0 0 auto !important;
}

.wm-contact-right .wpforms-field-checkbox label,
.wm-contact-right .wpforms-field-gdpr-checkbox label {
  margin: 0 !important;
  color: var(--wm-contact-soft) !important;
  font-size: 12.5px !important;
  line-height: 1.6 !important;
  font-weight: 400 !important;
}

/* Submit */
.wm-contact-right .wpforms-submit-container {
  margin: 0 !important;
  padding: 0 !important;
}

.wm-contact-right button[type="submit"],
.wm-contact-right .wpforms-submit {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 54px !important;
  padding: 0 34px !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--wm-contact-gold) 0%, var(--wm-contact-gold-dark) 100%) !important;
  color: #FFF9EF !important;
  font-family: "Montserrat", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: 0 16px 34px rgba(157, 115, 54, 0.30) !important;
  cursor: pointer !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease !important;
}

.wm-contact-right button[type="submit"]:hover,
.wm-contact-right .wpforms-submit:hover {
  transform: translateY(-2px) !important;
  background: linear-gradient(135deg, var(--wm-contact-green) 0%, #31452B 100%) !important;
  box-shadow: 0 20px 44px rgba(64, 90, 56, 0.28) !important;
}

/* Błędy WPForms */
.wm-contact-right .wpforms-error {
  color: #8F3F2F !important;
  font-size: 12px !important;
  margin-top: 7px !important;
}

.wm-contact-right .wpforms-field input.wpforms-error,
.wm-contact-right .wpforms-field textarea.wpforms-error {
  border-color: rgba(143, 63, 47, 0.55) !important;
}

/* Laptop */
@media (max-width: 1180px) {
  #kontakt.wm-contact-shell,
  .wm-contact-shell {
    padding: 84px 22px 92px !important;
  }

  .wm-contact-intro {
    margin-bottom: 48px;
  }

  .wm-contact-layout > .elementor-container {
    gap: 24px !important;
  }

  .wm-contact-card,
  .wm-contact-right .wpforms-container {
    padding: 30px !important;
  }
}

/* Tablet */
@media (max-width: 900px) {
  .wm-contact-layout > .elementor-container {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .wm-contact-intro {
    max-width: 760px;
  }
}

/* Mobile */
@media (max-width: 640px) {
  #kontakt.wm-contact-shell,
  .wm-contact-shell {
    padding: 64px 18px 72px !important;
  }

  .wm-contact-intro {
    margin-bottom: 36px;
  }

  .wm-contact-eyebrow {
    margin-bottom: 14px;
    font-size: 11px;
    letter-spacing: 0.2em;
  }

  .wm-contact-title {
    font-size: 29px;
    line-height: 1.2;
    letter-spacing: -0.04em;
  }

  .wm-contact-lead {
    margin-top: 22px;
    font-size: 15.5px;
    line-height: 1.7;
  }

  .wm-contact-card,
  .wm-contact-right .wpforms-container {
    padding: 26px 22px !important;
    border-radius: 20px !important;
  }

  .wm-contact-row {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 14px;
    margin-bottom: 22px;
  }

  .wm-contact-icon {
    width: 42px;
    height: 42px;
  }

  .wm-contact-row-text a,
  .wm-contact-row-text span {
    font-size: 15px;
  }

  .wm-contact-map {
    min-height: 160px;
  }

  .wm-contact-right .wpforms-field-row-block {
    width: 100% !important;
    padding: 0 !important;
    margin-bottom: 18px !important;
  }

  .wm-contact-right .wpforms-field-row-block:last-child {
    margin-bottom: 0 !important;
  }

  .wm-contact-right input[type="text"],
  .wm-contact-right input[type="email"],
  .wm-contact-right input[type="tel"],
  .wm-contact-right input[type="number"],
  .wm-contact-right textarea,
  .wm-contact-right select {
    font-size: 14px !important;
  }
}

/* Small mobile */
@media (max-width: 380px) {
  #kontakt.wm-contact-shell,
  .wm-contact-shell {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  .wm-contact-title {
    font-size: 27px;
  }

  .wm-contact-card,
  .wm-contact-right .wpforms-container {
    padding: 24px 19px !important;
  }
}
/* ===== KONTAKT - FINALNY FIX UKŁADU DESKTOP + MOBILE ===== */

/* Rozszerzenie inner section do normalnej szerokości */
.wm-contact-layout {
  position: relative !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: min(1220px, calc(100vw - 48px)) !important;
  max-width: min(1220px, calc(100vw - 48px)) !important;
  margin: 0 !important;
}

/* Obsługa klasycznych sekcji i nowych containerów Elementora */
.wm-contact-layout > .elementor-container,
.wm-contact-layout > .e-con-inner,
.wm-contact-layout.e-con {
  display: grid !important;
  grid-template-columns: minmax(360px, 0.86fr) minmax(0, 1.34fr) !important;
  gap: 32px !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Kasowanie poprzednich złych szerokości */
.wm-contact-left,
.wm-contact-right {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
}

.wm-contact-left > .elementor-widget-wrap,
.wm-contact-right > .elementor-widget-wrap {
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

.wm-contact-left .elementor-widget-html,
.wm-contact-left .elementor-widget-container,
.wm-contact-right .elementor-widget-wpforms,
.wm-contact-right .elementor-widget-container {
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
}

/* Obie karty równej wysokości */
.wm-contact-card,
.wm-contact-right .wpforms-container {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 100% !important;
}

/* Lewa karta - normalne teksty bez łamania co literę */
.wm-contact-row {
  grid-template-columns: 48px minmax(0, 1fr) !important;
}

.wm-contact-row-text {
  min-width: 0 !important;
}

.wm-contact-row-text p,
.wm-contact-row-text a,
.wm-contact-row-text span {
  word-break: normal !important;
  overflow-wrap: normal !important;
  white-space: normal !important;
}

/* Mapa Google */
.wm-contact-map {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: 220px !important;
  min-height: 220px !important;
  margin: 10px 0 0 0 !important;
  border: 1px solid var(--wm-contact-line) !important;
  border-radius: 22px !important;
  background: rgba(185, 141, 79, 0.09) !important;
  overflow: hidden !important;
}

.wm-contact-map iframe {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  filter: saturate(0.85) contrast(0.96) brightness(1.03);
}

/* WPForms - normalna szerokość formularza */
.wm-contact-right .wpforms-container,
.wm-contact-right .wpforms-form,
.wm-contact-right .wpforms-field,
.wm-contact-right .wpforms-field-row,
.wm-contact-right .wpforms-field-row-block {
  max-width: none !important;
  min-width: 0 !important;
}

.wm-contact-right .wpforms-field-row {
  width: 100% !important;
}

/* Pola w rzędach */
.wm-contact-right .wpforms-field-row-block {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Suwaki WPForms - stabilizacja, żeby nie rozwalały pól */
.wm-contact-right .wpforms-field-number-slider {
  width: 100% !important;
  min-width: 0 !important;
  margin-bottom: 22px !important;
}

.wm-contact-right .wpforms-field-number-slider input[type="range"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  border: 1px solid rgba(185, 141, 79, 0.24) !important;
  border-radius: 13px !important;
  background: rgba(255, 249, 239, 0.74) !important;
  box-shadow: 0 8px 18px rgba(64, 48, 28, 0.06) !important;
  outline: none !important;
}

.wm-contact-right .wpforms-field-number-slider input[type="range"]::-webkit-slider-runnable-track {
  height: 6px !important;
  border-radius: 999px !important;
  background: rgba(185, 141, 79, 0.22) !important;
}

.wm-contact-right .wpforms-field-number-slider input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 18px !important;
  height: 18px !important;
  margin-top: -6px !important;
  border: 3px solid #FFF9EF !important;
  border-radius: 999px !important;
  background: var(--wm-contact-gold) !important;
  box-shadow: 0 4px 12px rgba(157, 115, 54, 0.28) !important;
  cursor: pointer !important;
}

.wm-contact-right .wpforms-field-number-slider input[type="range"]::-moz-range-track {
  height: 6px !important;
  border-radius: 999px !important;
  background: rgba(185, 141, 79, 0.22) !important;
}

.wm-contact-right .wpforms-field-number-slider input[type="range"]::-moz-range-thumb {
  width: 18px !important;
  height: 18px !important;
  border: 3px solid #FFF9EF !important;
  border-radius: 999px !important;
  background: var(--wm-contact-gold) !important;
  box-shadow: 0 4px 12px rgba(157, 115, 54, 0.28) !important;
  cursor: pointer !important;
}

/* Tekst pod suwakiem */
.wm-contact-right .wpforms-number-slider-hint {
  display: block !important;
  margin-top: 8px !important;
  color: var(--wm-contact-soft) !important;
  font-size: 12.5px !important;
  line-height: 1.4 !important;
  font-weight: 500 !important;
}

/* Mobile i tablet - wszystko jedno pod drugim */
@media (max-width: 900px) {
  .wm-contact-layout {
    width: min(760px, calc(100vw - 36px)) !important;
    max-width: min(760px, calc(100vw - 36px)) !important;
  }

  .wm-contact-layout > .elementor-container,
  .wm-contact-layout > .e-con-inner,
  .wm-contact-layout.e-con {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .wm-contact-card,
  .wm-contact-right .wpforms-container {
    height: auto !important;
  }
}

@media (max-width: 640px) {
  .wm-contact-layout {
    width: calc(100vw - 32px) !important;
    max-width: calc(100vw - 32px) !important;
  }

  .wm-contact-layout > .elementor-container,
  .wm-contact-layout > .e-con-inner,
  .wm-contact-layout.e-con {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .wm-contact-card,
  .wm-contact-right .wpforms-container {
    padding: 24px 20px !important;
    border-radius: 20px !important;
  }

  .wm-contact-row {
    grid-template-columns: 42px minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  .wm-contact-icon {
    width: 40px !important;
    height: 40px !important;
  }

  .wm-contact-row-text p {
    font-size: 10.5px !important;
    letter-spacing: 0.12em !important;
  }

  .wm-contact-row-text a,
  .wm-contact-row-text span {
    font-size: 14.5px !important;
    line-height: 1.45 !important;
  }

  .wm-contact-map {
    height: 180px !important;
    min-height: 180px !important;
  }

  .wm-contact-right .wpforms-field-row-block {
    width: 100% !important;
    padding: 0 !important;
    margin-bottom: 18px !important;
  }

  .wm-contact-right .wpforms-field-row-block:last-child {
    margin-bottom: 0 !important;
  }
}/* End custom CSS */