@charset "UTF-8";
@font-face {
  font-family: "Mirador Semi Bold";
  src: url("../fonts/live/Mirador-SemiBold_freeze.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Mirador Regular Italic";
  src: url("../fonts/live/MiradorRegularItalic.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Mirador Medium Italic";
  src: url("../fonts/live/MiradorMediumItalic.woff2") format("woff2");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("../fonts/live/inter-3b78c6fa.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Cutive";
  src: url("../fonts/live/cutive-8dfab5d7.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
/* Zestaw kolorów i typografii jak wcześniejszy kit Elementor (wersja źródłowa) */
:root {
  --color-plum: #2f1e3b;
  --color-plum-soft: #533f51;
  --color-paper: #f4f1ec;
  --color-paper-deep: #e7e2db;
  --color-stone: #a17e63;
  --color-text: #2f1e3b;
  --color-muted: #766f68;
  --color-lavender: #c7b5da;
  --color-lilac: #d5ceda;
  --color-green: #c0d0bb;
  --color-mint: #aeced6;
  --color-clay: #c69e7e;
  --color-dust: #9f7462;
  --color-hotres-text: #413957;
  --color-header-bar: #967766;
  --color-line: rgba(45, 36, 49, 0.18);
  --color-mobile-menu-rule: rgba(161, 126, 99, 0.2);
  --font-heading: "Mirador Semi Bold", Georgia, serif;
  --font-italic: "Mirador Regular Italic", Georgia, serif;
  --font-medium-italic: "Mirador Medium Italic", Georgia, serif;
  --font-accent: "Cutive", Georgia, serif;
  --font-sans: "Inter", "Segoe UI", Arial, sans-serif;
  --shadow-soft: 0 22px 70px rgba(47, 30, 59, 0.18);
  --e-global-color-accent: #2f1e3b;
  /* Tło sekcji „Informacje dodatkowe” / wiele sekcji w kit (post-1126 c2a36e9) */
  --e-global-color-primary: var(--color-paper);
  /* Aliasy kit Elementor (footer 453, sekcje 1692) */
  --e-global-color-0f40c22: var(--color-lilac);
  --e-global-color-97d4eaa: var(--color-paper);
  --e-global-color-53cfc8e: var(--color-paper);
  --e-global-color-1fa995e: var(--color-clay);
  --e-global-color-9d4b1c0: var(--color-hotres-text);
  --container-max: 1130px;
  --hero-gradient-live: linear-gradient(90deg, rgba(115, 106, 93, 0.5412) 50%, rgba(242, 41, 91, 0) 50%);
  --booking-bar-bg: rgba(150, 119, 102, 0.922);
  /* Elementor 348ae0a — sekcja „Nasze domki” */
  --domki-section-fallback: #6d5b43;
  --domki-section-overlay: rgba(0, 0, 0, 0.4);
  --domki-photo-frame: #f4f1ec;
  /* Nagłówki — post-1692 (wersja źródłowa Elementor) */
  --fs-hero: 44px;
  --fs-hero-mobile: 29px;
  --fs-h-section-lg: 38px;
  --fs-h-section-lg-mobile: 28px;
  --fs-h-section-md: 30px;
  --fs-h-section-md-mobile: 28px;
  --fs-h-testimonials: 30px;
  --fs-h-testimonials-mobile: 24px;
  --fs-h-domki: 27px;
  --fs-h-faq: 51px;
  --fs-h-faq-mobile: 34px;
  --fs-h-intro-h3: 27px;
  --fs-h-intro-h3-mobile: 22px;
  --fs-eyebrow: 11px;
  --fs-intro-stop: 24px;
  --lh-heading-tight: 1.2em;
  --letter-heading-section: 0.02em;
  /* Elementor kit-6 + post-1692 */
  --color-elementor-primary: #fff;
  --color-attractions-icon: #967766;
  --color-icon-box-title: #533f51;
  --color-tab-pill-idle: #c0d0bb;
  --story-deer-pos: 67vw 98px;
  --story-deer-size: auto;
  --story-deer-opacity: 0.55;
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--color-paper);
  color: var(--color-text);
  font-family: var(--font-sans);
  font-weight: 300;
  line-height: 1.6;
}

/* Widoczność jak Elementor (kit: mobile ≤767, tablet 768–1024, desktop ≥1025, tablet_extra ≥1200, laptop ≥1366) */
@media (max-width: 767px) {
  .elementor-hidden-mobile {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .elementor-hidden-tablet {
    display: none !important;
  }
}
@media (min-width: 1025px) {
  .elementor-hidden-desktop {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .elementor-hidden-tablet_extra {
    display: none !important;
  }
}
@media (min-width: 1366px) {
  .elementor-hidden-laptop {
    display: none !important;
  }
}
body.menu-open {
  overflow: hidden;
  touch-action: none;
}

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

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select {
  font: inherit;
}

.site-shell {
  min-height: 100vh;
  overflow-x: hidden;
}

.site-header {
  position: sticky;
  z-index: 40;
  top: 0;
  overflow: visible;
  background: rgba(244, 241, 236, 0.96);
  border-top: 4px solid var(--color-header-bar);
  border-bottom: 1px solid var(--color-header-bar);
  backdrop-filter: blur(18px);
}

/* backdrop-filter tworzy blok pozycjonujący — fixed wewnątrz nagłówka nie zakrywa całej strony; na wąskich ekranach wyłączamy blur */
@media (max-width: 1080px) {
  .site-header {
    z-index: 300;
    overflow: visible;
    backdrop-filter: none;
    background: rgba(244, 241, 236, 0.98);
  }
  .header-inner {
    overflow: visible;
  }
}
.header-inner {
  position: relative;
  z-index: 41;
  overflow: visible;
  max-width: 100%;
  min-height: 137px;
  margin-inline: clamp(16px, 4vw, 40px);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: clamp(16px, 3vw, 28px);
}

.brand {
  grid-column: 2;
  display: inline-flex;
  justify-self: center;
}

.brand img {
  width: 190px;
  height: auto;
}

.brand-img--mobile {
  display: none;
  width: min(158px, 52vw);
  height: auto;
}

.header-inner__balance {
  display: none;
  grid-column: 3;
  width: 48px;
  height: 48px;
  pointer-events: none;
}

.footer-brand {
  display: flex;
  justify-content: center;
}

.footer-brand img {
  width: 196px;
  height: auto;
}

.nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  grid-column: 1;
  grid-row: 1;
}

.nav a,
.language-switch,
.contact-link {
  position: relative;
  color: var(--color-plum);
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.094em;
  text-transform: uppercase;
  padding: 13px 20px;
}
.nav a:after,
.language-switch:after,
.contact-link:after {
  opacity: 0;
  background-color: var(--color-header-bar);
  height: 2px;
  bottom: 0;
  content: "";
  left: 0;
  width: 100%;
  z-index: 2;
  display: block;
  position: absolute;
  transition: 0.3s;
  transition-timing-function: cubic-bezier(0.58, 0.3, 0.005, 1);
}

.nav a:hover:after,
.nav a:focus-visible:after {
  opacity: 1;
}

.header-actions {
  grid-column: 3;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 40px;
}

.header-gtranslate {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  min-width: 0;
  position: relative;
  z-index: 45;
}

/* GTranslate: lista języków poza flow (float.js ustawia position:relative + max-width inline) */
.gtranslate--header-slot {
  position: relative;
  z-index: 46;
  line-height: 0;
}
.gtranslate--header-slot #gt_float_wrapper {
  position: relative;
  display: inline-block;
  max-width: 100%;
  vertical-align: middle;
}
.gtranslate--header-slot .gt_float_switcher {
  position: relative;
  font-family: var(--font-sans);
  overflow: visible;
  background: transparent;
}
.gtranslate--header-slot .gt_float_switcher .gt-selected {
  position: relative;
  z-index: 2;
  background: var(--color-paper-deep);
  border: 1px solid var(--color-line);
  border-radius: 10px;
  box-shadow: 0 1px 0 rgba(47, 30, 59, 0.06);
}
.gtranslate--header-slot .gt_float_switcher .gt-selected .gt-current-lang {
  padding: 8px 12px;
  color: var(--color-plum);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.gtranslate--header-slot .gt_float_switcher .gt-selected .gt-current-lang img {
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(47, 30, 59, 0.12);
}
.gtranslate--header-slot .gt_float_switcher .gt_options {
  position: absolute !important;
  left: auto !important;
  right: 0;
  top: calc(100% + 6px);
  margin: 0 !important;
  min-width: 220px;
  max-width: min(300px, 100vw - 32px) !important;
  max-height: min(340px, 52vh) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  padding: 8px 0 !important;
  background: var(--color-paper) !important;
  border: 1px solid var(--color-line) !important;
  border-radius: 12px !important;
  box-shadow: var(--shadow-soft) !important;
  z-index: 1200 !important;
}
.gtranslate--header-slot .gt_float_switcher .gt_options a {
  display: flex !important;
  align-items: center;
  gap: 10px;
  padding: 10px 16px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em;
  text-decoration: none !important;
  color: var(--color-plum) !important;
  border-radius: 0;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.gtranslate--header-slot .gt_float_switcher .gt_options a img {
  flex-shrink: 0;
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(47, 30, 59, 0.1);
}
.gtranslate--header-slot .gt_float_switcher .gt_options a:hover,
.gtranslate--header-slot .gt_float_switcher .gt_options a:focus-visible {
  background: var(--color-lavender) !important;
  color: var(--color-plum-soft) !important;
}
.gtranslate--header-slot .gt_float_switcher .gt_options::-webkit-scrollbar {
  width: 6px;
}
.gtranslate--header-slot .gt_float_switcher .gt_options::-webkit-scrollbar-thumb {
  background: var(--color-header-bar);
  border-radius: 6px;
}
.gtranslate--header-slot .gt_float_switcher .gt_options::-webkit-scrollbar-track {
  background: var(--color-paper-deep);
}

.reservation-link,
.button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 10px;
  font-family: var(--font-sans);
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  padding: 13px 25px;
  text-transform: uppercase;
  transition: background-color 220ms ease, border-color 220ms ease, color 220ms ease, transform 220ms ease;
}

.reservation-link,
.button-lavender {
  background: var(--color-lavender);
  color: var(--color-plum);
}

.button-outline {
  border-color: rgba(255, 255, 255, 0.72);
  color: #fff;
}

.button-green {
  background: var(--color-green);
  color: var(--color-plum);
}

.reservation-link:hover,
.reservation-link:focus-visible,
.button:hover,
.button:focus-visible {
  transform: translateY(-2px);
}

.reservation-link:hover,
.reservation-link:focus-visible,
.button-lavender:hover,
.button-lavender:focus-visible {
  background: var(--color-clay);
}

.button-outline:hover,
.button-outline:focus-visible {
  border-color: var(--color-lavender);
  background: var(--color-lavender);
  color: var(--color-plum);
}

.button-green:hover,
.button-green:focus-visible {
  background: var(--color-clay);
}

.menu-toggle {
  position: relative;
  display: none;
  justify-self: start;
  align-items: center;
  justify-content: center;
  width: 48px;
  min-height: 48px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--color-plum);
  cursor: pointer;
  flex-shrink: 0;
}

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

.menu-toggle::before {
  display: block;
  width: 24px;
  height: 2px;
  margin: 0 auto;
  background: currentcolor;
  border-radius: 1px;
  box-shadow: 0 7px 0 currentcolor, 0 -7px 0 currentcolor;
  content: "";
}

/* Pełnoekranowe menu mobilne (jak Elementor popup #2558 — wersja źródłowa) */
.nav-overlay {
  display: none;
}

.nav-overlay__sheet {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  background: var(--color-paper);
  box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, 0.2);
}

.nav-overlay__top {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 85px;
  padding: 15px clamp(15px, 4vw, 40px);
  border: solid var(--color-header-bar);
  border-width: 4px 0 1px;
  background: var(--color-paper);
  box-sizing: border-box;
}

.nav-overlay__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--color-plum);
  cursor: pointer;
}

.nav-overlay__close-icon {
  display: block;
}

.nav-overlay__logo {
  display: flex;
  flex: 1;
  justify-content: center;
  align-items: center;
}

.nav-overlay__logo img {
  width: min(158px, 55vw);
  height: auto;
  max-height: 45px;
  object-fit: contain;
}

.nav-overlay__spacer {
  width: 48px;
  flex-shrink: 0;
}

.nav-overlay__body {
  flex: 1;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 25px clamp(20px, 5vw, 40px) calc(40px + env(safe-area-inset-bottom));
}

.nav-overlay__primary a {
  display: block;
  padding: 15px 0;
  color: var(--color-plum);
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
}
.nav-overlay__primary a::after {
  display: none;
}

.nav-overlay__rule {
  margin: 15px 0;
  border: 0;
  border-top: 1px solid rgba(161, 126, 99, 0.3);
}

.nav-overlay__secondary a,
.nav-overlay__tertiary a {
  display: block;
  padding: 10px 0;
  color: var(--color-stone);
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
}
.nav-overlay__secondary a::after,
.nav-overlay__tertiary a::after {
  display: none;
}

.nav-overlay__secondary .showHotres {
  margin-top: 8px;
  padding: 14px 20px;
  border-radius: 10px;
  background: var(--color-lavender);
  color: var(--color-plum);
  font-size: 16px;
  font-weight: 400;
  text-align: center;
}

@media (min-width: 1081px) {
  .nav-overlay {
    display: none !important;
  }
  .menu-toggle {
    display: none !important;
  }
  .header-inner__balance {
    display: none !important;
  }
}
.sticky-bar-cta {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999;
  width: 100%;
  max-width: 100%;
  margin: 0;
  border-radius: 0;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-100%);
  transition: transform 0.6s ease-in-out, opacity 0.7s ease-in-out;
}

.sticky-bar-cta.show-me {
  display: flex;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  padding: 0 !important;
}

.sticky-bar-inner {
  position: relative;
  width: 100%;
  min-height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--booking-bar-bg);
}

.sticky-bar-cta .hotresSearchBar,
.booking-bar.hotresSearchBar {
  cursor: pointer;
  height: 70px;
  min-width: 980px;
  max-width: 990px;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 40px;
  overflow: hidden;
  padding: 0 30px;
}

.sticky-bar-cta .hotresSearchBar > div,
.booking-bar.hotresSearchBar > div {
  min-width: 200px;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  border-radius: 11px;
  background: var(--color-paper);
  color: #413957;
  padding: 2px;
  transition: 0.3s;
}

.sticky-bar-cta .hotresSearchBar > div:hover,
.booking-bar.hotresSearchBar > div:hover {
  background: #fff;
}

.sticky-bar-cta .hotresSearchBar .arrival,
.booking-bar.hotresSearchBar .arrival {
  position: relative;
}

.sticky-bar-cta .hotresSearchBar .arrival::after,
.sticky-bar-cta .hotresSearchBar .arrival::before,
.booking-bar.hotresSearchBar .arrival::after,
.booking-bar.hotresSearchBar .arrival::before {
  position: absolute;
  top: 11px;
  right: -28px;
  width: 10px;
  border: 1px solid var(--color-paper);
  content: "";
  transform: rotate(45deg);
}

.sticky-bar-cta .hotresSearchBar .arrival::before,
.booking-bar.hotresSearchBar .arrival::before {
  top: 18px;
  transform: rotate(-45deg);
}

.sticky-bar-cta .hotresSearchBar > div:last-child,
.booking-bar.hotresSearchBar > div:last-child {
  height: 100%;
  flex-grow: 1;
  background: transparent;
  padding: 0;
}

.sticky-bar-cta .hotresSearchBar button,
.booking-bar.hotresSearchBar button {
  cursor: pointer;
  position: relative;
  width: 300px;
  border: 0;
  border-radius: 10px;
  background: var(--color-lavender);
  color: var(--color-hotres-text);
  font-family: var(--font-sans);
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 1px;
  padding: 14px 48px 14px 15px;
  text-transform: uppercase;
  transition: background-color 220ms ease, color 220ms ease;
}

.sticky-bar-cta .hotresSearchBar button:hover,
.sticky-bar-cta .hotresSearchBar button:focus-visible,
.booking-bar.hotresSearchBar button:hover,
.booking-bar.hotresSearchBar button:focus-visible {
  background: var(--color-clay);
}

.sticky-bar-cta .hotresSearchBar button::after,
.booking-bar.hotresSearchBar button::after {
  position: absolute;
  top: 50%;
  right: 22px;
  width: 14px;
  height: 14px;
  background-image: url("/images/live/arrow-small.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  transform: translateY(-50%);
}

.sticky-bar-cta .hotresSearchBar .day,
.booking-bar.hotresSearchBar .day {
  font-size: 28px;
  padding-right: 10px;
  font-weight: bold;
}

.sticky-bar-cta .hotresSearchBar .month,
.booking-bar.hotresSearchBar .month {
  font-size: 14px;
  line-height: 16px;
}
.sticky-bar-cta .hotresSearchBar .month b,
.booking-bar.hotresSearchBar .month b {
  font-weight: bold;
}

.sticky-bar-cta .hotresSearchBar .month small,
.booking-bar.hotresSearchBar .month small {
  display: block;
  color: grey;
  font-size: 12px;
}

.hero {
  position: relative;
  z-index: 2;
  min-height: 752px;
  display: grid;
  align-items: center;
  isolation: isolate;
  overflow: visible;
  padding: 100px 15vw 120px;
  background: var(--hero-gradient-live), var(--hero-image);
  background-position: bottom right;
  background-size: cover;
}

.hero-copy {
  width: min(430px, 100%);
  margin-left: 0;
  color: #fff;
}

h1,
h2,
h3 {
  margin: 0;
}

h1,
h3 {
  font-family: var(--font-heading);
  font-weight: 600;
  font-feature-settings: "ss12", "tnum";
}

h2 {
  font-family: var(--font-heading);
  font-weight: 600;
}

.hero-copy h1 {
  max-width: 430px;
  font-family: var(--font-italic);
  font-size: var(--fs-hero);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: 0;
}

.hero-copy p {
  max-width: 420px;
  margin: 40px 0 40px;
  color: #fff;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.55;
}

.booking-bar {
  position: absolute;
  z-index: 30;
  left: 50%;
  right: auto;
  bottom: -40px;
  width: 95%;
  transform: translateX(-50%);
  min-height: 80px;
  align-items: center;
  justify-content: center;
  background: var(--booking-bar-bg);
  box-shadow: none;
  color: #fff;
}

.hero-cta--mobile {
  display: none;
}

.hero-search-row {
  display: none;
}

@media (min-width: 1081px) {
  .hero-search-row {
    display: block;
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 4;
    pointer-events: none;
  }
  .hero-search-row__inner {
    max-width: 1100px;
    margin-inline: auto;
    pointer-events: auto;
  }
  .hero-search-row .booking-bar {
    position: relative;
    left: auto;
    bottom: auto;
    transform: none;
    width: 100%;
    margin-inline: auto;
  }
}
@media (max-width: 1080px) {
  .hero-cta--desktop {
    display: none !important;
  }
  .hero-cta--mobile {
    display: inline-flex !important;
    position: absolute;
    bottom: clamp(24px, 8vw, 56px);
    left: 50%;
    z-index: 5;
    width: auto;
    max-width: min(320px, 90vw);
    margin: 0;
    transform: translateX(-50%);
  }
  .hero {
    padding-bottom: clamp(88px, 14vw, 120px);
  }
}
.intro-centered {
  text-align: center;
  margin-top: 1.75rem;
}

.intro-stop-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  margin-top: clamp(2rem, 4vw, 3rem);
}

.intro-stop-card__title {
  margin: 0;
  color: var(--color-plum);
  font-family: var(--font-medium-italic);
  font-size: var(--fs-intro-stop);
  font-weight: 500;
  line-height: var(--lh-heading-tight);
}

.story-eyebrow {
  display: block;
}

.cabins-carousel {
  display: none;
}

.cabins-carousel__track {
  display: flex;
  gap: 10px;
  padding: 4px 4px 8px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

.cabins-carousel__slide {
  flex: 0 0 min(78vw, 300px);
  margin: 0;
  scroll-snap-align: center;
}

.cabins-carousel__slide img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 10px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
}

.cabins-carousel__dots {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 14px;
}

.cabins-carousel__dots button {
  width: 9px;
  height: 9px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.35);
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.2s ease;
}

.cabins-carousel__dots button.is-active {
  background: #fff;
  transform: scale(1.15);
}

.attraction-more {
  margin: 0.35rem 0 0 !important;
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 300;
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}

.attraction-more a {
  color: var(--color-clay);
  font-weight: 300;
  text-decoration: none;
}

.attraction-more a:hover,
.attraction-more a:focus-visible {
  color: #413957;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.map-image--desktop-only {
  display: block;
}

@media (max-width: 1024px) {
  .map-image--desktop-only {
    display: none !important;
  }
}
.testimonial-tag {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin: 0 0 12px !important;
  color: rgba(255, 255, 255, 0.92);
  font-family: var(--font-accent);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.testimonial-score {
  font-family: var(--font-sans);
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}

.testimonial-meta {
  margin: 16px 0 0 !important;
  color: rgba(255, 255, 255, 0.65) !important;
  font-size: 0.92rem !important;
}

/* Elementor 1052cff — post-1692: tło accent #2F1E3B, tekst #F4F1EC, liczby #C69E7E, statystyki jak kit */
.elementor-element-1052cff.heart-band {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 672px;
  padding: 50px 0 0;
  background-color: var(--color-plum);
  box-sizing: border-box;
}

@media (max-width: 1200px) {
  .elementor-element-1052cff.heart-band {
    padding-left: 30px;
    padding-right: 30px;
  }
}
.heart-band__inner.e-con-inner {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  width: min(var(--container-max), 100%);
  margin-inline: auto;
  padding: 0;
  box-sizing: border-box;
}

.heart-band .elementor-element-53d58121 {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 40px;
  width: 100%;
  padding: 50px 30px;
  box-sizing: border-box;
}

.heart-band .elementor-element-5e7f3a95 {
  width: 100%;
  max-width: 920px;
}

.heart-band .elementor-element-5e7f3a95 .elementor-heading-title {
  margin: 0;
  font-family: var(--font-heading);
  font-size: 30px;
  font-weight: 600;
  line-height: var(--lh-heading-tight);
  letter-spacing: 0;
  color: var(--color-paper);
}

.heart-band__title-italic {
  display: block;
  margin-top: 0.35em;
  font-family: var(--font-italic);
  font-weight: 400;
  font-size: 0.92em;
  line-height: 1.2;
  color: var(--color-paper);
}

.heart-band .elementor-element-12d56f15 {
  width: 100%;
  max-width: 720px;
  color: var(--color-paper);
}

.heart-band .heart-band__intro {
  margin: 0;
  text-align: center;
  color: var(--color-paper);
  font-family: var(--font-sans), sans-serif;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.6;
}

.heart-band .elementor-element-48b309e {
  margin-top: 0;
}

.heart-band .elementor-element-48b309e .elementor-icon-wrapper {
  display: flex;
  justify-content: center;
  text-align: center;
}

.heart-band .elementor-element-48b309e .elementor-icon {
  display: inline-flex;
  line-height: 0;
  font-size: 19px;
}

.heart-band .elementor-element-48b309e .elementor-icon svg {
  height: 19px;
  width: auto;
}

/* Desktop: rząd 4× icon-box (ukryty ≤1024 względem źródła) */
.heart-band .heart-band__stats-desktop {
  display: none !important;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-around;
  align-items: center;
  gap: 0;
  width: 100%;
  box-sizing: border-box;
}

@media (min-width: 1025px) {
  .heart-band .heart-band__stats-desktop {
    display: flex !important;
  }
}
.heart-band .heart-band__stats-desktop .elementor-widget-icon-box {
  flex: 0 1 auto;
  min-width: 0;
}

.heart-band .heart-band__stats-desktop .elementor-icon-box-wrapper {
  text-align: start;
}

.heart-band .heart-band__stats-desktop .inline-icon-box .elementor-icon-box-title {
  margin: 0;
  font-family: var(--font-heading);
  font-size: 72px;
  font-weight: 600;
  line-height: 1;
  color: var(--color-clay);
}

.heart-band .heart-band__stats-desktop .inline-icon-box .elementor-icon-box-description {
  margin: 10px 0 0;
  font-family: var(--font-sans), sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5em;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--color-paper);
}

/* Mobile / tablet: siatka 4×2 (liczby → opisy) */
.heart-band .heart-band__stats-mobile {
  display: none !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: repeat(2, auto);
  gap: 0;
  width: 100%;
  align-items: start;
  box-sizing: border-box;
  background-color: var(--color-plum);
}

@media (max-width: 1024px) {
  .heart-band .heart-band__stats-mobile {
    display: grid !important;
  }
}
.heart-band .heart-band__stats-mobile .elementor-icon-box-title {
  margin: 0;
  font-family: var(--font-heading);
  font-size: 72px;
  font-weight: 600;
  line-height: 1;
  color: var(--color-clay);
}

.heart-band .heart-band__stats-mobile .elementor-icon-box-description {
  margin: 0;
  font-family: var(--font-sans), sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5em;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--color-paper);
}

.heart-band .heart-band__stats-mobile .elementor-icon-box-wrapper {
  text-align: start;
}

@media (max-width: 720px) {
  .heart-band .heart-band__stats-mobile {
    row-gap: 12px;
    column-gap: 6px;
  }
}
/* Elementor: przesunięcia mobile (42a7b7f6 −60px, 2b0d5ccc −30px) */
@media (max-width: 767px) {
  .heart-band .elementor-element-42a7b7f6.e-transform {
    transform: translateX(-60px);
  }
  .heart-band .elementor-element-2b0d5ccc.e-transform {
    transform: translateX(-30px);
  }
}
.button--with-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.button--with-arrow__icon {
  display: inline-flex;
  line-height: 0;
}

.button--with-arrow__icon svg {
  display: block;
}

/* Elementor 1e372823 — „Tylko teraz” (post-1692) */
.elementor-element-1e372823 {
  display: flex;
  flex-direction: column;
  padding: 120px 0;
  background-color: #f4f1ec;
}

.elementor-element-1e372823 > .e-con-inner {
  width: 100%;
  max-width: 1600px;
  margin-inline: auto;
  padding: 0 30px;
  box-sizing: border-box;
}

.elementor-element-1e372823 .elementor-element-7270d447 {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 400px;
  width: 100%;
  border: 2px solid var(--color-elementor-primary);
  border-radius: 6px;
  background-image: url("../images/live/CTA-naLATO.webp");
  background-position: center center;
  background-size: cover;
}

.elementor-element-1e372823 .elementor-element-2cd397c2 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 80%;
  max-width: 100%;
  box-sizing: border-box;
}

.elementor-element-1e372823 .elementor-element-18dbedd9 {
  margin: -15px 0 21px;
  font-family: var(--font-accent);
  font-size: 11px;
  text-transform: uppercase;
  color: var(--color-paper);
  text-align: center;
}

.elementor-element-1e372823 .elementor-element-18dbedd9 .elementor-heading-title {
  margin: 0;
  font: inherit;
  letter-spacing: 0.04em;
}

.elementor-element-1e372823 .elementor-element-75967a8 .elementor-button {
  display: inline-flex;
  align-items: center;
  background-color: var(--color-green);
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 400;
  color: var(--color-hotres-text);
  fill: var(--color-hotres-text);
  padding: 10px 30px;
  border-radius: 3px;
  text-decoration: none;
  border: none;
  cursor: pointer;
}

.elementor-element-1e372823 .elementor-element-75967a8 .elementor-button-content-wrapper {
  display: inline-flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: 24px;
}

.elementor-element-1e372823 .elementor-element-75967a8 .elementor-button-icon {
  display: inline-flex;
  line-height: 0;
}

.elementor-element-1e372823 .elementor-element-75967a8 .elementor-button-icon svg {
  display: block;
}

/* Elementor 493ef665 — FAQ (post-1692, 78c9fd5e toggle)
 * Jak sekcja „Tylko teraz” (1e372823): szeroki .e-con-inner 1600px + padding wewnątrz — bez podwójnego clamp na sekcji (to zwężało vs wersja źródłowa Elementor). */
.elementor-element-493ef665 {
  display: flex;
  flex-direction: column;
  align-items: center;
  box-sizing: border-box;
  margin: 0;
  padding: 0 0 220px;
  background-color: var(--e-global-color-97d4eaa);
}

.elementor-element-493ef665 > .e-con-inner {
  width: 100%;
  max-width: 1600px;
  margin-inline: auto;
  padding-inline: clamp(16px, 4vw, 30px);
  box-sizing: border-box;
}

.elementor-element-493ef665 .elementor-element-35801cb8 {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  column-gap: min(120px, 15vw);
  box-sizing: border-box;
}

.elementor-element-493ef665 .elementor-element-6cc2f322 {
  width: 65%;
  max-width: 65%;
  padding: 40px 0;
  text-align: start;
  box-sizing: border-box;
}

.elementor-element-493ef665 .elementor-element-6cc2f322 .elementor-heading-title {
  margin: 0;
  font-family: "Mirador Regular Italic", var(--font-italic);
  font-size: 51px;
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: var(--letter-heading-section);
  color: var(--color-plum);
}

.elementor-element-493ef665 .elementor-element-78c9fd5e {
  padding: 30px 0 50px;
  box-sizing: border-box;
  border-style: solid;
  border-width: 1px 0 0;
  border-color: #c69e7e;
}

.elementor-element-493ef665 .elementor-element-78c9fd5e > .elementor-widget-container {
  margin: 0;
  padding: 0;
}

.elementor-element-493ef665 .elementor-element-78c9fd5e .elementor-toggle {
  display: flex;
  flex-direction: column;
  width: 100%;
}

/* post-1692: widget — tylko border-top; pozycje — tylko górna kreska + odstęp (zamiast margin między itemami) */
.elementor-element-493ef665 .elementor-element-78c9fd5e .elementor-toggle > :not(:first-child) {
  border-top: 1px solid #c69e7e;
  padding-top: 30px;
  box-sizing: border-box;
}

.elementor-element-493ef665 .elementor-element-78c9fd5e .jo-faq-details {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

/* Płynne rozwinięcie jak Elementor — animacja wysokości (grid 0fr → 1fr) */
.elementor-element-493ef665 .elementor-element-78c9fd5e .jo-faq-panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.elementor-element-493ef665 .elementor-element-78c9fd5e .jo-faq-details[open] .jo-faq-panel {
  grid-template-rows: 1fr;
}

.elementor-element-493ef665 .elementor-element-78c9fd5e .jo-faq-panel > .elementor-tab-content {
  overflow: hidden;
  min-height: 0;
}

/* Wiersz pytania: bez ramki (tylko strzałka + tekst); padding jak .elementor-tab-title w post-1692 */
.elementor-element-493ef665 .elementor-element-78c9fd5e summary.elementor-tab-title {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 0 0 30px;
  list-style: none;
  cursor: pointer;
  border: 0;
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: 400;
  color: var(--color-text);
}

.elementor-element-493ef665 .elementor-element-78c9fd5e summary.elementor-tab-title::-webkit-details-marker {
  display: none;
}

/* Strzałki jak w HTML źródłowym Elementora — fill #C69E7E */
.elementor-element-493ef665 .elementor-element-78c9fd5e .elementor-toggle-icon.elementor-toggle-icon-right {
  order: 2;
  display: grid;
  place-items: center;
  place-content: center;
  flex-shrink: 0;
  width: 17px;
  height: 10px;
  color: var(--color-clay);
}

.elementor-element-493ef665 .elementor-element-78c9fd5e .elementor-toggle-icon-closed,
.elementor-element-493ef665 .elementor-element-78c9fd5e .elementor-toggle-icon-opened {
  grid-area: 1/1;
  transition: opacity 0.28s ease;
}

.elementor-element-493ef665 .elementor-element-78c9fd5e .elementor-toggle-icon-opened {
  opacity: 0;
  pointer-events: none;
}

.elementor-element-493ef665 .elementor-element-78c9fd5e details[open] .elementor-toggle-icon-closed {
  opacity: 0;
  pointer-events: none;
}

.elementor-element-493ef665 .elementor-element-78c9fd5e details[open] .elementor-toggle-icon-opened {
  opacity: 1;
  pointer-events: auto;
}

.elementor-element-493ef665 .elementor-element-78c9fd5e .elementor-toggle-icon svg {
  display: block;
  width: 17px;
  height: 10px;
  fill: currentColor;
}

/* Otwarte pytanie — kolor tytułu jak .elementor-active; strzałki zostają #C69E7E (źródło) */
.elementor-element-493ef665 .elementor-element-78c9fd5e details[open] summary .elementor-toggle-title {
  color: var(--e-global-color-accent);
}

.elementor-element-493ef665 .elementor-element-78c9fd5e details[open] summary .elementor-toggle-icon {
  color: var(--color-clay);
}

.elementor-element-493ef665 .elementor-element-78c9fd5e .elementor-toggle-title,
.elementor-element-493ef665 .elementor-element-78c9fd5e a.elementor-toggle-title {
  order: 1;
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  padding-inline-end: 16px;
  text-align: start;
  font: inherit;
  color: inherit;
}

.elementor-element-493ef665 .elementor-element-78c9fd5e a.elementor-toggle-title {
  text-decoration: none;
}

.elementor-element-493ef665 .elementor-element-78c9fd5e h4.elementor-tab-title {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 0 0 30px;
  border: 0;
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: 400;
  color: var(--color-text);
}

.elementor-element-493ef665 .elementor-element-78c9fd5e .elementor-tab-content {
  box-sizing: border-box;
  margin: 0;
  padding: 0 50px 30px 0;
  border: 0;
  color: var(--color-text);
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 400;
  line-height: var(--e-global-typography-text-line-height, 1.6);
}

.elementor-element-493ef665 .elementor-element-78c9fd5e .elementor-tab-content p {
  margin: 0 0 12px;
}

.elementor-element-493ef665 .elementor-element-78c9fd5e .elementor-tab-content p:last-child {
  margin-bottom: 0;
}

.elementor-element-493ef665 .elementor-element-78c9fd5e .elementor-tab-content ul,
.elementor-element-493ef665 .elementor-element-78c9fd5e .elementor-tab-content ol {
  margin: 0 0 12px;
  padding-left: 1.2em;
}

.elementor-element-493ef665 .elementor-element-78c9fd5e .elementor-tab-content li {
  margin-bottom: 6px;
}

@media (prefers-reduced-motion: reduce) {
  .elementor-element-493ef665 .elementor-element-78c9fd5e .jo-faq-panel {
    transition: none;
  }
  .elementor-element-493ef665 .elementor-element-78c9fd5e .elementor-toggle-icon-closed,
  .elementor-element-493ef665 .elementor-element-78c9fd5e .elementor-toggle-icon-opened {
    transition: none;
  }
}
.elementor-element-493ef665 .elementor-element-490abf35 {
  width: 65%;
  max-width: 65%;
  text-align: start;
  font-family: var(--font-sans);
  font-weight: 600;
  text-transform: uppercase;
  text-decoration: underline;
  text-underline-offset: 3px;
  box-sizing: border-box;
}

.elementor-element-493ef665 .elementor-element-490abf35 p {
  margin: 0;
}

.elementor-element-493ef665 .elementor-element-490abf35 a {
  color: var(--e-global-color-accent);
}

@media (max-width: 1024px) {
  .elementor-element-493ef665 .elementor-element-35801cb8 {
    row-gap: 30px;
    column-gap: 30px;
    margin-top: 0;
    align-items: stretch;
  }
  .elementor-element-493ef665 .elementor-element-6cc2f322 {
    width: 100%;
    max-width: 100%;
  }
  .elementor-element-493ef665 .elementor-element-78c9fd5e {
    width: 100%;
    max-width: 100%;
  }
  .elementor-element-493ef665 .elementor-element-78c9fd5e .elementor-tab-content {
    padding: 0 0 40px;
  }
  .elementor-element-493ef665 .elementor-element-490abf35 {
    width: 100%;
    max-width: 100%;
  }
}
@media (max-width: 767px) {
  .elementor-element-1e372823 {
    padding: 120px 0 100px;
  }
  .elementor-element-1e372823 > .e-con-inner {
    padding: 0 30px;
  }
  .elementor-element-493ef665 .elementor-element-35801cb8 {
    align-items: stretch;
  }
  .elementor-element-493ef665 .elementor-element-6cc2f322 {
    width: 100%;
    max-width: 100%;
  }
  .elementor-element-493ef665 .elementor-element-6cc2f322 .elementor-heading-title {
    font-size: var(--fs-h-faq-mobile);
  }
  /* Custom CSS ze strony (78c9fd5e) — zawijanie tytułu */
  .elementor-element-493ef665 .elementor-element-78c9fd5e summary.elementor-tab-title {
    padding-bottom: 30px;
  }
  .elementor-element-493ef665 .elementor-element-78c9fd5e .elementor-toggle-title,
  .elementor-element-493ef665 .elementor-element-78c9fd5e a.elementor-toggle-title {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    max-width: 100%;
    flex-shrink: 1;
  }
  .elementor-element-493ef665 .elementor-element-490abf35 {
    width: 100%;
    max-width: 100%;
  }
}
.intro-section,
.elementor-element-38d52726.numbers-band,
.cms-gallery {
  padding: clamp(80px, 10vw, 150px) 6vw;
  background: url("../images/live/chalk-paper-texture-img-t.jpg");
  background-size: 520px auto;
}

.intro-section {
  z-index: 1;
  padding: clamp(50px, 12vw, 110px);
  min-height: 732px;
  display: grid;
  align-items: center;
  position: relative;
}

.intro-section::before {
  position: absolute;
  left: -100px;
  bottom: -90px;
  width: 553px;
  height: 424px;
  background: url("../images/live/kamienie-stopka-90.webp") center/contain no-repeat;
  content: "";
  opacity: 0.5;
}

.narrow-copy {
  width: min(var(--container-max), 100%);
  max-width: var(--container-max);
  margin-inline: auto;
  text-align: center;
  max-width: 720px;
}

.narrow-copy h3 {
  font-family: var(--font-heading);
  font-size: var(--fs-h-intro-h3);
  font-weight: 600;
  font-feature-settings: "ss12", "tnum";
  line-height: var(--lh-heading-tight);
  letter-spacing: var(--letter-heading-section);
  color: var(--color-plum);
}

.eyebrow {
  display: inline-flex;
  margin-bottom: 22px;
  color: var(--color-clay);
  font-family: var(--font-accent);
  font-size: var(--fs-eyebrow);
  font-weight: 400;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

/* Tytuły sekcji — post-1692: 38px / 28px, letter-spacing 0.02em; kolor = paleta główna (śliwka) */
.section-title-row h2,
.narrow-copy h2 {
  font-family: var(--font-heading);
  font-size: var(--fs-h-section-lg);
  font-weight: 600;
  line-height: var(--lh-heading-tight);
  letter-spacing: var(--letter-heading-section);
  color: var(--color-plum);
}

.mapy-section .elementor-element-377c58b .elementor-heading-title,
.page-hero h1 {
  font-family: var(--font-heading);
  font-size: var(--fs-h-section-lg);
  font-weight: 600;
  line-height: var(--lh-heading-tight);
  letter-spacing: var(--letter-heading-section);
}

/* Sekcja „Co u nas przeżyjecie?” — Elementor c8ea6ff + 55c60505: h2 38px / 28px */
.story-copy h2 {
  max-width: 780px;
  font-family: var(--font-heading);
  font-size: var(--fs-h-section-lg);
  font-weight: 600;
  line-height: var(--lh-heading-tight);
  letter-spacing: var(--letter-heading-section);
  color: var(--color-plum);
}

.narrow-copy p,
.section-copy p {
  margin: 28px auto 0;
  color: var(--color-muted);
  font-size: clamp(1rem, 1.35vw, 1.28rem);
}

.story-copy p {
  color: var(--color-muted);
  font-size: clamp(1rem, 1.35vw, 1.28rem);
  line-height: 1.65;
}

.video-band {
  z-index: 1;
  position: relative;
  min-height: 730px;
  overflow: hidden;
  border-top: 3px solid var(--color-stone);
  border-bottom: 3px solid var(--color-stone);
  background: var(--color-plum);
}

.video-band::after {
  position: absolute;
  inset: 0;
  background: rgba(161, 126, 99, 0.5);
  mix-blend-mode: color;
  pointer-events: none;
  content: "";
}

.video-band video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.video-band-mobile {
  display: none;
}

/* Sekcja domków — jak Elementor element-348ae0a (e-con-full + boxed inner, tło #6D5B43 + foto + overlay 0.4) */
.domki-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: min(900px, 140vh);
  padding: clamp(72px, 10vw, 120px) clamp(16px, 4vw, 30px);
  background-color: var(--domki-section-fallback);
  color: #fff;
}

.domki-section::before {
  position: absolute;
  inset: 0;
  z-index: -2;
  background-color: var(--domki-section-fallback);
  background-image: var(--section-image);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
}

.domki-section::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--domki-section-overlay);
  content: "";
}

.domki-section__inner {
  width: min(var(--container-max), 100%);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, min(50%, 610px));
  align-items: flex-start;
  gap: 20px 60px;
  padding: 20px;
}

.domki-section__inner.e-con-inner {
  box-sizing: border-box;
}

.domki-section__media {
  position: relative;
  justify-self: center;
  width: 100%;
  max-width: 610px;
}

.domki-section .section-copy--domki {
  display: flex;
  flex-direction: column;
  gap: 40px;
  padding-right: clamp(0px, 3vw, 55px);
}

.domki-section .section-copy--domki .button {
  align-self: flex-start;
  margin-top: 0;
}

.domki-section .eyebrow--domki {
  margin-bottom: 0;
  color: var(--color-paper);
  font-size: 11px;
  letter-spacing: 0.04em;
}

.domki-section .section-copy--domki h2 {
  margin: 0;
  max-width: 26em;
  color: #fff;
  font-family: var(--font-heading);
  font-size: var(--fs-h-domki);
  font-style: normal;
  font-weight: 600;
  line-height: var(--lh-heading-tight);
}

.domki-section .section-copy--domki p {
  margin: 0;
  color: rgba(255, 255, 255, 0.92);
  font-size: clamp(0.98rem, 1.15vw, 1.08rem);
  line-height: 1.58;
}

.domki-section .stack-img img {
  border: 3px solid var(--domki-photo-frame);
  border-radius: 6px;
}

.domki-section .cabins-carousel__slide img {
  border: 3px solid var(--domki-photo-frame);
  border-radius: 6px;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.28);
}

.domki-section .photo-stack {
  justify-self: center;
}

/* Elementor 71299351 — „Atrakcje w okolicy”: tło #6D5B43 + zdjęcie + overlay 25% (post-1692) */
.elementor-element-71299351.okolica-section {
  --okolica-cream: #f4f1ec;
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  min-height: 900px;
  padding: 100px 0;
  overflow: hidden;
  color: var(--okolica-cream);
  background: #6d5b43;
}

.elementor-element-71299351.okolica-section::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  mix-blend-mode: var(--overlay-mix-blend-mode);
  opacity: 0.25;
  background-image: var(--okolica-bg-image);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  content: "";
  pointer-events: none;
}

.elementor-element-71299351.okolica-section::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(0, 0, 0, 0.25);
  content: "";
  pointer-events: none;
}

.okolica-section__inner.e-con-inner {
  position: relative;
  z-index: 2;
  width: min(var(--container-max), 100%);
  margin-inline: auto;
  padding: 0;
  box-sizing: border-box;
}

.okolica-section .elementor-element-2263d480 > .e-con-inner {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
}

/* 56e4bafd */
.okolica-section .elementor-element-56e4bafd {
  width: 50%;
  max-width: 50%;
  align-self: flex-start;
  padding: 0 0 70px;
  box-sizing: border-box;
}

.okolica-section .elementor-element-56e4bafd .elementor-heading-title {
  margin: 0;
  font-family: var(--font-heading);
  font-size: 38px;
  font-weight: 600;
  color: var(--okolica-cream);
  line-height: 1.2;
}

.okolica-section .okolica-eyebrow {
  display: block;
  margin-bottom: 12px;
  color: rgba(244, 241, 236, 0.88);
}

.okolica-section .okolica-intro {
  margin-top: 20px;
  max-width: 680px;
  font-size: 1rem;
  line-height: 1.55;
  color: rgba(244, 241, 236, 0.9);
}

.okolica-section .okolica-intro p {
  margin: 0 0 0.75em;
}

.okolica-section .okolica-intro p:last-child {
  margin-bottom: 0;
}

.okolica-section .okolica-cta-wrap {
  margin: 24px 0 0;
}

.okolica-section .okolica-cta.button-outline {
  border-color: rgba(255, 255, 255, 0.85);
  color: var(--okolica-cream);
}

.okolica-section .okolica-cta.button-outline:hover {
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

/* wiersze kart — 6f12af47 / 3f3fa2b4 */
.okolica-section .okolica-rows {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.okolica-section .okolica-row-elementor {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-content: space-around;
  gap: 20px 60px;
  padding: 25px 0 50px;
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  border: 0;
  background: transparent;
}

.okolica-section .okolica-row-elementor--second {
  padding: 50px 0 50px;
}

/* 49ee1dab — kolumna */
.okolica-section .okolica-item-elementor {
  display: flex;
  flex-direction: column;
  flex: 1 1 calc(33.333% - 40px);
  min-width: min(100%, 240px);
  max-width: calc(33.333% - 20px);
  margin: 0;
  border: none;
  background: transparent;
}

.okolica-section .okolica-item-elementor .around-card__image-wrap {
  flex-shrink: 0;
  border: 2px solid #fff;
  border-radius: 1px;
  overflow: hidden;
  line-height: 0;
}

.okolica-section .okolica-item-elementor .around-card__image-wrap img {
  display: block;
  width: 335px;
  max-width: 100%;
  height: auto;
  aspect-ratio: 335/210;
  object-fit: cover;
}

.okolica-section .okolica-item-elementor .elementor-widget-icon-box {
  flex: 1 1 auto;
  width: 100%;
  padding-top: 12px;
}

.okolica-section .okolica-item-elementor .elementor-icon-box-wrapper {
  text-align: start;
}

.okolica-section .okolica-item-elementor .elementor-icon-box-title {
  margin: 0 0 10px;
  color: var(--okolica-cream);
  font-family: var(--font-italic);
  font-size: 24px;
  font-weight: 400;
  line-height: 1.2;
}

.okolica-section .okolica-item-elementor .elementor-icon-box-title a {
  color: inherit;
  text-decoration: none;
}

.okolica-section .okolica-item-elementor .elementor-icon-box-title a:hover {
  text-decoration: underline;
}

.okolica-section .okolica-item-elementor .elementor-icon-box-description {
  margin: 0;
  font-family: var(--font-sans), sans-serif;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.55;
  color: var(--okolica-cream);
}

/* Elementor 6aab6b5b — opinie (tło + nested-carousel) */
.elementor-element-6aab6b5b.testimonials-band {
  position: relative;
  isolation: isolate;
  /* overflow: visible — strzałki „outside” nie mogą być obcinane (jak Elementor) */
  overflow: visible;
  padding: clamp(84px, 10vw, 150px) 6vw;
  background: var(--color-plum);
  color: #fff;
  box-sizing: border-box;
}

.elementor-element-6aab6b5b.testimonials-band::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: var(--section-image);
  background-position: center;
  background-size: cover;
  content: "";
  pointer-events: none;
}

.elementor-element-6aab6b5b.testimonials-band::after {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(33, 20, 49, 0.72);
  content: "";
  pointer-events: none;
}

.testimonials-band__inner.e-con-inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: clamp(36px, 5vw, 56px);
  width: min(var(--container-max), 100%);
  margin-inline: auto;
  padding: 0;
  box-sizing: border-box;
  overflow: visible;
}

.testimonials-band .elementor-element-2a579a36 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  width: 100%;
}

.testimonials-band .elementor-element-1045a6f {
  text-align: center;
}

.testimonials-band .elementor-element-1045a6f p {
  margin: 0;
}

.testimonials-band__eyebrow {
  display: inline-flex;
  margin-bottom: 0;
  color: var(--color-paper);
  font-family: var(--font-accent);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.testimonials-band .elementor-element-26ab1e8b {
  width: 100%;
  max-width: min(920px, 100%);
}

.testimonials-band .elementor-element-26ab1e8b .elementor-heading-title {
  margin: 0;
  color: var(--color-paper);
  font-family: var(--font-heading);
  font-size: 30px;
  font-weight: 600;
  line-height: var(--lh-heading-tight);
  letter-spacing: 0;
}

/* Jak /domki (WP): długi H2 + akapit pod spodem */
.testimonials-band--has-intro .elementor-element-26ab1e8b {
  max-width: min(1040px, 100%);
}

.testimonials-band__intro {
  width: 100%;
  max-width: min(720px, 100%);
  margin: 0;
  text-align: center;
}

.testimonials-band__intro .elementor-widget-container p {
  margin: 0;
  color: var(--color-paper);
  font-family: var(--font-ui, var(--font-body));
  font-size: 15px;
  font-weight: 300;
  line-height: 1.55;
  letter-spacing: 0.01em;
}

/* Karuzela — Swiper 8 + elementor-arrows-position-outside (odstęp pod strzałki jak na źródle) */
.testimonials-band__carousel.elementor-widget-n-carousel {
  position: relative;
  width: 100%;
  padding-bottom: 8px;
  --tb-arrow-gutter: clamp(40px, 5vw, 56px);
  padding-left: var(--tb-arrow-gutter);
  padding-right: var(--tb-arrow-gutter);
  box-sizing: border-box;
}

.testimonials-band__carousel-viewport.swiper {
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}

.testimonials-band .swiper-wrapper {
  box-sizing: content-box;
  align-items: stretch;
}

.testimonials-band .swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: auto;
  position: relative;
  box-sizing: border-box;
}

/* Karta opinii (.tstmblur) — post-1692 / 25737507: #F4F1ECDB, radius 6px, padding 30px, gap 5px */
.testimonials-band .tstmblur {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  padding: 30px;
  border-radius: 6px;
  background: rgba(244, 241, 236, 0.86);
  color: var(--color-text);
  box-sizing: border-box;
  gap: 5px;
  row-gap: 5px;
  column-gap: 5px;
}

/* Wiersz: tag + ocena (77bc312 itd.) */
.testimonials-band .tstmblur > .e-con-full:first-child {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 5px;
  width: 100%;
}

.testimonials-band .tstmblur .elementor-widget-text-editor p {
  margin: 0;
}

.testimonials-band .tstmblur .elementor-widget__width-initial p {
  font-family: var(--font-sans), sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  color: var(--color-text);
}

.testimonials-band .tstmblur .elementor-widget__width-auto p {
  font-family: var(--font-sans), sans-serif;
  font-size: 21px;
  font-weight: 400;
  line-height: 1.2;
  color: var(--color-text);
}

.testimonials-band .tstmblur .elementor-widget__width-auto p strong {
  font-weight: 700;
}

/* Treść opinii — Inter 14 / 300 (2e9fc798) */
.testimonials-band .tstmblur > .elementor-widget.elementor-widget-text-editor:not(.elementor-widget__width-initial):not(.elementor-widget__width-auto) {
  flex: 1 1 auto;
}

.testimonials-band .tstmblur > .elementor-widget.elementor-widget-text-editor:not(.elementor-widget__width-initial):not(.elementor-widget__width-auto) p {
  margin: 0;
  font-family: var(--font-sans), sans-serif;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.55;
  color: var(--color-text);
}

/* Stopka: autor + data (1b88cc02 — space-between, flex-end) */
.testimonials-band .tstmblur .e-con-full:last-of-type {
  margin-top: auto;
  padding-top: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 5px;
}

.testimonials-band .tstmblur .e-con-full:last-of-type .elementor-widget__width-initial p {
  font-family: var(--font-medium-italic), Georgia, serif;
  font-size: 16px;
  font-weight: 500;
  font-style: normal;
  text-transform: none;
  letter-spacing: 0;
  color: var(--color-hotres-text);
}

.testimonials-band .tstmblur .e-con-full:last-of-type .elementor-widget__width-auto p {
  font-family: var(--font-sans), sans-serif;
  font-size: 14px;
  font-weight: 300;
  font-style: italic;
  line-height: 1.4;
  color: var(--color-stone);
}

.testimonials-band .tstmblur.e-flex {
  display: flex;
  flex-direction: column;
}

.testimonials-band .swiper-slide .e-con-boxed,
.testimonials-band .swiper-slide .e-con-inner {
  height: 100%;
}

.testimonials-band .swiper-slide .tstmblur {
  flex: 1 1 auto;
}

/* Strzałki jak Elementor: w „kanale” obok slajdów, wyśrodkowane w pionie względem widoku */
.testimonials-band__carousel-btn {
  position: absolute;
  top: 50%;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
  cursor: pointer;
  transform: translateY(-50%);
  transition: background-color 0.2s ease, color 0.2s ease, opacity 0.2s ease;
}

.testimonials-band__carousel-btn:hover {
  background: rgba(255, 255, 255, 0.32);
}

.testimonials-band__carousel-btn:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.testimonials-band__carousel-btn svg {
  width: 14px;
  height: 14px;
  display: block;
}

.testimonials-band .elementor-swiper-button.swiper-button-disabled {
  opacity: 0.35;
  cursor: default;
}

.testimonials-band__carousel-btn--prev {
  left: 0;
}

.testimonials-band__carousel-btn--next {
  right: 0;
}

@media (max-width: 720px) {
  .testimonials-band__carousel.elementor-widget-n-carousel {
    --tb-arrow-gutter: clamp(36px, 10vw, 44px);
  }
  .testimonials-band__carousel-btn {
    width: 30px;
    height: 30px;
  }
  .testimonials-band__carousel-btn svg {
    width: 13px;
    height: 13px;
  }
}
.section-copy h2 {
  max-width: 760px;
  color: var(--color-plum);
  font-family: var(--font-italic);
  font-size: clamp(2rem, 3vw, 3.2rem);
  font-weight: 400;
  line-height: 1.15;
}

.section-copy.light p,
.section-title-row.light p {
  color: rgba(255, 255, 255, 0.78);
}

.section-copy .button {
  margin-top: 36px;
}

.lodge-card {
  margin: 0;
  overflow: hidden;
  border-radius: 0;
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.32);
}

.lodge-card img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
}

.photo-stack {
  position: relative;
  width: min(610px, 100%);
  aspect-ratio: 1/1;
  justify-self: center;
}

.stack-img {
  position: absolute;
  inset: 0;
  margin: 0;
  transition: transform 520ms ease, opacity 420ms ease;
}

.stack-img:nth-child(1) {
  transform: rotate(-5deg) translate(-22px, 18px);
}

.stack-img:nth-child(2) {
  transform: rotate(3deg) translate(20px, 12px);
}

.stack-img:nth-child(3) {
  transform: rotate(-2deg) translate(-8px, -10px);
}

.stack-img:nth-child(4) {
  transform: rotate(0deg);
}

.stack-img.hidden-layer {
  opacity: 0;
  transform: translateX(120px) rotate(8deg);
  pointer-events: none;
}

.stack-img.no-anim {
  transition: none;
}

.stack-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.35);
}

.stack-nav {
  position: absolute;
  z-index: 10;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 50%;
  background: rgba(47, 30, 59, 0.42);
  color: #fff;
  cursor: pointer;
}

.stack-nav__icon {
  display: block;
  width: 15px;
  height: 15px;
}

.prev-btn {
  left: -24px;
}

.next-btn {
  right: -24px;
}

/*
 * Sekcja „Co u nas przeżyjecie?” — Elementor c8ea6ff (post-1692)
 * Tło chalk, jeleń jako warstwa ::before (67vw 98px, multiply 0.55), row 70%/30%, padding 120
 */
.story-section {
  position: relative;
  isolation: isolate;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  min-height: 780px;
  padding: 120px;
  background: url("../images/live/chalk-paper-texture-img-t.jpg");
  background-size: 520px auto;
  color: var(--color-text);
}

.story-section::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  content: "";
  background: url("../images/live/jelen.webp") no-repeat;
  background-position: var(--story-deer-pos);
  background-size: var(--story-deer-size);
  opacity: var(--story-deer-opacity);
  mix-blend-mode: multiply;
}

.story-section__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  width: min(var(--container-max), 100%);
  margin-inline: auto;
  gap: 0;
}

.story-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 40px;
  box-sizing: border-box;
  flex: 1 1 70%;
  max-width: 70%;
  padding-right: 23px;
  text-align: start;
}

.story-section .eyebrow {
  margin-bottom: 0;
  color: var(--color-plum-soft);
  text-align: start;
}

/* Kolumna 30% — pusta jak elementor-element-2e62c366 (miejsce pod jelenia z tła) */
.story-section__spacer {
  flex: 1 1 30%;
  max-width: 30%;
  min-width: 0;
  min-height: 1px;
}

.story-copy p {
  max-width: 620px;
  margin: 0;
  text-align: start;
}

.story-copy p + p {
  margin-top: 1em;
}

/* Elementor 612dc714 / 1ca2ef07 / 67af1f7a / 95a9248 — „Atrakcje na miejscu” (post-1692 + kit 6) */
.attractions-section.elementor-element-612dc714 {
  --e-global-color-e244a77: #c0d0bb;
  --e-global-color-0f40c22: #d5ceda;
  --n-tabs-gap: 50px;
  --n-tabs-title-gap: 50px;
  min-height: 865px;
  padding: 100px 0 80px;
  background: var(--color-elementor-primary);
  color: var(--color-text);
}

.attractions-section__inner.e-con-inner {
  width: min(var(--container-max), 100%);
  margin-inline: auto;
  padding: 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* 1ca2ef07 */
.attractions-section .elementor-element-1ca2ef07 {
  width: var(--container-widget-width, 50%);
  max-width: 50%;
  flex-shrink: 0;
  align-self: flex-start;
}

.attractions-section .elementor-element-1ca2ef07 .elementor-heading-title {
  margin: 0;
  font-family: var(--font-heading);
  font-size: 38px;
  font-weight: 600;
  color: var(--color-plum);
  line-height: 1.2;
}

.attractions-section .section-intro {
  margin-top: 24px;
  color: var(--color-muted);
}

/* 67af1f7a — nested tabs */
.attractions-section .elementor-element-67af1f7a {
  width: 100%;
  margin: -70px 0 0;
}

.attractions-section .elementor-element-67af1f7a .e-n-tabs {
  display: flex;
  flex-direction: column;
  gap: var(--n-tabs-gap);
}

.attractions-section .e-n-tabs-heading {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: var(--n-tabs-title-gap);
  width: 100%;
}

.attractions-section .e-n-tab-title {
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  border: 0;
  border-radius: 6px;
  padding: 7px 21px;
  cursor: pointer;
  font-family: var(--font-sans), sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5em;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #fff;
  background: var(--e-global-color-e244a77);
  transition: background-color 220ms ease, color 220ms ease;
}

.attractions-section .e-n-tab-title .e-n-tab-icon {
  display: inline-flex;
  align-items: center;
  line-height: 0;
  color: #fff;
}

.attractions-section .e-n-tab-title .e-n-tab-icon svg {
  width: 21px;
  height: 21px;
  display: block;
}

.attractions-section .e-n-tab-title[aria-selected=false]:not(:hover):not(:focus-visible) {
  background: var(--e-global-color-e244a77);
  color: #fff;
}

.attractions-section .e-n-tab-title[aria-selected=false]:hover,
.attractions-section .e-n-tab-title[aria-selected=false]:focus-visible {
  background: var(--e-global-color-0f40c22);
  color: #fff;
}

.attractions-section .e-n-tab-title[aria-selected=true] {
  background: #d0c6b8;
  color: #fff;
}

.attractions-section .e-n-tabs-content {
  width: 100%;
}

/* 5ed693d2 — display:flex tylko dla widocznego panelu; inaczej nadpisuje [hidden] (obie kolumny były widoczne) */
.attractions-section .e-n-tab-content.elementor-element-5ed693d2:not([hidden]) {
  display: flex;
  flex-direction: column;
  width: 100%;
}

.attractions-section .e-n-tab-content.elementor-element-5ed693d2[hidden] {
  display: none !important;
}

.section-title-row {
  width: min(var(--container-max), 100%);
  margin-inline: auto;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 32px;
  margin-bottom: 54px;
}

.section-title-row h2 {
  max-width: 760px;
}

.section-intro {
  max-width: 680px;
  margin-top: 24px;
  color: var(--color-muted);
  font-size: 1rem;
}

.section-intro p {
  margin: 0;
}

.light-text {
  color: rgba(255, 255, 255, 0.78);
}

.season-toggle {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 50px;
  margin-top: -70px;
}

.season-toggle button {
  border: 0;
  border-radius: 6px;
  background: var(--color-green);
  color: #fff;
  cursor: pointer;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5em;
  letter-spacing: 1.5px;
  padding: 7px 21px;
  text-transform: uppercase;
  transition: background-color 220ms ease, color 220ms ease;
}

.season-toggle .is-active {
  background: #d0c6b8;
  color: #fff;
}

.season-toggle button:not(.is-active):hover,
.season-toggle button:not(.is-active):focus-visible {
  background: var(--color-lavender);
}

/* 95a9248 — rząd kart */
.attractions-section .attractions-grid.elementor-element-95a9248 {
  width: min(var(--container-max), 100%);
  margin-inline: auto;
  margin-top: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: space-around;
  gap: 80px 20px;
  padding: 25px;
  box-sizing: border-box;
}

.gallery-grid {
  width: min(var(--container-max), 100%);
  margin-inline: auto;
  display: grid;
  gap: 18px;
}

.season-panel[hidden] {
  display: none;
}

.attractions-section .attraction-card .elementor-widget-icon-box {
  width: 100%;
  flex: 1 1 auto;
}

.attractions-section .attraction-card.elementor-element-79ab81ca {
  display: flex;
  flex-direction: column;
  flex: 1 1 30%;
  max-width: calc(33.333% - 14px);
  min-width: min(100%, 220px);
  min-height: 300px;
  margin: 0;
  border: 0;
  background: transparent;
  padding: 0;
  box-sizing: border-box;
  transition: background-color 260ms ease, transform 260ms ease;
}

.attractions-section .attraction-card .elementor-icon-box-wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: start;
  gap: 15px;
  flex: 1 1 auto;
}

/* Elementor 913f85a — .elementor-icon { font-size: 83px; fill/color 5f9ee14 } */
.attractions-section .attraction-card .elementor-icon-box-icon .elementor-icon.elementor-icon--attraction {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  line-height: 0;
  color: var(--color-attractions-icon, #967766);
  font-size: 83px;
  width: 1em;
  height: 1em;
  transition: color 260ms ease, transform 260ms ease;
}

.attractions-section .attraction-card .elementor-icon--attraction svg {
  width: 1em;
  height: 1em;
  display: block;
  flex-shrink: 0;
  overflow: visible;
}

.attractions-section .attraction-card:hover {
  background: rgba(150, 119, 102, 0.08);
  transform: translateY(-2px);
}

.attractions-section .attraction-card .elementor-icon-box-title {
  margin: 0;
  color: var(--color-icon-box-title);
  font-family: var(--font-italic);
  font-size: 24px;
  font-weight: 400;
  line-height: 1.2;
  text-transform: none;
}

.attractions-section .attraction-card .elementor-icon-box-description {
  margin: 0;
  color: var(--color-text);
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 300;
  line-height: 1.55;
}

/* 26c92b45 — „zobacz więcej” */
.attractions-section .elementor-element-26c92b45 {
  margin-top: auto;
  padding-top: 12px;
  font-family: var(--font-sans), sans-serif;
  font-size: 12px;
  font-weight: 300;
  line-height: 1.5;
  text-transform: uppercase;
  color: #c69e7e;
}

.attractions-section .elementor-element-26c92b45 .attraction-more {
  margin: 0;
}

.attractions-section .elementor-element-26c92b45 a {
  color: #c69e7e;
  text-decoration: none;
}

.attractions-section .elementor-element-26c92b45 a:hover {
  text-decoration: underline;
}

/* Elementor 79966d9c — mapa / lokalizacja (post-1692) */
.elementor-element-79966d9c.mapy-section {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 620px;
  padding: clamp(88px, 10vw, 160px) 6vw;
  background: var(--color-plum);
  color: #fff;
  box-sizing: border-box;
}

.mapy-section__inner.e-con-inner {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: center;
  gap: 50px;
  width: min(var(--container-max), 100%);
  margin-inline: auto;
  padding: 0;
  box-sizing: border-box;
}

.mapy-section .elementor-element-30633f1c {
  flex: 1;
  min-width: 0;
}

.mapy-section .elementor-element-19378a1b {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  width: 50%;
}

.mapy-section .elementor-element-98267d5 {
  width: 100%;
}

.mapy-section .elementor-element-98267d5 .eyebrow {
  margin-bottom: 22px;
}

.mapy-section .elementor-element-377c58b {
  width: 100%;
}

.mapy-section .elementor-element-377c58b .elementor-heading-title {
  margin: 0;
  color: #fff;
}

.mapy-section .elementor-element-665f7500 {
  width: 100%;
}

.mapy-section .elementor-element-665f7500 p {
  margin: 28px 0 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: clamp(1rem, 1.35vw, 1.28rem);
}

.mapy-section .elementor-element-665f7500 p:first-of-type {
  margin-top: 0;
}

.mapy-section .elementor-element-6ededc07 {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mapy-section .elementor-element-9459fc3 {
  width: 100%;
}

.mapy-section .map-image {
  display: block;
  width: 100%;
  max-height: 777px;
  object-fit: contain;
}

/* Elementor 38d52726 — nagłówek + odległości (2 rzędy desktop, siatka mobile 1b55df4a) */
.elementor-element-38d52726.numbers-band {
  width: 100%;
  box-sizing: border-box;
}

.elementor-element-38d52726.numbers-band .elementor-element-529ba909 {
  width: 100%;
}

.elementor-element-38d52726.numbers-band .elementor-element-529ba909 > .e-con-inner,
.elementor-element-38d52726.numbers-band .numbers-band__inner {
  display: flex;
  flex-direction: column;
  gap: clamp(28px, 4vw, 48px);
  width: min(var(--container-max), 100%);
  margin-inline: auto;
  padding: 0;
  box-sizing: border-box;
}

.elementor-element-38d52726.numbers-band .elementor-element-6dc8293b {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  max-width: min(920px, 100%);
}

.elementor-element-38d52726.numbers-band .elementor-element-71deb9e5 {
  width: 100%;
}

.elementor-element-38d52726.numbers-band .elementor-element-71deb9e5 .elementor-heading-title {
  margin: 0;
  color: var(--color-plum);
  font-family: var(--font-heading);
  font-size: var(--fs-h-section-md);
  font-weight: 600;
  line-height: var(--lh-heading-tight);
  letter-spacing: var(--letter-heading-section);
}

.elementor-element-38d52726.numbers-band .elementor-element-30a57523 {
  width: 100%;
  max-width: 100%;
}

.elementor-element-38d52726.numbers-band .elementor-element-30a57523 p {
  margin: 1.125rem 0 0;
  color: var(--color-muted);
  font-family: var(--font-sans), sans-serif;
  font-size: clamp(1rem, 1.65vw, 1.125rem);
  font-weight: 400;
  line-height: 1.65;
  max-width: 920px;
}

.elementor-element-38d52726.numbers-band .elementor-element-30a57523 p:first-of-type {
  margin-top: 0;
}

@media (max-width: 1080px) {
  .elementor-element-38d52726.numbers-band .elementor-element-71deb9e5 .elementor-heading-title {
    font-size: var(--fs-h-section-md-mobile);
    line-height: var(--lh-heading-tight);
  }
  .elementor-element-38d52726.numbers-band .elementor-element-30a57523 p {
    font-size: clamp(0.9375rem, 2.4vw, 1.0625rem);
    line-height: 1.62;
  }
}
@media (max-width: 720px) {
  .elementor-element-38d52726.numbers-band .elementor-element-71deb9e5 .elementor-heading-title {
    font-size: clamp(1.3125rem, 4.5vw, 1.5rem);
    letter-spacing: 0.015em;
  }
  .elementor-element-38d52726.numbers-band .elementor-element-30a57523 p {
    margin-top: 1rem;
    font-size: 1rem;
    line-height: 1.6;
  }
}
.numbers-band__distance-spacer {
  flex: 1 1 0;
  min-width: clamp(8px, 2vw, 48px);
  max-width: 72px;
  align-self: stretch;
  pointer-events: none;
}

.numbers-band .numbers-distances--desktop {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  gap: clamp(6px, 1.5vw, 20px);
  box-sizing: border-box;
}

.numbers-band .numbers-distances--desktop .elementor-widget-icon-box {
  flex: 0 0 auto;
}

.numbers-band .numbers-distances--desktop + .numbers-distances--desktop {
  margin-top: clamp(12px, 2.5vw, 28px);
}

@media (max-width: 1024px) {
  .numbers-band .numbers-distances--desktop {
    display: none !important;
  }
}
.numbers-band .numbers-distances--mobile {
  display: none !important;
  width: 100%;
  box-sizing: border-box;
}

@media (max-width: 1024px) {
  .numbers-band .numbers-distances--mobile {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(18px, 4vw, 28px) clamp(12px, 3vw, 20px);
    align-items: start;
  }
}
@media (max-width: 720px) {
  .numbers-band .numbers-distances--mobile {
    gap: 22px 14px;
  }
}
.numbers-band .elementor-widget-icon-box .elementor-icon-box-wrapper {
  text-align: start;
}

/* Liczby km — w rzędzie desktop mniejsza niż w siatce 2× mobile */
.numbers-band .elementor-widget-icon-box .elementor-icon-box-title {
  margin: 0;
  font-family: var(--font-heading);
  font-weight: 600;
  line-height: 1;
  color: var(--color-plum);
}

.numbers-band .elementor-widget-icon-box .elementor-icon-box-title span {
  display: inline-block;
}

.numbers-band .numbers-distances--desktop .elementor-widget-icon-box .elementor-icon-box-title {
  font-size: clamp(1.625rem, 2.35vw, 2.125rem);
  letter-spacing: 0.01em;
}

.numbers-band .numbers-distances--mobile .elementor-widget-icon-box .elementor-icon-box-title {
  font-size: clamp(2rem, 4.8vw, 2.875rem);
  letter-spacing: 0.01em;
}

@media (max-width: 1024px) {
  .numbers-band .numbers-distances--mobile .elementor-widget-icon-box .elementor-icon-box-title {
    font-size: clamp(1.875rem, 5.2vw, 2.5rem);
  }
}
@media (max-width: 720px) {
  .numbers-band .numbers-distances--mobile .elementor-widget-icon-box .elementor-icon-box-title {
    font-size: clamp(1.6875rem, 7vw, 2.125rem);
  }
}
.numbers-band .elementor-widget-icon-box .elementor-icon-box-description {
  margin: 8px 0 0;
  font-family: var(--font-sans), sans-serif;
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-muted);
}

.numbers-band .numbers-distances--desktop .elementor-widget-icon-box .elementor-icon-box-description {
  font-size: clamp(0.75rem, 1.05vw, 0.8125rem);
  font-weight: 600;
}

.numbers-band .numbers-distances--mobile .elementor-widget-icon-box .elementor-icon-box-description {
  font-size: 0.875rem;
  font-weight: 600;
}

@media (max-width: 720px) {
  .numbers-band .numbers-distances--mobile .elementor-widget-icon-box .elementor-icon-box-description {
    font-size: 0.8125rem;
    margin-top: 6px;
  }
}
/* Elementor 5b38e588 — kontakt (kreda + walizka) */
.elementor-element-5b38e588.contact-cta-band {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-height: 655px;
  padding: 120px 0;
  background-image: url("../images/live/chalk-paper-texture-img-t.jpg");
  background-size: 520px auto;
  box-sizing: border-box;
}

.contact-cta-band__inner.e-con-inner {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 20px 60px;
  width: min(var(--container-max), 100%);
  margin-inline: auto;
  padding: 0;
  box-sizing: border-box;
}

.contact-cta-band__visual.elementor-element-43c4fccd {
  position: relative;
  flex: 0 0 44%;
  max-width: 44%;
  min-height: 447px;
  align-self: stretch;
}

.contact-cta-band__visual.elementor-element-43c4fccd::before {
  position: absolute;
  inset: 0;
  background: url("../images/live/walizka-zima-fix.webp") bottom right/contain no-repeat;
  content: "";
  pointer-events: none;
  mix-blend-mode: multiply;
  opacity: 0.92;
}

.contact-cta-band__content.elementor-element-7e12e27d {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  align-items: flex-start;
  align-self: stretch;
  gap: 40px;
  min-width: 0;
  margin: 0;
  padding: 0;
}

.contact-cta-band .elementor-element-5f32594f {
  margin: 0;
  text-align: start;
  color: var(--color-plum-soft);
  font-family: var(--font-accent);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.contact-cta-band .elementor-element-5f32594f p {
  margin: 0;
}

.contact-cta-band .elementor-element-e7403f6 {
  width: 100%;
  max-width: 100%;
}

.contact-cta-band .elementor-element-e7403f6 .elementor-heading-title {
  margin: 0;
  color: var(--color-plum);
  font-family: var(--font-heading);
  font-size: 38px;
  font-weight: 600;
  line-height: var(--lh-heading-tight);
  letter-spacing: 0;
}

.contact-cta-band .elementor-element-555163ee {
  width: 100%;
  max-width: 77%;
}

.contact-cta-band .elementor-element-555163ee p {
  margin: 0;
  color: var(--color-muted);
  font-family: var(--font-sans), sans-serif;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.65;
}

.contact-cta-band .elementor-element-42c4e155 .elementor-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 13px 25px;
  border: 0;
  border-radius: 10px;
  background-color: var(--color-mint);
  color: var(--color-hotres-text);
  font-family: var(--font-sans), sans-serif;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.06em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.contact-cta-band .elementor-element-42c4e155 .elementor-button:hover,
.contact-cta-band .elementor-element-42c4e155 .elementor-button:focus-visible {
  background-color: var(--color-clay);
  color: var(--color-plum);
  transform: translateY(-2px);
}

.contact-cta-band .elementor-element-42c4e155 .elementor-button-content-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

@media (max-width: 1024px) {
  .elementor-element-5b38e588.contact-cta-band {
    min-height: 0;
    padding: 120px 0 0;
  }
  .contact-cta-band__inner.e-con-inner {
    flex-direction: column-reverse;
    gap: 32px;
  }
  .contact-cta-band__visual.elementor-element-43c4fccd {
    flex: 0 0 auto;
    width: 100%;
    max-width: 100%;
    min-height: 320px;
  }
  .contact-cta-band__visual.elementor-element-43c4fccd::before {
    background-position: bottom center;
  }
  .contact-cta-band .elementor-element-555163ee {
    max-width: 100%;
  }
}
@media (max-width: 767px) {
  .elementor-element-5b38e588.contact-cta-band {
    min-height: 0;
    padding: 80px 30px 50px;
  }
  .contact-cta-band__inner.e-con-inner {
    flex-direction: row-reverse;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 20px 12px;
  }
  .contact-cta-band__visual.elementor-element-43c4fccd {
    flex: 1 1 44%;
    max-width: calc(44% + 30px);
    min-height: 290px;
    margin-right: -30px;
  }
  .contact-cta-band__content.elementor-element-7e12e27d {
    flex: 1 1 50%;
    min-width: min(100%, 240px);
    gap: 28px;
  }
  .contact-cta-band .elementor-element-e7403f6 .elementor-heading-title {
    font-size: 28px;
  }
  .contact-cta-band .elementor-element-42c4e155 {
    width: 100%;
    align-self: center;
    text-align: center;
  }
  .contact-cta-band .elementor-element-42c4e155 .elementor-button {
    width: 100%;
    max-width: 320px;
  }
}
@media (max-width: 480px) {
  .contact-cta-band__inner.e-con-inner {
    flex-direction: column-reverse;
    flex-wrap: nowrap;
    align-items: stretch;
  }
  .contact-cta-band__visual.elementor-element-43c4fccd {
    flex: 0 0 auto;
    max-width: 100%;
    min-height: 260px;
    margin-right: 0;
  }
  .contact-cta-band__content.elementor-element-7e12e27d {
    flex: 1 1 auto;
    min-width: 0;
  }
}
.winter-offer {
  position: relative;
  min-height: 420px;
  display: grid;
  align-items: center;
  margin: 0;
  overflow: hidden;
  color: #fff;
  padding: 68px 8vw;
}

.winter-offer img {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.winter-offer::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: rgba(33, 20, 49, 0.42);
  content: "";
}

.winter-offer h2 {
  max-width: 620px;
  margin-bottom: 28px;
  font-size: clamp(2.3rem, 5vw, 5.4rem);
  line-height: 1;
}

.faq-list {
  width: min(980px, 100%);
  margin: 46px auto 0;
  border-top: 1px solid var(--color-line);
}

.faq-list details {
  border-bottom: 1px solid var(--color-line);
  padding: 24px 0;
}

.faq-list summary {
  cursor: pointer;
  color: var(--color-plum);
  font-family: var(--font-heading);
  font-size: clamp(1.35rem, 2vw, 2rem);
}

.faq-list p {
  max-width: 720px;
  color: var(--color-muted);
}

.gallery-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gallery-item {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: var(--color-paper-deep);
}

.gallery-item img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  transition: transform 520ms ease;
}

.gallery-item:hover img {
  transform: scale(1.04);
}

.gallery-item figcaption {
  position: absolute;
  inset: auto 0 0;
  background: linear-gradient(180deg, transparent, rgba(33, 20, 49, 0.82));
  color: #fff;
  font-weight: 800;
  padding: 38px 16px 14px;
}

.page-hero {
  padding: 120px 6vw 96px;
  background: linear-gradient(rgba(47, 30, 59, 0.88), rgba(47, 30, 59, 0.88)), url("/images/live/chalk-paper-texture-img-t.jpg");
  background-size: 520px auto;
  color: #fff;
}

.page-hero p,
.rich-content {
  max-width: 840px;
  color: var(--color-muted);
  font-size: 1.1rem;
}

.page-hero p {
  margin-top: 28px;
  color: rgba(255, 255, 255, 0.76);
}

.content-grid {
  width: min(var(--container-max), 100% - 32px);
  margin-inline: auto;
  padding: 86px 0;
}

.rich-content {
  line-height: 1.75;
}

.rich-content h2 {
  margin: 34px 0 12px;
  color: var(--color-plum);
  font-family: var(--font-heading);
  font-size: var(--fs-h-section-lg);
  font-weight: 600;
  line-height: var(--lh-heading-tight);
  letter-spacing: var(--letter-heading-section);
}

.rich-content a:not(.button) {
  color: var(--color-dust);
  font-weight: 600;
}

.content-cards,
.contact-page-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 42px;
}

.content-cards article,
.contact-details {
  background: rgba(242, 234, 219, 0.94);
  padding: 30px;
}

.content-cards h2,
.contact-details h2 {
  margin-top: 0;
}

.contact-page-grid {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.72fr);
  align-items: start;
}

.contact-details p {
  margin: 0 0 14px;
}

/* Stopka Elementor 453 (wersja źródłowa) */
.elementor-absolute {
  position: absolute;
}

.elementor-453 {
  position: relative;
  z-index: 1;
}

.elementor-453 .elementor-element-3b65608 {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 500px;
  padding: 60px 0 15px;
  background-color: var(--e-global-color-accent);
  color: var(--color-lilac);
  /* Iglak (.d4da078) jest position:absolute z ujemnym top — clip obcinał grafikę */
  overflow: visible;
}

body:not(.rtl) .elementor-453 .elementor-element-d4da078 {
  right: -10px;
}

.elementor-453 .elementor-element-d4da078 {
  top: -285px;
  z-index: 5;
  pointer-events: none;
}

.elementor-453 .elementor-element-d4da078 img {
  max-width: 412px;
  width: 100%;
  height: auto;
}

.elementor-453 .elementor-element-610f99a {
  padding: 20px 0;
  text-align: center;
  position: relative;
  z-index: 1;
}

.elementor-453 .elementor-element-610f99a img {
  width: 240px;
  margin-inline: auto;
}

.elementor-453 .elementor-element-1e8c186 {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px 40px;
  padding: 0 40px 65px;
  box-sizing: border-box;
}

.elementor-453 .elementor-element-bf275c8 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 20px;
  flex: 1 1 280px;
  min-width: min(100%, 260px);
}

.elementor-453 .elementor-element-b797c85 {
  margin: 0 0 -10px;
  color: var(--e-global-color-0f40c22);
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.6;
}

.elementor-453 .elementor-element-b797c85 p {
  margin: 0;
}

.elementor-453 .elementor-element-b797c85 a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.elementor-453 .elementor-element-bfc51af {
  color: var(--e-global-color-0f40c22);
  font-family: var(--font-sans);
  font-size: 15px;
}

.elementor-453 .elementor-element-bfc51af p {
  margin: 0;
}

.elementor-453 .elementor-element-df7566b .elementor-icon-list-items {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 20px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.elementor-453 .elementor-element-df7566b .elementor-icon-list-item a {
  display: inline-flex;
  align-items: center;
  line-height: 0;
}

.elementor-453 .elementor-element-df7566b .elementor-icon-list-icon {
  display: inline-flex;
  width: 26px;
  height: auto;
}

.elementor-453 .elementor-element-df7566b svg {
  width: 26px;
  height: auto;
}

.elementor-453 .elementor-element-24c700d {
  margin: 25px 0 10px;
}

.elementor-453 .elementor-element-24c700d .elementor-button {
  display: inline-block;
  color: var(--e-global-color-0f40c22);
  fill: var(--e-global-color-0f40c22);
  border: 1px solid var(--e-global-color-0f40c22);
  border-radius: 11px;
  padding: 8px 30px;
  font-family: var(--font-sans);
  font-size: 15px;
  text-decoration: none;
  background: transparent;
}

.elementor-453 .elementor-element-26b8d8e .cpel-switcher__nav {
  --cpel-switcher-space: 1px;
}

.elementor-453 .elementor-element-26b8d8e .cpel-switcher__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

.elementor-453 .elementor-element-26b8d8e .cpel-switcher__lang a {
  color: var(--color-elementor-primary);
  padding: 10px 0;
  font-family: var(--font-sans);
  font-size: 14px;
}

.elementor-453 .elementor-element-26b8d8e .cpel-switcher__lang a:hover,
.elementor-453 .elementor-element-26b8d8e .cpel-switcher__lang a:focus {
  color: var(--e-global-color-1fa995e);
}

.elementor-453 .elementor-element-26b8d8e .cpel-switcher__lang.cpel-switcher__lang--active a {
  font-weight: 700;
}

.elementor-453 .elementor-element-26b8d8e .cpel-switcher__code {
  padding-left: 1px;
}

.elementor-453 .wls .cpel-switcher__lang + .cpel-switcher__lang::before {
  content: "|";
  margin: 0 2px;
  color: #fff;
}

.elementor-453 .elementor-element-4d85bbd,
.elementor-453 .elementor-element-d462443 {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 0 40px;
  padding: 0 81px 0 0;
  flex: 1 1 200px;
  box-sizing: border-box;
}

.elementor-453 .elementor-element-4d85bbd.e-con,
.elementor-453 .elementor-element-d462443.e-con {
  align-self: flex-end;
}

.elementor-453 .elementor-element-f721b82 .elementor-icon-list-items,
.elementor-453 .elementor-element-21d13d4 .elementor-icon-list-items,
.elementor-453 .elementor-element-4e908f6 .elementor-icon-list-items,
.elementor-453 .elementor-element-44af5b1 .elementor-icon-list-items {
  list-style: none;
  margin: 0;
  padding: 0;
}

.elementor-453 .elementor-element-f721b82 .elementor-icon-list-item:not(:last-child),
.elementor-453 .elementor-element-21d13d4 .elementor-icon-list-item:not(:last-child),
.elementor-453 .elementor-element-4e908f6 .elementor-icon-list-item:not(:last-child) {
  padding-bottom: 5px;
}

.elementor-453 .elementor-element-f721b82 .elementor-icon-list-item:not(:first-child),
.elementor-453 .elementor-element-21d13d4 .elementor-icon-list-item:not(:first-child),
.elementor-453 .elementor-element-4e908f6 .elementor-icon-list-item:not(:first-child) {
  margin-top: 5px;
}

.elementor-453 .elementor-element-f721b82 .elementor-icon-list-item a,
.elementor-453 .elementor-element-21d13d4 .elementor-icon-list-item a,
.elementor-453 .elementor-element-4e908f6 .elementor-icon-list-item a,
.elementor-453 .elementor-element-44af5b1 .elementor-icon-list-item a {
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 400;
  text-transform: uppercase;
  color: var(--e-global-color-0f40c22);
  text-decoration: none;
}

.elementor-453 .elementor-element-f721b82 .elementor-icon-list-item a:hover,
.elementor-453 .elementor-element-21d13d4 .elementor-icon-list-item a:hover,
.elementor-453 .elementor-element-4e908f6 .elementor-icon-list-item a:hover,
.elementor-453 .elementor-element-44af5b1 .elementor-icon-list-item a:hover {
  text-decoration: underline;
}

.elementor-453 .elementor-element-d462443 {
  flex-direction: column;
  align-items: flex-start;
}

.elementor-453 .elementor-element-b034a4b {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 12px 24px;
  padding: 0 50px;
  margin-top: 8px;
  box-sizing: border-box;
}

.elementor-453 .elementor-element-4e1cd20 {
  position: fixed;
  right: 20px;
  bottom: 45px;
  z-index: 22;
  filter: contrast(78%);
}

.elementor-453 .elementor-element-4e1cd20 .elementor-icon-wrapper {
  text-align: center;
}

.elementor-453 .elementor-element-4e1cd20 .elementor-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  font-size: 22px;
  padding: 10px;
  border: 1px solid var(--e-global-color-accent);
  border-radius: 11px;
  background-color: var(--e-global-color-53cfc8e);
  color: var(--e-global-color-accent);
  fill: var(--e-global-color-accent);
  box-sizing: border-box;
}

.elementor-453 .elementor-element-4e1cd20 .elementor-icon svg {
  width: 1em;
  height: 1em;
  display: block;
}

.elementor-453 .elementor-element-377a6cc {
  font-family: var(--font-accent);
  font-size: 12px;
  text-transform: uppercase;
  color: var(--e-global-color-0f40c22);
  flex: 0 1 auto;
  order: -1;
}

.elementor-453 .elementor-element-253c9c9 {
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 400;
  text-transform: uppercase;
  color: var(--e-global-color-0f40c22);
}

.elementor-453 .elementor-element-253c9c9 a,
.elementor-453 .elementor-element-c15d32a a {
  color: var(--e-global-color-97d4eaa);
}

.elementor-453 .elementor-element-c15d32a {
  flex: 1 1 200px;
  text-align: center;
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 400;
  text-transform: uppercase;
  color: var(--e-global-color-0f40c22);
}

.elementor-453 .elementor-element-c15d32a p {
  margin: 0;
}

.elementor-453 .elementor-element-dbcf2e6 {
  display: none;
}

@media (max-width: 1200px) {
  .elementor-453 .elementor-element-d4da078 {
    top: -258px;
  }
  .elementor-453 .elementor-element-d4da078 img {
    max-width: 390px;
  }
  .elementor-453 .elementor-element-4e1cd20 {
    bottom: 60px;
  }
  .elementor-453 .elementor-element-4e1cd20 .elementor-icon {
    font-size: 20px;
  }
}
@media (max-width: 1024px) {
  .elementor-453 .elementor-element-d462443 {
    padding: 40px 0 0;
  }
  .elementor-453 .elementor-element-b034a4b {
    flex-direction: column;
    align-items: flex-start;
  }
  .elementor-453 .elementor-element-377a6cc {
    width: 100%;
    max-width: 100%;
  }
  .elementor-453 .elementor-element-253c9c9 {
    width: 100%;
    max-width: 100%;
    text-align: start;
  }
}
@media (max-width: 767px) {
  body:not(.rtl) .elementor-453 .elementor-element-d4da078 {
    right: -37px;
  }
  .elementor-453 .elementor-element-d4da078 {
    top: -160px;
  }
  .elementor-453 .elementor-element-d4da078 img {
    max-width: 242px;
  }
  .elementor-453 .elementor-element-610f99a {
    padding: 40px 0;
  }
  .elementor-453 .elementor-element-1e8c186 {
    padding-inline: 24px;
  }
  .elementor-453 .elementor-element-4d85bbd,
  .elementor-453 .elementor-element-d462443 {
    width: 100%;
    padding-right: 0;
  }
  .elementor-453 .elementor-element-44af5b1 {
    width: 100%;
    max-width: 100%;
  }
  .elementor-453 .elementor-element-44af5b1 .elementor-icon-list-item:not(:last-child) {
    padding-bottom: 15px;
  }
  .elementor-453 .elementor-element-44af5b1 .elementor-icon-list-item:not(:first-child) {
    margin-top: 15px;
  }
  .elementor-453 .elementor-element-b034a4b {
    flex-direction: column;
    align-items: flex-start;
    align-content: center;
  }
  body:not(.rtl) .elementor-453 .elementor-element-4e1cd20 {
    right: 10px;
  }
  .elementor-453 .elementor-element-4e1cd20 {
    bottom: 70px;
    z-index: 99;
  }
  .elementor-453 .elementor-element-4e1cd20 .elementor-icon {
    font-size: 18px;
  }
  .elementor-453 .elementor-element-253c9c9,
  .elementor-453 .elementor-element-c15d32a {
    font-size: 10px;
    text-align: start;
    width: 100%;
    max-width: 100%;
  }
}
@media (min-width: 768px) {
  .elementor-453 .elementor-element-bf275c8 {
    flex: 0 1 30%;
    max-width: 36%;
  }
  .elementor-453 .elementor-element-4d85bbd {
    flex: 1 1 49%;
    max-width: 51%;
  }
  .elementor-453 .elementor-element-d462443 {
    flex: 1 1 49%;
  }
}
@media (max-width: 1200px) and (min-width: 768px) {
  .elementor-453 .elementor-element-4d85bbd {
    flex-basis: 61%;
  }
}
.login-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  background: var(--color-paper);
  padding: 24px;
}

.login-box {
  width: min(430px, 100%);
  border: 1px solid var(--color-line);
  background: rgba(255, 255, 255, 0.55);
  box-shadow: var(--shadow-soft);
  padding: 30px;
}

.form-row {
  display: grid;
  gap: 8px;
  margin-bottom: 16px;
}

.form-row input {
  min-height: 46px;
  border: 1px solid var(--color-line);
  border-radius: 6px;
  padding: 10px 12px;
}

.alert {
  border-radius: 6px;
  background: #ffe6e6;
  color: #8a1f1f;
  margin-bottom: 16px;
  padding: 12px;
}

/* c8ea6ff — pozycja jelenia (post-1692) */
@media (max-width: 1440px) {
  .story-section {
    --story-deer-pos: 53vw 60px;
  }
}
@media (max-width: 1200px) {
  .story-section {
    --story-deer-pos: 55vw 98px;
  }
}
@media (max-width: 1024px) {
  .story-section {
    --story-deer-pos: 45vw 24vh;
  }
}
@media (max-width: 767px) {
  .story-section {
    padding: 120px 30px;
    --story-deer-opacity: 0.4;
    --story-deer-pos: 6.5em 100%;
    --story-deer-size: 499px auto;
  }
  .story-section__inner {
    flex-direction: column;
  }
  .story-copy {
    flex: 1 1 100%;
    max-width: 100%;
    padding-right: 0;
    padding-bottom: 56px;
  }
  .story-section__spacer {
    flex: 0 0 auto;
    max-width: 100%;
    width: 100%;
    margin-bottom: 38px;
    min-height: 0;
  }
  .story-copy h2 {
    font-size: 28px;
    line-height: 1.2em;
    letter-spacing: 0.02em;
  }
  .attractions-section.elementor-element-612dc714 {
    min-height: 0;
    padding: 80px 30px 80px;
  }
  .attractions-section .elementor-element-1ca2ef07 {
    width: 100%;
    max-width: 100%;
  }
  .attractions-section .elementor-element-67af1f7a {
    margin-top: 12px;
  }
  .attractions-section .e-n-tabs-heading {
    justify-content: flex-start;
    flex-wrap: nowrap;
    gap: 0;
    --n-tabs-title-gap: 0;
  }
  .attractions-section .e-n-tab-title {
    flex: 0 0 auto;
    border-radius: 13px;
    font-size: 11px;
    line-height: 1.2em;
    letter-spacing: 1.2px;
    padding: 7px 11px;
  }
  .attractions-section .e-n-tab-title .e-n-tab-icon svg {
    width: 18px;
    height: 18px;
  }
  .attractions-section .attractions-grid.elementor-element-95a9248 {
    gap: 50px 5px;
    padding: 15px 0;
  }
  .attractions-section .attraction-card.elementor-element-79ab81ca {
    flex: 1 1 100%;
    max-width: 100%;
    min-height: 300px;
  }
  .attractions-section .attraction-card .elementor-icon--attraction {
    font-size: 70px;
  }
  .attractions-section .attraction-card .elementor-icon-box-title {
    font-size: 24px;
  }
}
@media (max-width: 1080px) {
  .header-inner {
    grid-template-columns: 48px 1fr 48px;
    align-items: center;
    min-height: 96px;
  }
  .nav--desktop {
    display: none !important;
  }
  .brand {
    grid-column: 2;
    grid-row: 1;
    justify-self: center;
  }
  .brand-img--desktop {
    display: none;
  }
  .brand-img--mobile {
    display: block;
  }
  .menu-toggle {
    display: inline-flex;
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
  }
  .header-inner__balance {
    display: none;
  }
  .nav-overlay {
    position: fixed;
    inset: 0;
    z-index: 1000;
    padding: 0;
    margin: 0;
    overflow: hidden;
  }
  .nav-overlay[data-open] {
    display: block;
  }
  .header-actions {
    display: flex;
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
    align-self: center;
    gap: 0;
    max-width: 100%;
  }
  .header-actions .contact-link,
  .header-actions .reservation-link {
    display: none !important;
  }
  .header-gtranslate {
    max-width: min(148px, 34vw);
  }
  .gtranslate--header-slot .gt_float_switcher .gt-selected .gt-current-lang {
    padding: 6px 8px;
    font-size: 12px;
  }
  .section-title-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 40px;
  }
  .section-title-row .button {
    width: 100%;
    max-width: 360px;
  }
  .season-toggle {
    margin-top: 0;
    justify-content: flex-start;
    gap: 12px;
    width: 100%;
  }
  .domki-section__inner {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 12px 8px;
  }
  .domki-section {
    min-height: 0;
    padding-bottom: clamp(64px, 12vw, 100px);
  }
  .domki-section .section-copy--domki {
    order: 1;
    padding-right: 0;
  }
  .domki-section__media {
    order: 2;
    width: 100%;
    max-width: 420px;
    margin-inline: auto;
  }
  .domki-section .photo-stack {
    display: none !important;
  }
  .domki-section .cabins-carousel {
    display: block;
    width: 100%;
  }
  .domki-section .cabins-carousel__track {
    padding-right: 50px;
    scroll-padding-inline: 40px;
  }
  .elementor-element-38d52726.numbers-band .numbers-band__inner {
    gap: 36px;
  }
  .mapy-section .mapy-section__inner {
    flex-direction: column;
    align-items: stretch;
    gap: 40px;
  }
  .booking-bar,
  .booking-bar.hotresSearchBar {
    display: none !important;
  }
  .hero {
    min-height: min(92vh, 820px);
    padding: clamp(72px, 14vw, 120px) clamp(20px, 5vw, 48px) clamp(56px, 10vw, 88px);
    background: linear-gradient(180deg, rgba(115, 106, 93, 0.55) 0%, rgba(115, 106, 93, 0.42) 40%, rgba(242, 41, 91, 0) 100%), var(--hero-image);
    background-position: center top;
    background-size: cover;
    text-align: center;
  }
  .hero-copy {
    width: 100%;
    max-width: 520px;
    margin-inline: auto;
  }
  .hero-copy p {
    margin-inline: auto;
  }
  .hero-copy .button {
    max-width: 320px;
  }
  .intro-section {
    min-height: 0;
    padding-top: clamp(72px, 12vw, 110px);
    padding-bottom: clamp(64px, 10vw, 100px);
  }
  .intro-section::before {
    left: auto;
    right: -40px;
    bottom: 12px;
    width: min(200px, 45vw);
    height: auto;
    aspect-ratio: 280/240;
    opacity: 0.45;
  }
  .elementor-element-71299351.okolica-section {
    padding: 80px 6vw;
    min-height: min(900px, auto);
  }
  .okolica-section .elementor-element-56e4bafd {
    width: 100%;
    max-width: 100%;
    padding-bottom: 48px;
  }
  .okolica-section .okolica-row-elementor {
    gap: 20px 40px;
    padding: 20px 0 40px;
  }
  .okolica-section .okolica-row-elementor--second {
    padding: 40px 0 40px;
  }
  .okolica-section .okolica-item-elementor {
    flex: 1 1 calc(50% - 20px);
    max-width: calc(50% - 10px);
  }
  .attractions-section .attractions-grid.elementor-element-95a9248 {
    gap: 50px 16px;
  }
  .attractions-section .attraction-card.elementor-element-79ab81ca {
    flex: 1 1 calc(50% - 12px);
    max-width: calc(50% - 12px);
    min-width: min(100%, 200px);
  }
  .video-band {
    min-height: min(68vh, 560px);
  }
  .video-band-desktop {
    display: none;
  }
  .video-band-mobile {
    display: block;
  }
  .elementor-element-79966d9c.mapy-section {
    padding-top: clamp(64px, 10vw, 100px);
  }
  .mapy-section .map-image {
    max-height: none;
  }
  .mapy-section .elementor-element-6ededc07 {
    order: -1;
  }
  /* Nagłówki ≤1080px — post-1692 */
  .hero-copy h1 {
    font-size: var(--fs-hero-mobile);
    line-height: 1.12;
  }
  .section-title-row h2,
  .mapy-section .elementor-element-377c58b .elementor-heading-title,
  .page-hero h1,
  .narrow-copy h2 {
    font-size: var(--fs-h-section-lg-mobile);
    line-height: var(--lh-heading-tight);
  }
  .testimonials-band .elementor-element-26ab1e8b {
    padding: 0 30px;
  }
  .testimonials-band__intro {
    padding: 0 30px;
  }
  .testimonials-band .elementor-element-26ab1e8b .elementor-heading-title {
    font-size: 24px;
  }
  /* Atrakcje 1ca2ef07: 38px do 1024, potem 26px — nie 28px jak inne sekcje */
  .attractions-section .elementor-heading-title {
    font-size: var(--fs-h-section-lg);
  }
  .narrow-copy h3 {
    font-size: var(--fs-h-intro-h3-mobile);
  }
  .heart-band .elementor-element-5e7f3a95 .elementor-heading-title {
    font-size: 30px;
  }
  .rich-content h2 {
    font-size: var(--fs-h-section-lg-mobile);
  }
  .story-section {
    padding: 120px 30px;
  }
  .elementor-453 .elementor-element-3b65608 {
    padding-bottom: calc(15px + env(safe-area-inset-bottom));
  }
}
/* 612dc714 / 67af1f7a — ≤1024 po 1080, żeby nadpisać 28px na tytule atrakcji */
@media (max-width: 1024px) {
  .attractions-section.elementor-element-612dc714 {
    padding: 100px 30px 80px;
  }
  .attractions-section .elementor-heading-title {
    font-size: 26px;
    line-height: var(--lh-heading-tight);
  }
  .attractions-section .e-n-tabs-heading {
    gap: 15px;
    --n-tabs-title-gap: 15px;
  }
  .attractions-section .e-n-tab-title {
    padding: 7px 16px;
  }
  .attractions-section .attractions-grid.elementor-element-95a9248 {
    justify-content: space-between;
  }
  .attractions-section .attraction-card.elementor-element-79ab81ca {
    flex: 1 1 calc(50% - 12px);
    max-width: calc(50% - 12px);
  }
}
@media (max-width: 720px) {
  :root {
    --header-h: 74px;
  }
  .header-inner {
    width: min(100% - 24px, 1500px);
    min-height: var(--header-h);
    margin-inline: auto;
  }
  .site-header {
    border-top-width: 3px;
  }
  .hero {
    min-height: min(88vh, 760px);
    padding: 64px 16px 40px;
  }
  .hero-copy p {
    margin: 28px 0 28px;
    font-size: 1.02rem;
  }
  .season-toggle {
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 8px;
    margin-top: 4px;
  }
  .season-toggle button {
    flex: 1 1 auto;
    min-width: calc(50% - 4px);
    border-radius: 13px;
    font-size: 11px;
    line-height: 1.2em;
    letter-spacing: 1.2px;
    padding: 9px 12px;
    text-align: center;
  }
  .section-intro {
    font-size: 0.98rem;
  }
  .intro-section {
    padding-top: 56px;
    padding-bottom: 56px;
  }
  .intro-section::before {
    display: none;
  }
  .story-section {
    min-height: 0;
    padding-top: 120px;
    padding-bottom: 120px;
  }
  .video-band {
    min-height: 52vh;
    min-height: min(52vh, 420px);
  }
  .attractions-section .attraction-card.elementor-element-79ab81ca {
    min-height: 0;
    padding: 18px 14px;
    flex: 1 1 100%;
    max-width: 100%;
  }
  .attractions-section .attraction-card .elementor-icon--attraction {
    font-size: 64px;
  }
  .attractions-section .attraction-card .elementor-icon-box-title {
    font-size: clamp(1.05rem, 4vw, 1.35rem);
  }
  .booking-bar button {
    width: 100%;
  }
  .intro-section,
  .story-section,
  .attractions-section,
  .elementor-element-38d52726.numbers-band,
  .cms-gallery,
  .domki-section,
  .okolica-section,
  .elementor-element-6aab6b5b.testimonials-band,
  .mapy-section,
  .elementor-element-1e372823 > .e-con-inner {
    padding-inline: 16px;
  }
  .section-title-row,
  .content-cards,
  .contact-page-grid {
    display: grid;
    align-items: start;
  }
  .section-title-row .button {
    max-width: none;
  }
  .gallery-grid {
    grid-template-columns: 1fr;
  }
  .attractions-section .attractions-grid.elementor-element-95a9248 {
    flex-direction: column;
    gap: 40px 12px;
    padding: 12px 0;
  }
  .elementor-element-71299351.okolica-section {
    min-height: 0;
    padding-block: 64px;
  }
  .okolica-section .elementor-element-56e4bafd .elementor-heading-title {
    font-size: clamp(28px, 8vw, 38px);
  }
  .okolica-section .okolica-item-elementor {
    flex: 1 1 100%;
    max-width: 100%;
    min-width: 100%;
  }
  .okolica-section .okolica-row-elementor {
    flex-direction: column;
    align-content: stretch;
    gap: 28px;
    padding: 16px 0 32px;
  }
  .okolica-section .okolica-row-elementor--second {
    padding: 32px 0 32px;
  }
  .content-cards,
  .contact-page-grid {
    grid-template-columns: 1fr;
  }
  .button:not(.stack-nav),
  .reservation-link {
    display: inline-flex !important;
    max-width: none;
  }
  .photo-stack {
    width: min(100%, 400px);
    margin-inline: auto;
  }
  .stack-nav {
    width: 42px;
    height: 42px;
  }
  .stack-nav__icon {
    width: 13px;
    height: 13px;
  }
  .prev-btn {
    left: 6px;
  }
  .next-btn {
    right: 6px;
  }
  .winter-offer {
    padding: 48px 16px;
    min-height: 0;
  }
  .page-hero {
    padding: 88px 16px 64px;
  }
  .content-grid {
    padding: 56px 0;
  }
  .deer-sketch {
    position: static;
    width: min(220px, 55vw);
    margin: 0 auto 20px;
  }
  .faq-list summary {
    font-size: 1.05rem;
    padding-right: 8px;
  }
}
@media (max-width: 1080px) and (min-width: 721px) {
  :root {
    --header-h: 96px;
  }
}
/* Dolna belka CTA na mobile (jak .mobile-cta-bar w wersji źródłowej) */
body.mobile-cta-bar-visible .site-shell {
  padding-bottom: calc(62px + env(safe-area-inset-bottom));
  transition: padding-bottom 0.35s ease;
}

@media (max-width: 1024px) {
  /* Klasy elementor-hidden-mobile nie działają bez CSS Elementora — wymuszamy ukrycie paska Hotres */
  .sticky-bar-cta,
  .sticky-bar-cta.show-me,
  .sticky-bar-inner {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(-100%) !important;
  }
  .mobile-cta-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    padding: 10px 15px calc(10px + env(safe-area-inset-bottom));
    background: rgba(47, 30, 59, 0.92);
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 -10px 28px rgba(0, 0, 0, 0.25);
    will-change: transform;
    transition: transform 0.4s ease-out, background 0.35s ease, box-shadow 0.35s ease;
    transform: translateY(110%);
  }
  .mobile-cta-bar.is-visible {
    transform: translateY(0);
    background: var(--color-plum);
    border-top-color: rgba(199, 181, 218, 0.35);
    box-shadow: 0 -12px 32px rgba(0, 0, 0, 0.35);
  }
  body.menu-open .mobile-cta-bar {
    transform: translateY(110%) !important;
    pointer-events: none;
    visibility: hidden;
  }
  .mobile-cta-bar__inner {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: center;
    gap: 12px;
    max-width: 560px;
    margin: 0 auto;
  }
  .mobile-cta-bar__phone {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 52px;
    min-height: 52px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.28);
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    text-decoration: none;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
  }
  .mobile-cta-bar__phone:hover,
  .mobile-cta-bar__phone:focus-visible {
    background: rgba(255, 255, 255, 0.18);
    border-color: rgba(255, 255, 255, 0.4);
    color: #fff;
  }
  .mobile-cta-bar__phone-icon {
    display: block;
    width: 22px;
    height: 22px;
  }
  .mobile-cta-bar__book {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 12px 18px;
    border-radius: 10px;
    border: 0;
    background: var(--color-lavender);
    color: var(--color-plum);
    font-family: var(--font-sans);
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.02em;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    transition: background-color 0.2s ease, transform 0.2s ease;
  }
  .mobile-cta-bar__book:hover,
  .mobile-cta-bar__book:focus-visible {
    background: var(--color-clay);
  }
  .mobile-cta-bar__book:active {
    transform: scale(0.98);
  }
}
@media (min-width: 1025px) {
  .mobile-cta-bar {
    display: none !important;
  }
  body.mobile-cta-bar-visible .site-shell {
    padding-bottom: 0;
  }
}
.site-shell--galeria .site-main--galeria {
  background: var(--color-paper, #f4f1ec);
}

.site-shell--galeria .galeria-page {
  font-family: var(--font-sans);
  color: var(--color-text);
}

.site-shell--galeria .galeria-page__hero.elementor-element-15e2fef {
  position: relative;
  width: 100%;
  min-height: 440px;
  overflow: hidden;
  background-color: var(--color-plum, #2f1e3b);
}
.site-shell--galeria .galeria-page__hero.elementor-element-15e2fef::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: url("../images/live/jagodowa-osada-domki-z-bali-zakopane.webp");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.site-shell--galeria .galeria-page__hero.elementor-element-15e2fef > .e-con-inner {
  position: relative;
  z-index: 2;
  min-height: 0;
}

.site-shell--galeria .galeria-page__section.elementor-element-1733ef6 {
  position: relative;
  width: 100%;
  background-color: #f4f1ec;
  padding-block: 100px 260px;
  padding-inline: 0;
}
.site-shell--galeria .galeria-page__section.elementor-element-1733ef6::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: url("../images/live/chalk-paper-texture-img-t.jpg");
  background-position: center center;
  pointer-events: none;
}
.site-shell--galeria .galeria-page__section.elementor-element-1733ef6 > .e-con-inner {
  position: relative;
  z-index: 1;
}

.site-shell--galeria .galeria-page__section > .e-con-inner {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: clamp(1.25rem, 3vw, 2rem);
  width: 100%;
  max-width: min(100%, 1140px);
  margin-inline: auto;
  padding-inline: clamp(16px, 4vw, 24px);
  padding-block: 0;
  box-sizing: border-box;
}

@media (max-width: 767px) {
  .site-shell--galeria .galeria-page__hero.elementor-element-15e2fef {
    min-height: clamp(240px, 52vw, 440px);
  }
  .site-shell--galeria .galeria-page__section.elementor-element-1733ef6 {
    padding-block: 120px 260px;
    padding-inline: 30px;
  }
}
.site-shell--galeria .galeria-page__title {
  font-family: var(--font-heading);
  font-size: clamp(1.6rem, 3.2vw, 2.25rem);
  font-weight: 600;
  line-height: 1.2;
  color: var(--color-text);
  margin: 0;
  text-align: center;
}

.site-shell--galeria .galeria-page__widget-container {
  width: 100%;
}

.site-shell--galeria .jo-galeria-modula.modula-custom-grid {
  position: relative;
  width: 100%;
}

.site-shell--galeria .jo-galeria-modula .modula-items {
  position: relative;
  z-index: 1;
  min-height: 40px;
}

.site-shell--galeria .jo-galeria-modula .modula-item {
  position: absolute;
  box-sizing: border-box;
  overflow: hidden;
  border-radius: 4px;
}

.site-shell--galeria .jo-galeria-modula .modula-item-content {
  position: relative;
  width: 100%;
  height: 100%;
  opacity: 1;
  transform: none;
}

.site-shell--galeria .jo-galeria-modula .modula-item-content > a.tile-inner {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  background: transparent;
  cursor: zoom-in;
}

.site-shell--galeria .jo-galeria-modula .modula-item img.pic {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.35s ease, opacity 0.2s linear;
}

.site-shell--galeria .jo-galeria-modula .modula-item-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(47, 30, 59, 0);
  transition: background 0.25s ease;
  pointer-events: none;
}

.site-shell--galeria .jo-galeria-modula .modula-item:hover .modula-item-overlay {
  background: rgba(47, 30, 59, 0.12);
}

.site-shell--galeria .jo-galeria-modula .modula-item:hover img.pic {
  transform: scale(1.03);
}

.site-shell--galeria .jo-galeria-modula .figc {
  display: none;
}

@media (max-width: 767px) {
  .site-shell--galeria .jo-galeria-modula .modula-items {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .site-shell--galeria .jo-galeria-modula .modula-item {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1;
  }
  .site-shell--galeria .jo-galeria-modula .modula-item-content {
    height: 100%;
    min-height: 0;
  }
  .site-shell--galeria .jo-galeria-modula .modula-item img.pic {
    position: absolute;
  }
}
.site-shell--mapy .site-main.site-main--mapy {
  overflow-x: clip;
}

.site-shell--mapy .site-main .mapy-page,
.site-shell--domki .domki-page__maps .mapy-page--embed {
  --mapy-inner-max: min(100%, 1140px);
  --mapy-section-pad-x: 0;
  font-family: var(--font-sans);
  color: var(--color-text);
}

.site-shell--mapy .site-main .mapy-page .e-con-inner,
.site-shell--domki .domki-page__maps .mapy-page--embed .e-con-inner {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: clamp(16px, 2.5vw, 28px);
  width: 100%;
  max-width: var(--mapy-inner-max);
  margin-inline: auto;
  box-sizing: border-box;
}

.site-shell--mapy .site-main .mapy-page .e-con.e-parent,
.site-shell--domki .domki-page__maps .mapy-page--embed .e-con.e-parent {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.site-shell--mapy .site-main .mapy-page .e-con.e-child,
.site-shell--domki .domki-page__maps .mapy-page--embed .e-con.e-child {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

.site-shell--mapy .site-main .mapy-page .elementor-element-e31740f,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-e31740f {
  background-color: #2f1e3b;
  padding: clamp(120px, 18vw, 220px) var(--mapy-section-pad-x) clamp(60px, 12vw, 120px);
}

.site-shell--mapy .site-main .mapy-page .elementor-element-e31740f > .e-con-inner,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-e31740f > .e-con-inner {
  padding-inline: clamp(16px, 4vw, 30px);
}

.site-shell--mapy .site-main .mapy-page .elementor-element-e31740f .elementor-element-852e729,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-e31740f .elementor-element-852e729,
.site-shell--mapy .site-main .mapy-page .elementor-element-e31740f .elementor-element-3fde1ab,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-e31740f .elementor-element-3fde1ab,
.site-shell--mapy .site-main .mapy-page .elementor-element-e31740f .elementor-element-1dfd463,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-e31740f .elementor-element-1dfd463 {
  width: 100%;
  max-width: 100%;
}

.site-shell--mapy .site-main .mapy-page .elementor-element-e31740f .elementor-element-edf9d91,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-e31740f .elementor-element-edf9d91 {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 100%;
}

.site-shell--mapy .site-main .mapy-page .elementor-element-f615db3,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-f615db3,
.site-shell--mapy .site-main .mapy-page .elementor-element-02391d2,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-02391d2 {
  font-family: var(--font-accent);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-clay);
}

.site-shell--mapy .site-main .mapy-page .elementor-element-f615db3 p,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-f615db3 p,
.site-shell--mapy .site-main .mapy-page .elementor-element-02391d2 p,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-02391d2 p {
  margin: 0;
}

.site-shell--mapy .site-main .mapy-page .elementor-element-389dd04 .elementor-heading-title,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-389dd04 .elementor-heading-title {
  font-family: var(--font-heading);
  font-size: clamp(1.75rem, 4vw, 2.4rem);
  font-weight: 600;
  line-height: 1.15;
  color: var(--color-paper);
  margin: 0;
}

.site-shell--mapy .site-main .mapy-page .elementor-element-5cac812,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-5cac812 {
  color: var(--color-paper);
  padding-right: 0;
}

.site-shell--mapy .site-main .mapy-page .elementor-element-5cac812 p,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-5cac812 p {
  margin: 0;
  line-height: 1.6;
}

.site-shell--mapy .site-main .mapy-page .elementor-element-3fde1ab img,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-3fde1ab img,
.site-shell--mapy .site-main .mapy-page .elementor-element-1dfd463 img,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-1dfd463 img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 10px;
  box-shadow: 0 18px 50px rgba(47, 30, 59, 0.18);
}

.site-shell--mapy .site-main .mapy-page .elementor-element-5e7e8ec,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-5e7e8ec {
  background-color: var(--color-paper);
  padding: clamp(72px, 12vw, 120px) var(--mapy-section-pad-x);
  min-height: 50vh;
}

.site-shell--mapy .site-main .mapy-page .elementor-element-5e7e8ec > .e-con-inner,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-5e7e8ec > .e-con-inner {
  padding-inline: clamp(16px, 4vw, 31px);
  flex-direction: column;
  gap: clamp(24px, 4vw, 36px);
}

.site-shell--mapy .site-main .mapy-page .elementor-element-5e7e8ec .elementor-element-d156852,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-5e7e8ec .elementor-element-d156852,
.site-shell--mapy .site-main .mapy-page .elementor-element-5e7e8ec .elementor-element-72a3ebe,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-5e7e8ec .elementor-element-72a3ebe {
  width: 100%;
  max-width: 100%;
}

.site-shell--mapy .site-main .mapy-page .elementor-element-d156852,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-d156852 {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.site-shell--mapy .site-main .mapy-page .elementor-element-a42d225 .elementor-heading-title,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-a42d225 .elementor-heading-title {
  font-family: var(--font-heading);
  font-size: clamp(1.6rem, 3vw, 2rem);
  font-weight: 600;
  color: var(--color-text);
  margin: 0;
}

.site-shell--mapy .site-main .mapy-page .elementor-element-f5b2070,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-f5b2070 {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  width: 100%;
}

.site-shell--mapy .site-main .mapy-page .elementor-element-a04f70e p,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-a04f70e p {
  margin: 0;
  line-height: 1.55;
}

.site-shell--mapy .site-main .mapy-page .elementor-element-72a3ebe .elementor-widget-container,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-72a3ebe .elementor-widget-container {
  border-radius: 8px;
  overflow: hidden;
}

.site-shell--mapy .site-main .mapy-page .eae-markers.mapy-page__gmap-embed,
.site-shell--domki .domki-page__maps .mapy-page--embed .eae-markers.mapy-page__gmap-embed {
  width: 100%;
  min-height: 320px;
  height: clamp(320px, 55vh, 605px);
  overflow: hidden;
  border: 3px solid var(--color-plum);
  border-radius: 6px;
  box-sizing: border-box;
}

.site-shell--mapy .site-main .mapy-page .eae-markers.mapy-page__gmap-embed iframe,
.site-shell--domki .domki-page__maps .mapy-page--embed .eae-markers.mapy-page__gmap-embed iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.site-shell--mapy .site-main .mapy-page .elementor-element-79a68fc,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-79a68fc {
  background-color: var(--color-paper-deep);
  background-image: url("../images/live/chalk-paper-texture-img-t.jpg");
  background-position: center;
  background-repeat: repeat;
  padding: clamp(64px, 10vw, 100px) var(--mapy-section-pad-x);
  min-height: 70vh;
}

.site-shell--mapy .site-main .mapy-page .elementor-element-79a68fc > .e-con-inner,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-79a68fc > .e-con-inner {
  padding-inline: clamp(16px, 4vw, 30px);
  gap: clamp(18px, 2.8vw, 28px);
}

.site-shell--mapy .site-main .mapy-page .elementor-element-cc0e663,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-cc0e663 {
  text-align: center;
  padding-bottom: clamp(8px, 1.5vw, 20px);
  margin: 0;
}

.site-shell--mapy .site-main .mapy-page .elementor-element-cc0e663 .elementor-heading-title,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-cc0e663 .elementor-heading-title {
  font-family: var(--font-heading);
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
  font-weight: 600;
  color: var(--color-plum);
  margin: 0;
}

.site-shell--mapy .site-main .mapy-page .elementor-element-cd89c11,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-cd89c11 {
  width: 100%;
  min-height: 0;
  margin: 0 0 clamp(4px, 1vw, 12px);
}

.site-shell--mapy .site-main .mapy-page .elementor-element-b61561a img,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-b61561a img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 10px;
}

.site-shell--mapy .site-main .mapy-page .elementor-element-beba1b8,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-beba1b8 {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
  gap: clamp(18px, 2.5vw, 30px);
  align-items: start;
  justify-items: stretch;
  width: 100%;
  margin: 0;
  padding: clamp(20px, 4vw, 48px) 0 clamp(40px, 7vw, 80px);
  box-sizing: border-box;
}

@media (min-width: 768px) {
  .site-shell--mapy .site-main .mapy-page .elementor-element-beba1b8,
  .site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-beba1b8 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1025px) {
  .site-shell--mapy .site-main .mapy-page .elementor-element-beba1b8,
  .site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-beba1b8 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.site-shell--mapy .site-main .mapy-page .elementor-element-315e579,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-315e579 {
  background-color: var(--color-paper);
  padding: 60px 0;
}

.site-shell--mapy .site-main .mapy-page .elementor-element-315e579 > .e-con-inner,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-315e579 > .e-con-inner {
  padding-inline: clamp(16px, 4vw, 30px);
  gap: clamp(18px, 2.8vw, 28px);
}

.site-shell--mapy .site-main .mapy-page .elementor-element-6ddb0e5,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-6ddb0e5 {
  text-align: center;
  padding-bottom: clamp(8px, 1.5vw, 20px);
  margin: 0;
}

.site-shell--mapy .site-main .mapy-page .elementor-element-6ddb0e5 .elementor-heading-title,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-6ddb0e5 .elementor-heading-title {
  font-family: var(--font-heading);
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
  font-weight: 600;
  color: var(--color-plum);
  margin: 0;
}

.site-shell--mapy .site-main .mapy-page .elementor-element-2688a9f,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-2688a9f {
  min-height: clamp(280px, 65vw, 520px);
  margin: 0 0 clamp(4px, 1vw, 12px);
  background-image: url("../images/live/mapa-osady-mobile-tab.webp");
  background-size: cover;
  background-position: center;
  border-radius: 8px;
}

@media (min-width: 768px) {
  .site-shell--mapy .site-main .mapy-page .elementor-element-2688a9f,
  .site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-2688a9f {
    background-image: none;
    min-height: 0;
    margin-bottom: clamp(4px, 1vw, 12px);
  }
}
.site-shell--mapy .site-main .mapy-page .elementor-element-8e738ba img,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-8e738ba img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 10px;
}

.site-shell--mapy .site-main .mapy-page .elementor-element-f41c362,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-f41c362 {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto;
  gap: clamp(18px, 2.5vw, 30px);
  align-items: start;
  justify-items: stretch;
  width: 100%;
  margin: 0;
  padding: clamp(20px, 4vw, 48px) 0 clamp(32px, 6vw, 80px);
  box-sizing: border-box;
}

@media (min-width: 768px) {
  .site-shell--mapy .site-main .mapy-page .elementor-element-f41c362,
  .site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-f41c362 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1025px) {
  .site-shell--mapy .site-main .mapy-page .elementor-element-f41c362,
  .site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-f41c362 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.site-shell--mapy .site-main .mapy-page .elementor-element-beba1b8 .elementor-widget-icon-list,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-beba1b8 .elementor-widget-icon-list,
.site-shell--mapy .site-main .mapy-page .elementor-element-f41c362 .elementor-widget-icon-list,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-f41c362 .elementor-widget-icon-list {
  width: 100%;
  max-width: 100%;
  margin: 0;
}

.site-shell--mapy .site-main .mapy-page .elementor-widget-icon-list .elementor-icon-list-items,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-widget-icon-list .elementor-icon-list-items {
  list-style: none;
  margin: 0;
  padding: 0;
  padding-inline-start: 0;
}

.site-shell--mapy .site-main .mapy-page .elementor-widget-icon-list .elementor-icon-list-item,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-widget-icon-list .elementor-icon-list-item {
  list-style: none;
  margin: 0;
}

.site-shell--mapy .site-main .mapy-page .elementor-widget-icon-list.elementor-icon-list--layout-traditional .elementor-icon-list-item,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-widget-icon-list.elementor-icon-list--layout-traditional .elementor-icon-list-item,
.site-shell--mapy .site-main .mapy-page .elementor-widget-icon-list.elementor-icon-list--layout-traditional .elementor-icon-list-item > a,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-widget-icon-list.elementor-icon-list--layout-traditional .elementor-icon-list-item > a {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.site-shell--mapy .site-main .mapy-page .elementor-widget-icon-list .elementor-icon-list-icon,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-widget-icon-list .elementor-icon-list-icon {
  flex-shrink: 0;
  line-height: 0;
  width: 34px;
  min-width: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
}

.site-shell--mapy .site-main .mapy-page .elementor-widget-icon-list .elementor-icon-list-icon svg,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-widget-icon-list .elementor-icon-list-icon svg {
  display: block;
  width: 34px;
  height: auto;
  max-width: 34px;
}

.site-shell--mapy .site-main .mapy-page .elementor-widget-icon-list .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child),
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-widget-icon-list .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child) {
  padding-bottom: 12.5px;
}

.site-shell--mapy .site-main .mapy-page .elementor-widget-icon-list .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child),
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-widget-icon-list .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child) {
  margin-top: 12.5px;
}

.site-shell--mapy .site-main .mapy-page .elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text,
.site-shell--mapy .site-main .mapy-page .elementor-widget-icon-list .elementor-icon-list-item > a .elementor-icon-list-text,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-widget-icon-list .elementor-icon-list-item > a .elementor-icon-list-text {
  font-family: var(--font-sans);
  font-size: clamp(13px, 1.05vw, 15px);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.015em;
  color: var(--color-plum);
}

.site-shell--mapy .site-main .mapy-page .elementor-element-5ff1184 .elementor-icon-list-icon,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-5ff1184 .elementor-icon-list-icon,
.site-shell--mapy .site-main .mapy-page .elementor-element-fae1313 .elementor-icon-list-icon,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-fae1313 .elementor-icon-list-icon {
  width: auto;
  min-width: 0;
}

.site-shell--mapy .site-main .mapy-page .elementor-element-5ff1184 .elementor-icon-list-items li:first-child .elementor-icon-list-icon svg,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-5ff1184 .elementor-icon-list-items li:first-child .elementor-icon-list-icon svg {
  width: auto;
  max-width: none;
  height: 25px;
}

.site-shell--mapy .site-main .mapy-page .elementor-element-5ff1184 .elementor-icon-list-items li:first-child .elementor-icon-list-icon,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-5ff1184 .elementor-icon-list-items li:first-child .elementor-icon-list-icon {
  width: initial;
  margin-right: -4px;
}

.site-shell--mapy .site-main .mapy-page .elementor-element-fae1313 .elementor-icon-list-items li:last-child .elementor-icon-list-icon svg,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-fae1313 .elementor-icon-list-items li:last-child .elementor-icon-list-icon svg {
  width: auto;
  max-width: none;
  height: 20px;
  max-height: 22px;
}

.site-shell--mapy .site-main .mapy-page .elementor-element-fae1313 .elementor-icon-list-items li:last-child .elementor-icon-list-icon,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-fae1313 .elementor-icon-list-items li:last-child .elementor-icon-list-icon {
  width: 46px;
  min-width: 46px;
  margin-right: -6px;
}

.site-shell--mapy .site-main .mapy-page .elementor-widget-container,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-widget-container {
  width: 100%;
  box-sizing: border-box;
}

.site-shell--mapy .site-main .mapy-page .elementor-heading-title,
.site-shell--domki .domki-page__maps .mapy-page--embed .elementor-heading-title {
  line-height: 1.2;
}

@media (max-width: 767px) {
  .site-shell--mapy .site-main .mapy-page .elementor-element-b61561a,
  .site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-b61561a,
  .site-shell--mapy .site-main .mapy-page .elementor-element-b61561a .elementor-widget-container,
  .site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-b61561a .elementor-widget-container {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x;
  }
  .site-shell--mapy .site-main .mapy-page .elementor-element-b61561a img,
  .site-shell--domki .domki-page__maps .mapy-page--embed .elementor-element-b61561a img {
    width: auto;
    min-width: 200%;
    max-width: none;
    height: auto;
  }
}
.site-shell--atrakcje {
  --e-global-color-c4a77eb: #a17e63;
  --e-global-color-primary: #ffffff;
  --e-global-color-5f9ee14: var(--color-hotres-text);
  --e-global-color-text: var(--color-text);
  --e-global-color-152fc56: #c0d0bb;
  --e-global-typography-text-font-family: Inter, "Segoe UI", Arial, sans-serif;
  --atrakcje-brown-band: #6d5b43;
  --atrakcje-testimonials-bg: #967865db;
}

.site-shell--atrakcje .site-main--atrakcje {
  background: var(--color-paper, #f4f1ec);
}

.site-shell--atrakcje .atrakcje-page {
  font-family: var(--font-sans);
  color: var(--color-text);
}

.site-shell--atrakcje .elementor-1985 .elementor-element.elementor-element-f8fcfbd {
  --flex-direction: row;
  --flex-wrap-mobile: wrap;
  align-items: stretch;
  min-height: 570px;
}

.site-shell--atrakcje .elementor-1985 .elementor-element.elementor-element-f8fcfbd > .elementor-element-50489ae.e-con.e-flex {
  --flex-grow: 1;
  --flex-shrink: 0;
  --flex-basis: 50%;
  --width: 50%;
  min-width: 0;
  box-sizing: border-box;
}

.site-shell--atrakcje .elementor-1985 .elementor-element.elementor-element-f8fcfbd > .elementor-element-088a02d.e-con.e-flex {
  --flex-grow: 1;
  --flex-shrink: 0;
  --flex-basis: 50%;
  --width: 50%;
  min-height: 420px;
  align-self: stretch;
  box-sizing: border-box;
}

.site-shell--atrakcje .elementor-1985 .elementor-element-088a02d.atrakcje-hero-visual {
  position: relative;
  padding: 0 !important;
  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  overflow: hidden;
  display: block;
}

.site-shell--atrakcje .elementor-1985 .atrakcje-hero-visual__img {
  display: block;
  width: 100%;
  height: 570px;
  object-fit: cover;
  object-position: center;
}

@media (max-width: 767px) {
  .site-shell--atrakcje .page-content {
    padding-inline: 0;
  }
  .site-shell--atrakcje .elementor-1985 .elementor-element-7921b58 > .e-con-inner {
    padding-inline: clamp(14px, 4vw, 24px);
  }
  .site-shell--atrakcje .elementor-1985 .elementor-element.elementor-element-f8fcfbd {
    min-height: 0;
  }
  .site-shell--atrakcje .elementor-1985 .elementor-element.elementor-element-f8fcfbd > .elementor-element-50489ae.e-con.e-flex,
  .site-shell--atrakcje .elementor-1985 .elementor-element.elementor-element-f8fcfbd > .elementor-element-088a02d.e-con.e-flex {
    --flex-basis: 100%;
    --width: 100%;
    min-width: 100%;
  }
  .site-shell--atrakcje .elementor-1985 .elementor-element.elementor-element-f8fcfbd > .elementor-element-50489ae.e-con.e-flex {
    order: 1;
    padding-inline: clamp(18px, 5vw, 24px);
    padding-block: 28px 16px;
    box-sizing: border-box;
  }
  .site-shell--atrakcje .elementor-1985 .elementor-element.elementor-element-f8fcfbd > .elementor-element-088a02d.e-con.e-flex {
    min-height: 0;
    order: 2;
  }
  .site-shell--atrakcje .elementor-1985 .atrakcje-hero-visual__img {
    height: auto;
    min-height: min(52vw, 360px);
    max-height: 480px;
    aspect-ratio: 4/3;
    object-fit: cover;
  }
  .site-shell--atrakcje .elementor-1985 .elementor-element-f9dfc8e .elementor-heading-title {
    font-size: clamp(1.65rem, 6.4vw, 2.15rem) !important;
    line-height: 1.12;
    hyphens: auto;
  }
  .site-shell--atrakcje .elementor-1985 .elementor-element-d2bfb6f {
    font-size: 15px;
    line-height: 1.55;
  }
  .site-shell--atrakcje .elementor-1985 .elementor-element-9b17fad {
    --padding-top: 56px;
    --padding-bottom: 72px;
    --gap: 36px 36px;
    --row-gap: 36px;
    --column-gap: 36px;
  }
  .site-shell--atrakcje .elementor-1985 .elementor-element-9b17fad > .e-con-inner {
    padding-inline: clamp(12px, 4vw, 20px);
    box-sizing: border-box;
  }
  .site-shell--atrakcje .elementor-1985 .elementor-element-ce15850 .elementor-heading-title {
    text-align: center;
    font-size: clamp(1.25rem, 5vw, 1.65rem) !important;
  }
  .site-shell--atrakcje .elementor-1985 .elementor-pagination-position-outside .swiper-pagination {
    margin-top: 20px;
    padding-bottom: 4px;
  }
  .site-shell--atrakcje .elementor-1985 .elementor-pagination-position-outside .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    margin: 0 6px !important;
    opacity: 0.5;
  }
  .site-shell--atrakcje .elementor-1985 .elementor-pagination-position-outside .swiper-pagination-bullet-active {
    opacity: 1;
  }
  .site-shell--atrakcje .elementor-1985 .elementor-element-3019f89,
  .site-shell--atrakcje .elementor-1985 .elementor-element-4cc1605 {
    --padding-top: 56px;
    --padding-bottom: 56px;
    --gap: 36px 36px;
    --row-gap: 36px;
  }
  .site-shell--atrakcje .elementor-1985 .elementor-element-3019f89 > .e-con-inner,
  .site-shell--atrakcje .elementor-1985 .elementor-element-4cc1605 > .e-con-inner {
    padding-inline: clamp(14px, 4vw, 24px);
  }
  .site-shell--atrakcje .elementor-1985 .elementor-element-ab32678 {
    --padding-top: 56px;
    --padding-bottom: 80px;
    --gap: 56px 56px;
    --row-gap: 56px;
  }
  .site-shell--atrakcje .elementor-1985 .elementor-element-ab32678 > .e-con-inner {
    padding-inline: clamp(14px, 4vw, 24px);
  }
  .site-shell--atrakcje .elementor-1985 .elementor-element-316d5ab5 {
    --min-height: 0;
    --padding-top: 56px;
    --padding-bottom: 64px;
  }
  .site-shell--atrakcje .elementor-1985 .atrakcje-testimonials-band {
    min-height: 0;
    padding-block: 52px 72px;
  }
  .site-shell--atrakcje .elementor-1985 .atrakcje-testimonials-band__inner.e-con-inner {
    padding-inline: clamp(14px, 4vw, 22px);
    gap: 28px;
  }
  .site-shell--atrakcje .elementor-1985 .elementor-element-3ea6b6e {
    padding-block: 48px 72px;
  }
  .site-shell--atrakcje .elementor-4315 .elementor-element-c5d8c6e {
    min-height: min(72vw, 380px);
    margin-inline: clamp(0px, 2vw, 12px);
  }
  .site-shell--atrakcje .elementor-4315 .elementor-element-67277f9 {
    width: min(92%, 480px);
    padding-inline: 12px;
  }
  .site-shell--atrakcje .elementor-4315 .elementor-element-772c7c9 .elementor-button {
    width: 100%;
    max-width: 280px;
    justify-content: center;
    margin-inline: auto;
  }
  .site-shell--atrakcje .elementor-1985 .elementor-element-63fbcb5 .elementor-button,
  .site-shell--atrakcje .elementor-1985 .elementor-element-a49d5a7 .elementor-button {
    width: 100%;
    max-width: 100%;
    justify-content: center;
    box-sizing: border-box;
  }
  .site-shell--atrakcje .elementor-1985 .elementor-element-fd078bb .elementor-heading-title,
  .site-shell--atrakcje .elementor-1985 .elementor-element-6640c5a .elementor-heading-title,
  .site-shell--atrakcje .elementor-1985 .elementor-element-a7c5732 .elementor-heading-title,
  .site-shell--atrakcje .elementor-1985 .elementor-element-9002768 .elementor-heading-title,
  .site-shell--atrakcje .elementor-1985 .elementor-element-a62bae7 .elementor-heading-title,
  .site-shell--atrakcje .elementor-1985 .elementor-element-79c5b47 .elementor-heading-title {
    max-width: 100%;
  }
  .site-shell--atrakcje .elementor-1985 .elementor-element-c8bddca,
  .site-shell--atrakcje .elementor-1985 .elementor-element-714a984,
  .site-shell--atrakcje .elementor-1985 .elementor-element-f6a5b7e,
  .site-shell--atrakcje .elementor-1985 .elementor-element-e4f64b9,
  .site-shell--atrakcje .elementor-1985 .elementor-element-ad00453,
  .site-shell--atrakcje .elementor-1985 .elementor-element-2a7e689 {
    padding-left: 0;
  }
  .site-shell--atrakcje .elementor-1985 .elementor-element-7efa7d8,
  .site-shell--atrakcje .elementor-1985 .elementor-element-2d7e047,
  .site-shell--atrakcje .elementor-1985 .elementor-element-be9c886,
  .site-shell--atrakcje .elementor-1985 .elementor-element-ef9814b,
  .site-shell--atrakcje .elementor-1985 .elementor-element-1dcca77,
  .site-shell--atrakcje .elementor-1985 .elementor-element-567cfc1 {
    flex-direction: column;
  }
}
.site-shell--atrakcje .elementor-1985 .elementor-widget-image-carousel.rotate-background {
  position: relative;
  z-index: 0;
  transform: rotate(-0.07deg);
  transition: transform 0.3s ease;
}

.site-shell--atrakcje .elementor-1985 .elementor-widget-image-carousel.rotate-background::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 99.6%;
  height: 99.6%;
  background-image: url("../images/atrakcje/img-stack-bckgr.webp");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  transform: rotate(-2.49deg) scale(1.01);
  z-index: -1;
  pointer-events: none;
}

.site-shell--atrakcje .elementor-1985 .elementor-widget-image-carousel .swiper-slide-inner,
.site-shell--atrakcje .elementor-1985 .elementor-widget-image-carousel .swiper-slide-image {
  border-radius: 6px;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.site-shell--atrakcje .elementor-1985 .elementor-widget-image-carousel .swiper-slide-inner {
  margin: 0;
}

.site-shell--atrakcje .elementor-1985 .elementor-widget-image-carousel .swiper-slide-image {
  display: block;
  width: 100%;
  height: auto;
}

.site-shell--atrakcje .elementor-1985 .elementor-image-carousel-wrapper.swiper {
  width: 100%;
  max-width: 100%;
  position: relative;
  overflow: hidden;
}

.site-shell--atrakcje .elementor-1985 .elementor-widget-image-carousel.elementor-arrows-position-inside .elementor-image-carousel-wrapper.swiper {
  overflow: visible !important;
}

.site-shell--atrakcje .elementor-1985 .elementor-arrows-position-inside .elementor-swiper-button {
  position: absolute;
  top: 50%;
  z-index: 12;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: -20px;
  cursor: pointer;
  color: #a68c7c;
  background: rgba(244, 241, 236, 0.92);
  border-radius: 50%;
  box-shadow: 0 2px 10px rgba(47, 30, 59, 0.12);
}

.site-shell--atrakcje .elementor-1985 .elementor-arrows-position-inside .elementor-swiper-button-prev {
  left: 10px;
}

.site-shell--atrakcje .elementor-1985 .elementor-arrows-position-inside .elementor-swiper-button-next {
  right: 10px;
}

.site-shell--atrakcje .elementor-1985 .elementor-arrows-position-inside .elementor-swiper-button svg {
  width: 22px;
  height: 22px;
}

.site-shell--atrakcje .elementor-1985 .elementor-pagination-position-outside .swiper-pagination {
  position: relative;
  margin-top: 16px;
  text-align: center;
}

.site-shell--atrakcje .elementor-1985 .elementor-pagination-position-outside .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background: var(--color-stone);
  opacity: 0.45;
}

.site-shell--atrakcje .elementor-1985 .elementor-pagination-position-outside .swiper-pagination-bullet-active {
  opacity: 1;
  background: var(--color-hotres-text);
}

.site-shell--atrakcje .elementor-1985 .atrakcje-testimonials-band {
  position: relative;
  min-height: 720px;
  padding-block: 80px 130px;
  background-color: var(--atrakcje-testimonials-bg);
}

.site-shell--atrakcje .elementor-1985 .atrakcje-testimonials-band__inner.e-con-inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: clamp(36px, 5vw, 56px);
}

.site-shell--atrakcje .elementor-1985 .atrakcje-testimonials-band .elementor-element-40015cc6 p {
  margin: 0;
  color: var(--color-paper);
}

.site-shell--atrakcje .elementor-1985 .atrakcje-testimonials-band .elementor-element-7650fde4 .elementor-heading-title {
  margin: 0;
  font-family: var(--font-heading);
  font-size: clamp(1.35rem, 2.5vw, 30px);
  line-height: 1.2;
  text-align: center;
  color: var(--color-paper);
}

.site-shell--atrakcje .elementor-1985 .atrakcje-testimonials-band .elementor-element-1dcb0ee5 {
  max-width: 720px;
  text-align: center;
  font-family: var(--font-sans);
  line-height: 1.55;
  color: rgba(244, 241, 236, 0.9);
}

.site-shell--atrakcje .elementor-1985 .atrakcje-testimonials-band .elementor-element-1dcb0ee5 p {
  margin: 0;
}

.site-shell--atrakcje .elementor-1985 .elementor-element-3ea6b6e {
  padding-block: 0;
  background-color: var(--color-paper);
}

.site-shell--atrakcje .elementor-4315 .elementor-element-c5d8c6e {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 400px;
  border: 2px solid var(--color-plum);
  border-radius: 6px;
  background-image: url("../images/live/CTA-naLATO.webp");
  background-position: center center;
  background-size: cover;
  box-sizing: border-box;
}

.site-shell--atrakcje .elementor-4315 .elementor-element-67277f9 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: min(80%, 520px);
  box-sizing: border-box;
}

.site-shell--atrakcje .elementor-4315 .elementor-element-a70c000 {
  margin: -15px 0 21px;
  font-family: var(--font-accent);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  text-align: center;
  color: var(--color-paper);
}

.site-shell--atrakcje .elementor-4315 .elementor-element-a70c000 p {
  margin: 0;
}

.site-shell--atrakcje .elementor-4315 .elementor-element-99ff6cb .elementor-icon-box-wrapper {
  text-align: center;
}

.site-shell--atrakcje .elementor-4315 .elementor-element-99ff6cb .elementor-icon-box-title {
  margin: 0 0 8px;
  font-family: var(--font-heading);
  font-size: clamp(2.5rem, 8vw, 68px);
  font-weight: 600;
  color: var(--color-green);
}

.site-shell--atrakcje .elementor-4315 .elementor-element-99ff6cb .elementor-icon-box-description {
  margin: 0;
  font-family: var(--font-medium-italic);
  font-size: clamp(1.25rem, 3vw, 28px);
  font-weight: 500;
  color: var(--color-paper);
}

.site-shell--atrakcje .elementor-4315 .elementor-element-772c7c9 .elementor-button {
  display: inline-flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: 24px;
  margin-top: 8px;
  padding: 10px 30px;
  border-radius: 3px;
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 400;
  text-decoration: none;
  color: var(--color-plum);
  background-color: var(--color-green);
  fill: var(--color-plum);
  border: none;
  cursor: pointer;
  transition: background-color 220ms ease, color 220ms ease;
}

.site-shell--atrakcje .elementor-4315 .elementor-element-772c7c9 .elementor-button:hover,
.site-shell--atrakcje .elementor-4315 .elementor-element-772c7c9 .elementor-button:focus-visible {
  background-color: var(--color-clay);
}

.site-shell--atrakcje .elementor-4315 .elementor-element-772c7c9 .elementor-button-icon svg {
  display: block;
}

/* Strona /domki — layout treści z migracji Elementor (skrócone klasy BEM) */
.container {
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: 16px;
}

.domki-page {
  --domki-max: min(920px, 100% - 32px);
  background: var(--color-paper);
  color: var(--color-text);
}

/* Hero — Elementor post-1126 (f8fcfbd / 50489ae / 088a02d), jak jagodowaosadatatry.pl/domki/ */
.domki-page__hero--split {
  padding: 0;
  margin: 0;
  background: none;
  color: inherit;
}

.domki-page__hero-inner {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch;
  min-height: 570px;
  width: 100%;
  gap: 0;
}

.domki-page__hero-copy {
  flex: 1 1 50%;
  min-width: 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
  gap: 50px;
  background-color: var(--color-stone, #a17e63);
  padding: 20px 36px 20px 20px;
}

.domki-page__hero-title {
  margin: 0;
  width: 100%;
  max-width: 26em;
  font-family: var(--font-italic);
  font-size: 52px;
  font-weight: 400;
  line-height: 1.12;
  color: #f4f1ec;
}

.domki-page__hero-prose {
  width: 100%;
  max-width: 36rem;
  margin: 0;
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 300;
  line-height: 1.65;
  color: #fff;
}

.domki-page__hero-prose p {
  margin: 0 0 1em;
}

.domki-page__hero-prose p:last-child {
  margin-bottom: 0;
}

.domki-page__hero-prose strong {
  font-weight: 600;
}

.domki-page__hero-visual {
  flex: 1 1 50%;
  min-width: 0;
  min-height: 420px;
  align-self: stretch;
  padding: 0;
  overflow: hidden;
}

.domki-page__hero-img {
  display: block;
  width: 100%;
  height: 570px;
  object-fit: cover;
  object-position: center;
}

@media (min-width: 1025px) {
  .domki-page__hero-copy {
    padding-left: max(40px, (100vw - 1130px) / 2);
    padding-right: 90px;
    padding-top: 0;
    padding-bottom: 0;
  }
}
@media (max-width: 1440px) and (min-width: 1025px) {
  .domki-page__hero-copy {
    padding-top: 20px;
    padding-bottom: 20px;
    padding-right: 36px;
  }
}
@media (max-width: 1024px) {
  .domki-page__hero-inner {
    flex-direction: column;
    min-height: 0;
  }
  .domki-page__hero-copy {
    flex: 1 1 auto;
    width: 100%;
    padding: 80px 30px;
  }
  .domki-page__hero-visual {
    flex: 1 1 auto;
    width: 100%;
    min-height: 542px;
  }
  .domki-page__hero-img {
    height: 100%;
    min-height: 542px;
  }
}
@media (max-width: 767px) {
  .domki-page__hero-copy {
    padding: 50px 30px;
  }
  .domki-page__hero-title {
    font-size: 34px;
  }
  .domki-page__hero-visual {
    min-height: 430px;
  }
  .domki-page__hero-img {
    min-height: 430px;
  }
}
/* Sekcja „Nasze domki” / chalk — Elementor 7921b58 + 699aac9 + d176a58 */
.domki-page__features--chalk {
  background-image: url("../images/live/chalk-paper-texture-img-t.jpg");
  background-position: 0 0;
  background-repeat: repeat;
  background-size: 520px auto;
}

.domki-page__features--chalk.domki-page__section {
  padding-top: 80px;
  padding-bottom: 80px;
}

.domki-page__features-eyebrow {
  margin: 0;
  text-align: center;
  font-family: var(--font-accent);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--color-plum-soft);
}

.domki-page__features-title {
  margin: 0 auto;
  padding: 0 0 40px;
  text-align: center;
  font-family: var(--font-heading);
  font-size: 30px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: var(--letter-heading-section);
  color: var(--color-hotres-text);
}

@media (max-width: 767px) {
  .domki-page__features-title {
    font-size: 26px;
  }
}
.domki-page__section {
  padding: 0;
}

/* Mapy: pełna szerokość (układ jak na /mapy); wewnętrzne sekcje mają własny padding-inline */
.site-shell--domki .domki-page__maps.domki-page__section {
  padding-inline: 0;
}

.domki-page__section .container {
  max-width: var(--container-max);
  margin-inline: auto;
}

.domki-page__h2 {
  margin: 0 0 1.25rem;
  font-family: var(--font-heading);
  font-size: var(--fs-h-section-lg);
  font-weight: 600;
  line-height: var(--lh-heading-tight);
  letter-spacing: var(--letter-heading-section);
  color: var(--color-plum);
}

.domki-page__h2--spaced {
  margin-top: clamp(2.5rem, 5vw, 3.5rem);
}

.domki-page__intro .narrow-copy,
.domki-page__contact-cta .narrow-copy {
  max-width: 760px;
  margin-inline: auto;
}

/* Pas domków — Elementor d3c796a: gap/padding 80px, tło 97d4eaa, dół 160px; wiersze eaece66 / 9b0f92a / 0ae8012 */
.domki-page__cabins-band.domki-page__section {
  --domki-cabins-band-accent: var(--color-hotres-text, #413957);
  padding: 100px clamp(16px, 4vw, 30px) 160px;
  background-image: url("../images/live/chalk-paper-texture-img-t.jpg");
}

.domki-page__cabins-band-inner {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 80px;
  width: 100%;
}

/* Siatka 2× jak Elementor: column-gap i row-gap 80px (nie mniejszy clamp) */
.domki-page__cabins-band-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 80px;
  row-gap: 80px;
  align-items: stretch;
  width: 100%;
}

/* c8bddca: treść lead wyśrodkowana w pionie względem sąsiedniej kolumny */
.domki-page__cabins-band-row--lead .domki-page__cabins-band-copy {
  justify-content: center;
}

.domki-page__cabins-band-copy {
  min-width: 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}

/* 02abe95 / 9cdb5c5 / … — „fotokartka” z paddingiem 40px wokół nagłówków i galerii */
.domki-page__cabins-band-card {
  min-width: 0;
  box-sizing: border-box;
  padding: 40px;
}

/* 4c9bdd1…: stos ~95% szerokości kolumny (jak width widgetu na źródle) */
.site-shell--domki .domki-page__cabins-band .domki-cabin-stack.photo-stack {
  width: 95%;
  max-width: 95%;
  margin-inline: auto;
  justify-self: center;
}

/* fd078bb — kolor nagłówka jak 5f9ee14 w kit */
.domki-page__same-title {
  margin: 0;
  padding: 0 0 40px;
  font-family: var(--font-heading);
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2em;
  letter-spacing: var(--letter-heading-section);
  color: var(--domki-cabins-band-accent, var(--color-hotres-text));
}

/* 533c36c — tylko edytor tekstu: padding-right 50px (nie sama kolumna) */
.domki-page__cabins-band-copy .domki-page__same-prose {
  width: 100%;
  padding-right: 50px;
  box-sizing: border-box;
}

.domki-page__cabins-band .domki-page__same-prose p {
  margin: 0 0 1em;
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.65;
  color: var(--color-text);
}

.domki-page__cabins-band .domki-page__same-prose p:last-child {
  margin-bottom: 0;
}

.domki-page__cabins-band .domki-page__same-prose strong {
  font-weight: 700;
}

/* 8be125b + 4d12a78 — numer domku mniejszy italic, nazwa drzewa większa */
.domki-cabin--in-band {
  margin: 0;
  padding: 0;
  border: none;
}

.domki-cabin__head--band {
  margin: 0;
}

.domki-page__cabins-band .domki-cabin__nr {
  margin: 0;
  font-family: var(--font-italic);
  font-size: 20px;
  font-weight: 400;
  line-height: 1.2;
  color: var(--domki-cabins-band-accent, var(--color-hotres-text));
}

.domki-page__cabins-band .domki-cabin__tree {
  margin: 0;
  padding: 0 0 40px;
  font-family: var(--font-heading);
  font-size: 32px;
  font-weight: 700;
  line-height: 1.2em;
  letter-spacing: var(--letter-heading-section);
  color: var(--domki-cabins-band-accent, var(--color-hotres-text));
}

.domki-page__cta-wrap--band {
  margin: 0;
  justify-content: center;
  width: 100%;
}

@media (max-width: 1200px) {
  .domki-page__cabins-band.domki-page__section {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media (max-width: 1024px) {
  .domki-page__cabins-band-row {
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: 80px;
  }
  .domki-page__cabins-band-copy .domki-page__same-prose {
    padding-right: 0;
  }
}
@media (max-width: 767px) {
  .domki-page__same-title {
    padding-bottom: 28px;
    font-size: 26px;
  }
  .domki-page__cabins-band-inner {
    gap: 48px;
  }
  .domki-page__cabins-band-card {
    padding: 24px;
  }
  .domki-page__cabins-band .domki-cabin__tree {
    font-size: 26px;
    padding-bottom: 28px;
  }
  .domki-page__cabins-band.domki-page__section {
    padding-top: 100px;
    padding-bottom: 120px;
    padding-left: 30px;
    padding-right: 30px;
  }
}
.domki-page__prose p {
  margin: 0 0 1rem;
  color: var(--color-muted);
  font-size: clamp(1rem, 1.35vw, 1.12rem);
  line-height: 1.65;
}

.domki-page__prose p:last-child {
  margin-bottom: 0;
}

/* „Każdy z nich posiada” — 4 kolumny w rzędzie jak na stronie źródłowej; tablet 2×2, mobile 1 */
.site-shell--domki .domki-page__features--chalk .domki-page__feature-grid--icons {
  display: grid;
  gap: 30px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1024px) {
  .site-shell--domki .domki-page__features--chalk .domki-page__feature-grid--icons {
    gap: 20px 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 767px) {
  .site-shell--domki .domki-page__features--chalk .domki-page__feature-grid--icons {
    gap: 20px;
    grid-template-columns: 1fr;
  }
}
/* Kafle bez „kart” — jak icon-box na kredzie (post-1126): ikona + tekst, gap 10px */
.domki-page__icon-box {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  border: none;
}

.domki-page__icon-box-ico {
  flex-shrink: 0;
}

.domki-page__icon-box-ico .elementor-icon {
  display: flex;
  width: 56px;
  height: 48px;
  align-items: center;
  justify-content: flex-start;
}

.domki-page__icon-box-ico svg {
  max-width: 100%;
  max-height: 48px;
  width: auto;
  height: auto;
}

.domki-page__icon-box .elementor-icon-box-title {
  margin: 0;
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.35;
  text-transform: lowercase;
  color: var(--color-text, #2f1e3b);
}

.domki-page__icon-box .elementor-icon-box-title span {
  display: inline-block;
}

.domki-page__icon-box .elementor-icon-box-description {
  margin: 0;
  color: var(--color-text, #2f1e3b);
  font-size: 15px;
  font-weight: 300;
  line-height: 1.55;
}

/* (Galerie domków = .domki-cabin-stack + data-photo-stack; stary selektor zostaje na wycofanie) */
.site-shell--domki .domki-cabin-stack.rotate-background {
  position: relative;
  z-index: 0;
  transform: rotate(-0.77deg);
  transition: transform 0.3s ease;
}

.site-shell--domki .domki-cabin-stack.rotate-background::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 99%;
  height: 99%;
  background-image: url("../images/atrakcje/img-stack-bckgr.webp");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  transform: rotate(-3.99deg) scale(0.99);
  z-index: -1;
  pointer-events: none;
}

@media (min-width: 1024px) {
  .site-shell--domki .domki-cabin-stack.rotate-background::before {
    background-attachment: fixed;
  }
}
/* Warstwy pod strzałkami (figury z transform tworzą konteksty i bez z-index mogły przechwytywać kliki). */
.site-shell--domki .domki-page__cabins-band .domki-cabin-stack figure.stack-img {
  z-index: 1;
}

/* Obrócenia warstw — nth-of-type tylko na <figure>, żeby nie łapać przycisków .stack-nav */
.site-shell--domki .domki-page__cabins-band .domki-cabin-stack figure.stack-img:nth-of-type(1) {
  transform: rotate(-5deg) translate(-22px, 18px);
}

.site-shell--domki .domki-page__cabins-band .domki-cabin-stack figure.stack-img:nth-of-type(2) {
  transform: rotate(3deg) translate(20px, 12px);
}

.site-shell--domki .domki-page__cabins-band .domki-cabin-stack figure.stack-img:nth-of-type(3) {
  transform: rotate(-2deg) translate(-8px, -10px);
}

.site-shell--domki .domki-page__cabins-band .domki-cabin-stack figure.stack-img:nth-of-type(4) {
  transform: rotate(0deg);
}

.site-shell--domki .domki-page__cabins-band .domki-cabin-stack figure.stack-img:nth-of-type(5) {
  transform: rotate(4deg) translate(12px, -8px);
}

/* Stos jak źródło / sekcja „O okolicy”: bez białej podkładki i obramowania */
.site-shell--domki .domki-page__cabins-band .domki-cabin-stack .stack-img {
  box-sizing: border-box;
  background: transparent;
  padding: 0;
  border-radius: 0;
  box-shadow: none;
}

.site-shell--domki .domki-page__cabins-band .domki-cabin-stack .stack-img img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
  object-position: center;
  border: 0;
  box-sizing: border-box;
  border-radius: 6px;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

/* Wyższa specyficzność niż nth-child — animacja zdejmowania warstwy (app.js data-photo-stack) */
.site-shell--domki .domki-page__cabins-band .domki-cabin-stack .stack-img.hidden-layer {
  opacity: 0;
  transform: translateX(120px) rotate(8deg);
  pointer-events: none;
}

.site-shell--domki .domki-page__cabins-band .domki-cabin-stack .stack-img.no-anim {
  transition: none;
}

/* Strzałki jak przy karuzeli Elementor (jasne kółko, brązowa ikona) */
.site-shell--domki .domki-page__cabins-band .domki-cabin-stack .stack-nav {
  position: absolute;
  z-index: 20;
  pointer-events: auto;
  cursor: pointer;
  width: 40px;
  height: 40px;
  padding: 0;
  border: none;
  color: #a68c7c;
  background: rgba(244, 241, 236, 0.92);
  box-shadow: 0 2px 10px rgba(47, 30, 59, 0.12);
}

.site-shell--domki .domki-page__cabins-band .domki-cabin-stack .stack-nav__icon {
  width: 22px;
  height: 22px;
}

.site-shell--domki .domki-page__cabins-band .domki-cabin-stack .prev-btn {
  left: -40px;
}

.site-shell--domki .domki-page__cabins-band .domki-cabin-stack .next-btn {
  right: -40px;
}

@media (max-width: 620px) {
  .site-shell--domki .domki-page__cabins-band .domki-cabin-stack .prev-btn {
    left: 6px;
  }
  .site-shell--domki .domki-page__cabins-band .domki-cabin-stack .next-btn {
    right: 6px;
  }
}
/* Układ pomieszczeń — Elementor 1126 (087f08d / ba53ac7 / 3ce2f3d): białe tło, ikony, separatory #c0d0bb */
.domki-page__layout {
  --domki-layout-border: #c0d0bb;
  background-color: #fff;
}

.domki-page__layout.domki-page__section {
  padding-top: 71px;
}

.domki-page__layout-heading {
  margin: 0 0 0.35rem;
  text-align: center;
  font-family: var(--font-heading);
  font-size: 24px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: var(--letter-heading-section, 0);
  color: var(--color-text, #2f1e3b);
}

.domki-page__layout-intro {
  margin: 0 0 clamp(2rem, 4vw, 2.75rem);
  max-width: none;
  text-align: left;
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.65;
  color: var(--color-text, #2f1e3b);
}

.domki-page__floor--layout {
  margin-bottom: clamp(2rem, 5vw, 3.5rem);
}

.domki-page__floor--layout:last-child {
  margin-bottom: 0;
}

.domki-page__floor-title--layout {
  margin: 0 0 1.25rem;
  font-family: var(--font-heading);
  font-size: 24px;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: var(--letter-heading-section, 0);
  color: var(--color-text, #2f1e3b);
}

.domki-page__floor-rooms {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  width: 100%;
}

.domki-page__floor-room {
  flex: 1 1 0;
  min-width: 0;
  padding: 0 clamp(14px, 2.2vw, 28px);
  border-right: 1px solid var(--domki-layout-border);
  box-sizing: border-box;
}

.domki-page__floor-room:last-child {
  border-right: none;
  padding-right: 0;
}

.domki-page__floor-room:first-child {
  padding-left: 0;
}

.site-shell--domki .domki-page__layout .domki-page__icon-box--layout {
  gap: 10px;
  padding: 0;
}

.site-shell--domki .domki-page__layout .domki-page__icon-box.domki-page__icon-box--layout,
.site-shell--domki .domki-page__layout .elementor-icon-box-wrapper.domki-page__icon-box--layout {
  text-align: start;
}

.site-shell--domki .domki-page__layout .domki-page__icon-box--layout .elementor-icon-box-title {
  margin: 0;
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.35;
  text-transform: none;
  color: #533f51;
}

.site-shell--domki .domki-page__layout .domki-page__icon-box--layout .elementor-icon-box-description {
  margin: 0;
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.55;
  color: #533f51;
}

.site-shell--domki .domki-page__layout .domki-page__icon-box--layout .elementor-icon-box-description strong {
  font-weight: 700;
}

.domki-page__layout .domki-page__icon-box-ico--layout {
  flex-shrink: 0;
}

.domki-page__layout .domki-page__icon-box-ico--layout .elementor-icon {
  display: flex;
  width: auto;
  height: auto;
  min-height: 40px;
  align-items: center;
  justify-content: flex-start;
}

.domki-page__layout .domki-page__icon-box-ico--layout svg {
  display: block;
  max-width: 100%;
  width: auto;
  height: auto;
  max-height: 44px;
}

@media (max-width: 1024px) {
  .domki-page__floor-rooms {
    flex-direction: column;
    flex-wrap: nowrap;
  }
  .domki-page__floor-room {
    border-right: none;
    border-bottom: 1px solid var(--domki-layout-border);
    padding: clamp(1.1rem, 3vw, 1.35rem) 0;
  }
  .domki-page__floor-room:first-child {
    padding-top: 0;
  }
  .domki-page__floor-room:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }
}
@media (max-width: 767px) {
  .domki-page__layout-heading {
    font-size: 22px;
  }
  .domki-page__floor-title--layout {
    font-size: 22px;
  }
}
.domki-cabin {
  margin-bottom: clamp(3rem, 6vw, 4.5rem);
  padding-bottom: clamp(2rem, 4vw, 3rem);
  border-bottom: 1px solid var(--color-line);
}

.domki-cabin:last-of-type {
  border-bottom: 0;
}

.domki-cabin__head {
  margin-bottom: 1.25rem;
}

.domki-cabin__name {
  margin: 6px 0 0;
  font-family: var(--font-accent);
  font-size: 1.35rem;
  font-weight: 400;
  color: var(--color-stone);
}

.domki-page__cta-wrap {
  margin: clamp(2rem, 4vw, 3rem) 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
}

/* Udogodnienia w domku — Elementor 3019f89: tło = e-global-color-primary (jasny jak papier), nagłówek 9d4b1c0; pełna szerokość + padding jak pas domków */
.site-shell--domki .domki-page__amenities-band--cabin {
  box-sizing: border-box;
  width: 100%;
  margin: 0 auto;
  padding: clamp(56px, 10vw, 80px) clamp(16px, 4vw, 30px) clamp(80px, 12vw, 120px);
  background-color: #fff;
}

/* Wspólne przestrzenie — 11c53f8: ciemne tło jak hotres-text */
.site-shell--domki .domki-page__amenities-band--shared {
  box-sizing: border-box;
  width: 100%;
  padding: clamp(56px, 10vw, 80px) clamp(16px, 4vw, 30px) clamp(80px, 12vw, 120px);
  background-color: #967766;
}

.site-shell--domki .domki-page__h2--amenities {
  margin: 0;
  padding: 0 0 40px;
  text-align: center;
  font-family: var(--font-medium-italic);
  font-size: clamp(28px, 4vw, 38px);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: var(--letter-heading-section);
}

.site-shell--domki .domki-page__h2--amenities-cabin {
  color: var(--color-hotres-text, #413957);
}

.site-shell--domki .domki-page__h2--amenities-shared {
  color: var(--color-paper, #f4f1ec);
}

.site-shell--domki .domki-page__amenity-icon-grid {
  display: grid;
  gap: 5px;
  width: 100%;
}

.site-shell--domki .domki-page__amenity-icon-grid--4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.site-shell--domki .domki-page__amenity-icon-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 900px) {
  .site-shell--domki .domki-page__amenity-icon-grid--4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px) {
  .site-shell--domki .domki-page__amenity-icon-grid--4,
  .site-shell--domki .domki-page__amenity-icon-grid--3 {
    grid-template-columns: 1fr;
  }
}
.site-shell--domki .domki-page__icon-list-items {
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-shell--domki .domki-page__icon-list-item {
  display: flex;
  align-items: center;
  margin: 0;
}

.site-shell--domki .domki-page__icon-list-item:not(:last-child) {
  margin-bottom: 15px;
}

.site-shell--domki .domki-page__icon-list-icon {
  box-sizing: content-box;
  flex-shrink: 0;
  width: 27px;
  height: 27px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-inline-end: 5px;
}

.site-shell--domki .domki-page__amenities-band--shared .domki-page__icon-list-icon {
  width: 28px;
  height: 28px;
}

.site-shell--domki .domki-page__icon-list-icon svg {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.site-shell--domki .domki-page__icon-list-text {
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.45;
}

.site-shell--domki .domki-page__amenities-band--cabin .domki-page__icon-list-text {
  color: var(--color-text, #2f1e3b);
}

.site-shell--domki .domki-page__amenities-band--shared .domki-page__icon-list-text {
  color: var(--color-paper, #f4f1ec);
}

.domki-page__ul {
  margin: 0;
  padding: 0 0 0 1.15rem;
  color: var(--color-muted);
  line-height: 1.6;
  font-size: 0.98rem;
}

.domki-page__ul li {
  margin-bottom: 6px;
}

.domki-page__ul--compact {
  padding-left: 1.1rem;
  font-size: 0.92rem;
}

/* „O okolicy” — Elementor cdad591 (chalk + overlay 0.53, min-height ~82vh, gap 40) + cdaaa15 / 32f9ae4 / da2a30a */
.site-shell--domki .domki-page__around.domki-page__section {
  position: relative;
  isolation: isolate;
  min-height: clamp(560px, 82vh, 960px);
  padding: clamp(72px, 10vw, 100px) clamp(16px, 4vw, 30px);
  background-color: var(--color-paper-deep, #e7e2db);
  background-image: url("../images/live/chalk-paper-texture-img-t.jpg");
  background-repeat: repeat;
  background-size: 520px auto;
  background-position: 0 0;
}

.site-shell--domki .domki-page__around.domki-page__section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  /* Jak warstwa z przezroczystością na kredzie (Elementor 75dd447 / cdad591) — czytelność treści */
  background-color: rgba(244, 241, 236, 0.53);
}

.site-shell--domki .domki-page__around .domki-page__around-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.site-shell--domki .domki-page__around-row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(28px, 4vw, 40px);
}

.site-shell--domki .domki-page__around-copy {
  flex: 1 1 300px;
  max-width: 540px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding-right: clamp(0px, 3vw, 70px);
}

.site-shell--domki .domki-page__around-eyebrow {
  margin: 0;
  font-family: var(--font-accent);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--color-header-bar, #967766);
}

.site-shell--domki .domki-page__around-title.domki-page__h2 {
  margin: 0;
  color: var(--color-plum, #2f1e3b);
}

.site-shell--domki .domki-page__around-prose {
  margin: 0;
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 300;
  line-height: 1.75;
  color: var(--color-text, #2f1e3b);
}

@media (min-width: 768px) {
  .site-shell--domki .domki-page__around-prose {
    line-height: 2.05;
  }
}
.site-shell--domki .domki-page__around-prose p {
  margin: 0;
}

.site-shell--domki .domki-page__around-media {
  flex: 1 1 280px;
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: min(100%, 320px);
}

/* Stos zdjęć: polaroid + podkład img-stack jak karuzele domków */
.site-shell--domki .domki-page__photo-stack--around.rotate-background {
  position: relative;
  z-index: 0;
  transform: rotate(-0.77deg);
  transition: transform 0.3s ease;
}

.site-shell--domki .domki-page__photo-stack--around.rotate-background::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 99%;
  height: 99%;
  background-image: url("../images/atrakcje/img-stack-bckgr.webp");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  transform: rotate(-3.99deg) scale(0.99);
  z-index: -1;
  pointer-events: none;
}

.site-shell--domki .domki-page__photo-stack--around .stack-img img {
  border-radius: 6px;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
  border: 0;
}

.site-shell--domki .domki-page__around-cta.domki-page__cta-wrap {
  margin: 0;
  padding: 40px 0 0;
  justify-content: center;
}

.site-shell--domki .domki-page__around-cta .button {
  padding: 16px 20px;
  font-size: 16px;
}

@media (max-width: 767px) {
  .site-shell--domki .domki-page__around-copy {
    padding-right: 0;
  }
  .site-shell--domki .domki-page__photo-stack--around {
    width: min(100%, 420px);
  }
}
.site-shell--domki .domki-page__distances {
  padding: 3rem 0;
}

.site-shell--domki .domki-page__distance-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: clamp(2rem, 6vw, 7.5rem);
  row-gap: clamp(2rem, 4vw, 3.125rem);
  align-items: start;
  text-align: start;
}

.site-shell--domki .domki-page__distance-item {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  box-shadow: none;
}

.site-shell--domki .domki-page__distance-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 0.15em;
}

.site-shell--domki .domki-page__distance-icon svg {
  display: block;
  width: clamp(24px, 2.2vw, 28px);
  height: auto;
}

.site-shell--domki .domki-page__distance-body {
  min-width: 0;
}

.site-shell--domki .domki-page__distance-title {
  margin: 0 0 0.35em;
  font-family: var(--font-sans);
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.35;
  color: var(--color-text, #2f1e3b);
}

.site-shell--domki .domki-page__distance-kicker {
  font-weight: 600;
  text-transform: none;
  color: inherit;
}

.site-shell--domki .domki-page__distance-desc {
  margin: 0;
  font-family: var(--font-sans, Inter, "Segoe UI", Arial, sans-serif);
  font-size: 15px;
  font-weight: 300;
  line-height: 1.5;
  color: var(--color-text, #2f1e3b);
}

@media (max-width: 1023px) {
  .site-shell--domki .domki-page__distance-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(1.5rem, 4vw, 3rem);
  }
}
@media (max-width: 599px) {
  .site-shell--domki .domki-page__distance-grid {
    grid-template-columns: 1fr;
    row-gap: clamp(1.25rem, 4vw, 2rem);
  }
}
/* „Informacje dodatkowe” — style w tym samym app.css co reszta /domki (niezależny link często 404 przy innym docroot / basePath). */
/* „Informacje dodatkowe” — jak Elementor post-1126; zakres po #informacje-dodatkowe,
   żeby style zawsze trafiały w sekcję (nie zależą od .site-shell--domki w drzewie / w podglądzie). */
#informacje-dodatkowe.domki-page__info {
  --domki-info-icon-size: 20px;
  --domki-info-icon-gap-end: 5px;
  box-sizing: border-box;
  width: 100%;
  height: fit-content;
  max-width: 100%;
  contain: layout;
  scroll-margin-top: clamp(88px, 14vw, 120px);
  position: relative;
  z-index: 1;
  isolation: isolate;
  padding: 80px 0 120px;
  background-color: #fff;
}

#informacje-dodatkowe .domki-page__info-eyebrow {
  margin: 0;
  text-align: center;
  font-family: var(--font-accent, "Cutive", Georgia, serif);
  font-size: 11px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: normal;
  color: var(--color-plum-soft, #533f51);
}

#informacje-dodatkowe .domki-page__info-board {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 5px;
  row-gap: 25px;
  padding-top: 50px;
  padding-bottom: 25px;
  grid-template-areas: "info-h-checkin info-h-safety-d" "info-l-checkin info-l-safety";
}

#informacje-dodatkowe .domki-page__info-heading--checkin {
  grid-area: info-h-checkin;
}

#informacje-dodatkowe .domki-page__info-heading--safety-desktop {
  grid-area: info-h-safety-d;
}

#informacje-dodatkowe .domki-page__info-list-wrap--checkin {
  grid-area: info-l-checkin;
}

#informacje-dodatkowe .domki-page__info-heading--safety-mobile {
  display: none;
  grid-area: info-h-safety-m;
}

#informacje-dodatkowe .domki-page__info-list-wrap--safety {
  grid-area: info-l-safety;
}

#informacje-dodatkowe .domki-page__info-col-title {
  margin: 0;
  align-self: start;
  font-family: var(--font-medium-italic, "Mirador Medium Italic", Georgia, serif);
  font-size: 24px;
  font-weight: 500;
  line-height: 1.2;
  color: var(--color-text, #2f1e3b);
}

#informacje-dodatkowe .domki-page__info-list-wrap--checkin,
#informacje-dodatkowe .domki-page__info-list-wrap--safety {
  width: 64%;
  max-width: 64%;
  justify-self: start;
}

#informacje-dodatkowe .domki-page__info-icon-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}

#informacje-dodatkowe .domki-page__icon-list-item {
  display: flex;
  align-items: center;
  margin: 0;
}

#informacje-dodatkowe .domki-page__icon-list-item:not(:last-child) {
  margin-bottom: 0;
}

#informacje-dodatkowe .domki-page__icon-list-icon {
  box-sizing: content-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: var(--domki-info-icon-size);
  min-width: var(--domki-info-icon-size);
  max-width: var(--domki-info-icon-size);
  height: var(--domki-info-icon-size);
  min-height: var(--domki-info-icon-size);
  max-height: var(--domki-info-icon-size);
  padding-inline-end: var(--domki-info-icon-gap-end);
  margin-top: 0;
  line-height: 0;
}

#informacje-dodatkowe .domki-page__icon-list-icon svg {
  display: block;
  width: var(--domki-info-icon-size);
  height: var(--domki-info-icon-size);
  max-width: var(--domki-info-icon-size);
  max-height: var(--domki-info-icon-size);
  flex-shrink: 0;
  object-fit: contain;
}

#informacje-dodatkowe .domki-page__icon-list-text {
  flex: 1 1 auto;
  min-width: 0;
  font-family: var(--font-sans, "Inter", "Segoe UI", Arial, sans-serif);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-text, #2f1e3b);
}

@media (max-width: 767px) {
  #informacje-dodatkowe.domki-page__info {
    padding: clamp(56px, 12vw, 80px) 0 clamp(72px, 14vw, 120px);
  }
  #informacje-dodatkowe .domki-page__info-board {
    grid-template-columns: 1fr;
    padding-top: 36px;
    padding-bottom: 20px;
    row-gap: 10px;
    column-gap: 0;
    grid-template-areas: "info-h-checkin" "info-l-checkin" "info-h-safety-m" "info-l-safety";
  }
  #informacje-dodatkowe .domki-page__info-list-wrap--checkin,
  #informacje-dodatkowe .domki-page__info-list-wrap--safety {
    width: 100%;
    max-width: 100%;
  }
  #informacje-dodatkowe .domki-page__info-heading--safety-desktop {
    display: none;
  }
  #informacje-dodatkowe .domki-page__info-heading--safety-mobile {
    display: block;
    margin-top: 18px;
  }
  #informacje-dodatkowe .domki-page__info-col-title {
    font-size: 22px;
  }
}
.domki-page__contact-cta {
  text-align: center;
  padding: clamp(2.25rem, 5vw, 4rem);
}

.domki-page__contact-cta .domki-page__h2 {
  text-align: center;
}

.domki-page__contact-cta p {
  margin: 1rem auto 0;
  max-width: 560px;
  color: var(--color-muted);
}

.domki-page__contact-cta .domki-page__cta-wrap {
  justify-content: center;
}

.site-shell--kontakt .site-main--kontakt {
  overflow-x: clip;
}

/* --- Hero split (06e1ec5 + 16342fc + d83f12d) --- */
.kontakt-page__hero-split {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.kontakt-page__hero-copy {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: clamp(24px, 4vw, 50px);
  padding: clamp(48px, 10vw, 100px) clamp(24px, 5vw, 48px) clamp(40px, 8vw, 64px);
  background-color: var(--e-global-color-accent, #2f1e3b);
  box-sizing: border-box;
}

.kontakt-page__hero-title {
  margin: 0;
  max-width: 12ch;
  font-family: var(--font-italic, var(--font-heading));
  font-size: clamp(34px, 6vw, 52px);
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: var(--letter-heading-section);
  color: #f4f1ec;
}

.kontakt-page__hero-lead {
  margin: 0;
  max-width: 20rem;
  font-family: var(--font-sans);
  font-size: clamp(1rem, 2vw, 1.125rem);
  font-weight: 400;
  line-height: 1.55;
  text-align: left;
  color: #f4f1ec;
}

.kontakt-page__hero-photo {
  flex: 1 1 50%;
  min-height: clamp(280px, 42vw, 443px);
  background-color: #2a1f35;
  background-image: url("../images/live/jagodowa-osada-widok-na-gory-koscielisko-t.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

@media (min-width: 768px) {
  .kontakt-page__hero-split {
    flex-direction: row;
    min-height: 440px;
  }
  .kontakt-page__hero-copy,
  .kontakt-page__hero-photo {
    flex: 1 1 50%;
    width: 50%;
    max-width: 50%;
  }
  .kontakt-page__hero-copy {
    align-items: flex-end;
    text-align: right;
    padding-right: clamp(28px, 4vw, 56px);
    padding-left: clamp(24px, 5vw, max(24px, (100vw - 1140px) / 2));
  }
  .kontakt-page__hero-lead {
    text-align: right;
  }
}
/* --- Form band: chalk, 2 kolumny (884b8c5) --- */
.kontakt-page__form-band {
  position: relative;
  padding: clamp(72px, 12vw, 100px) 0 clamp(88px, 14vw, 120px);
  background-color: #e8e4df;
  background-image: url("../images/live/chalk-paper-texture-img-t.jpg");
  background-size: 520px auto;
  background-position: 0 0;
}

.kontakt-page__form-band-inner {
  display: flex;
  flex-direction: column;
  gap: clamp(32px, 5vw, 48px);
  align-items: stretch;
  max-width: min(100%, var(--container-max-width, 1140px));
}

@media (min-width: 768px) {
  .kontakt-page__form-band-inner {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: clamp(28px, 4vw, 60px);
  }
  .kontakt-page__form-intro,
  .kontakt-page__form-stack {
    flex: 1 1 50%;
    width: 50%;
    max-width: 50%;
  }
}
.kontakt-page__band-h2 {
  margin: 0;
  font-family: var(--font-heading);
  font-size: clamp(26px, 3.4vw, 32px);
  font-weight: 600;
  line-height: 1.2;
  color: var(--color-text, #2f1e3b);
}

.kontakt-page__band-intro {
  margin: 0;
  max-width: 100%;
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.65;
  color: var(--color-text, #2f1e3b);
}

@media (min-width: 900px) {
  .kontakt-page__band-intro {
    max-width: 59%;
  }
}
.kontakt-page__form-intro {
  display: flex;
  flex-direction: column;
  gap: clamp(24px, 3vw, 40px);
}

.kontakt-page__flash {
  margin: 0;
  padding: 14px 16px;
  border-radius: 6px;
  font-size: 0.95rem;
}

.kontakt-page__flash--success {
  background: rgba(47, 30, 59, 0.06);
  border: 1px solid var(--color-line);
  color: var(--color-plum);
}

.kontakt-page__flash--error {
  background: rgba(180, 35, 24, 0.08);
  border: 1px solid rgba(180, 35, 24, 0.35);
  color: #6f2318;
}

/* --- Form (Elementor field style: tylko dolna kreska) --- */
.kontakt-form--elementor {
  position: relative;
  width: 100%;
  max-width: 100%;
}

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

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

.kontakt-form--elementor .kontakt-form__row {
  margin: 0 0 20px;
}

.kontakt-form--elementor .kontakt-form__control {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 10px 0 12px;
  border: none;
  border-bottom: 1px solid var(--color-clay, #a17e63);
  border-radius: 0;
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-text, #2f1e3b);
  background: transparent;
  transition: border-color 0.2s ease;
}

.kontakt-form--elementor .kontakt-form__control::placeholder {
  color: rgba(47, 30, 59, 0.45);
}

.kontakt-form--elementor .kontakt-form__control:focus {
  outline: none;
  border-bottom-color: var(--color-plum, #2f1e3b);
}

.kontakt-form--elementor .kontakt-form__control--textarea {
  min-height: 8rem;
  resize: vertical;
}

.kontakt-form--elementor .kontakt-form__row--rodo {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 10px;
  margin-top: 8px;
}

.kontakt-form--elementor .kontakt-form__row--rodo input[type=checkbox] {
  flex-shrink: 0;
  width: 17px;
  height: 17px;
  margin: 4px 0 0;
  accent-color: var(--color-plum);
}

.kontakt-form--elementor .kontakt-form__row--rodo label {
  margin: 0;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.55;
  color: var(--color-text, #2f1e3b);
}

.kontakt-form--elementor .kontakt-form__row--rodo label a {
  color: var(--color-dust, #a17e63);
  font-weight: 600;
}

.kontakt-form--elementor ul li {
  color: #b42318;
  font-size: 0.88rem;
}

.kontakt-form__recaptcha-note {
  margin: 10px 0 0;
  max-width: 42rem;
  font-size: 11px;
  line-height: 1.45;
  color: rgba(47, 30, 59, 0.55);
}

.kontakt-form__recaptcha-note a {
  color: var(--color-dust, #a17e63);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.kontakt-form__actions {
  margin: 24px 0 0;
  display: flex;
  justify-content: flex-end;
}

.kontakt-form__submit {
  display: inline-flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: center;
  gap: 15px;
  padding: 10px 16px;
  border: none;
  border-radius: 0;
  font-family: var(--font-accent);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--color-paper, #f4f1ec);
  background-color: var(--color-clay, #a17e63);
  cursor: pointer;
  transition: color 0.2s ease, background-color 0.2s ease;
}

.kontakt-form__submit:hover {
  color: #fff;
  background-color: var(--color-plum-soft, #4a3b55);
}

.kontakt-form__submit-ico {
  display: flex;
  line-height: 0;
  color: currentColor;
}

/* --- Kontakt + mapa — Elementor 32fc948 (e-con parent + 2× e-child / widgets) --- */
.kontakt-page__contact-map.elementor-element-32fc948 {
  padding: clamp(72px, 12vw, 120px) 0;
  background-color: #f4f1ec;
  box-sizing: border-box;
}

.kontakt-page__contact-map-inner.e-con-inner {
  display: flex;
  flex-direction: column;
  gap: clamp(32px, 5vw, 48px);
  align-items: stretch;
  width: 100%;
  box-sizing: border-box;
}

/* Zawsze: dane kontaktowe → potem mapa na pełną szerokość (jak źródło WP) */
.kontakt-page__contact-map-inner > .elementor-element.e-con.e-child {
  width: 100%;
  max-width: 100%;
  flex: 0 0 auto;
}

.kontakt-page__contact-column-inner.e-con-inner {
  display: flex;
  flex-direction: column;
  gap: 40px;
  width: 100%;
  box-sizing: border-box;
}

.kontakt-page__contact-lines-inner.e-con-inner {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  width: 100%;
  box-sizing: border-box;
}

.kontakt-page__contact-lines.e-con.e-child {
  width: 100%;
}

.kontakt-page__contact-col.e-con.e-child {
  flex: 1 1 auto;
  min-width: 0;
}

.kontakt-page__contact-col {
  margin: 0;
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.6;
  color: var(--color-text, #2f1e3b);
}

.kontakt-page__contact-col .elementor-widget-container p {
  margin: 0;
}

.kontakt-page__contact-col a {
  color: var(--color-text, #2f1e3b);
  font-weight: 600;
  text-decoration: none;
}

.kontakt-page__contact-col a:hover {
  text-decoration: underline;
}

.kontakt-page__contact-map .elementor-widget-heading .elementor-heading-title {
  margin: 0;
}

.kontakt-page__map-outer-link {
  margin-top: 12px !important;
}

.kontakt-page__map-outer-link a {
  color: var(--color-dust, #a17e63);
}

.kontakt-page__map-aside .elementor-widget-html .elementor-widget-container {
  width: 100%;
}

.kontakt-page__map-border {
  border: 3px solid var(--color-plum, #2f1e3b);
  border-radius: 6px;
  overflow: hidden;
  box-sizing: border-box;
}

.kontakt-page__map-border iframe {
  display: block;
  width: 100%;
  height: clamp(320px, 50vh, 605px);
  border: 0;
}

/* --- FAQ wrapper (27beca8 + paper) --- */
.kontakt-page__faq-panel {
  padding: 0 0 clamp(72px, 12vw, 120px);
  background-color: var(--e-global-color-97d4eaa, #f4f1ec);
}

.kontakt-page__faq-panel-inner {
  max-width: 1600px;
  margin-inline: auto;
  padding-inline: clamp(16px, 4vw, 30px);
}

.kontakt-page__faq-page-title {
  margin: 0 0 clamp(20px, 4vw, 32px);
  padding-top: clamp(40px, 7vw, 64px);
  font-family: var(--font-italic, var(--font-heading));
  font-size: clamp(36px, 5.5vw, 51px);
  font-weight: 400;
  line-height: 1.15;
  color: #1c244b;
  text-align: center;
}

.kontakt-page__faq-panel .kontakt-page__faq-con-inner {
  max-width: 65%;
  margin-inline: auto;
}

@media (max-width: 1024px) {
  .kontakt-page__faq-panel .kontakt-page__faq-con-inner {
    max-width: 100%;
  }
  .kontakt-page__faq-page-title {
    text-align: left;
  }
}
.kontakt-page__faq-panel .elementor-element-493ef665 {
  padding-bottom: 0;
}

.kontakt-page__closing-cta {
  padding: clamp(40px, 8vw, 65px) clamp(16px, 4vw, 30px) clamp(80px, 14vw, 150px);
  background: var(--e-global-color-97d4eaa, #f4f1ec);
  text-align: center;
  border-top: 1px solid rgba(198, 158, 126, 0.45);
}

.kontakt-page__closing-inner {
  max-width: 520px;
  margin-inline: auto;
}

.kontakt-page__closing-cta p {
  margin: 0 0 12px;
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.6;
  color: var(--color-text, #2f1e3b);
}

.kontakt-page__closing-link {
  color: var(--e-global-color-accent, #2f1e3b);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.kontakt-page__closing-link:hover {
  color: var(--color-dust, #a17e63);
}

.kontakt-page__closing-contact {
  font-size: 1.02rem;
  font-weight: 400;
}

.kontakt-page__closing-contact a {
  color: var(--color-plum);
  font-weight: 600;
  text-decoration: none;
}

.kontakt-page__closing-contact a:hover {
  text-decoration: underline;
}

.kontakt-page__closing-address {
  font-size: 0.95rem;
  font-weight: 400;
  color: var(--color-muted);
}

@media (max-width: 767px) {
  .kontakt-page__contact-col--addr {
    flex: 1 1 100%;
  }
  .kontakt-page__faq-page-title {
    font-size: 34px;
    text-align: left;
    align-self: flex-start;
  }
}

/*# sourceMappingURL=app.css.map */
