@charset "UTF-8";
:root {
  --px-radius-sm: 0.75rem;
  --px-radius-md: 1.25rem;
  --px-radius-lg: 1.5rem;
  --px-radius-pill: 999px;
  --Green: #3f4a34;
  --Transparent: #ffffff00;
  --holz: #d0c5a5;
  --Cognac: #93684e;
  --Hell: #e8e0c4;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

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

a:focus-visible {
  outline: 2px solid;
  outline-offset: 2px;
}

body {
  overflow-x: hidden;
}

#outer-wrap {
  overflow: hidden;
}

#scroll-top {
  z-index: 90;
}

.logged-in.admin-bar .px_header {
  top: 32px;
}

body:not(.home) #main .elementor > .e-con:first-child,
body:not(.home) #main .elementor .elementor-section-wrap > .e-con:first-child {
  padding-top: 11rem !important;
}
@media (min-width: 678px) and (max-width: calc(1025px - 0.02rem)) {
  body:not(.home) #main .elementor > .e-con:first-child,
  body:not(.home) #main .elementor .elementor-section-wrap > .e-con:first-child {
    padding-top: 14rem !important;
  }
}
@media (min-width: 1025px) {
  body:not(.home) #main .elementor > .e-con:first-child,
  body:not(.home) #main .elementor .elementor-section-wrap > .e-con:first-child {
    padding-top: 18rem !important;
  }
}

body {
  line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.1;
}

h1 {
  font-family: "Sagita", Sans-serif !important;
}
@media (max-width: calc(678px - 0.02rem)) {
  h1 {
    font-size: 4rem !important;
  }
}
@media (min-width: 678px) and (max-width: calc(1025px - 0.02rem)) {
  h1 {
    font-size: 5.5rem !important;
  }
}
@media (min-width: 1025px) {
  h1 {
    font-size: 7.5rem !important;
  }
}

h2 {
  font-family: "Sagita", Sans-serif !important;
}
@media (max-width: calc(678px - 0.02rem)) {
  h2 {
    font-size: 3rem !important;
  }
}
@media (min-width: 678px) and (max-width: calc(1025px - 0.02rem)) {
  h2 {
    font-size: 4.5rem !important;
  }
}
@media (min-width: 1025px) {
  h2 {
    font-size: 6rem !important;
  }
}

h3 {
  font-family: "Sagita", Sans-serif !important;
}
@media (max-width: calc(678px - 0.02rem)) {
  h3 {
    font-size: 2.25rem !important;
  }
}
@media (min-width: 678px) and (max-width: calc(1025px - 0.02rem)) {
  h3 {
    font-size: 3rem !important;
  }
}
@media (min-width: 1025px) {
  h3 {
    font-size: 4rem !important;
  }
}

h4 {
  font-family: "Sagita", Sans-serif !important;
}
@media (max-width: calc(678px - 0.02rem)) {
  h4 {
    font-size: 1.75rem !important;
  }
}
@media (min-width: 678px) and (max-width: calc(1025px - 0.02rem)) {
  h4 {
    font-size: 2rem !important;
  }
}
@media (min-width: 1025px) {
  h4 {
    font-size: 2.5rem !important;
  }
}

.elementor-widget-text-editor a {
  text-decoration: underline;
}

.elementor-widget-image .elementor-widget-container img {
  object-fit: cover;
}

.elementor-editor-active #site-header {
  z-index: 0;
}

.elementor-editor-active main {
  z-index: 999;
}

#site-header {
  border-bottom: 0;
}

#outer-wrap {
  overflow: visible !important;
}

.px_header {
  transition: all 0.3s ease;
  z-index: 3;
  position: fixed !important;
  inset-inline: 0;
}
.px_header .px_logo_light,
.px_header .px_logo_dark {
  display: none;
}
.px_header.px_scrolled {
  min-height: 10rem !important;
  height: 10rem !important;
  background-color: rgba(208, 197, 165, 0.65) !important;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
@media (max-width: calc(678px - 0.02rem)) {
  .px_header.px_scrolled {
    min-height: 8rem !important;
    height: 8rem !important;
  }
}
.px_header .px_close {
  display: none;
}
.px_header.px_menu_open {
  background-color: transparent !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.px_header.px_menu_open .px_hamburger {
  display: none;
}
.px_header.px_menu_open .px_close {
  display: block;
}
.px_header.px_menu_open .px_menu_text p {
  color: var(--e-global-color-secondary) !important;
}
.px_header.px_menu_open .px_toggle_container {
  padding-right: 0 !important;
}
.px_header.px_menu_open .px_button_container {
  padding-left: 0 !important;
}

.px_menu {
  overflow: hidden !important;
  position: fixed !important;
  inset: 0;
  z-index: 2;
  transform: translateX(100%);
  height: 100dvh !important;
}
@media (max-width: calc(1025px - 0.02rem)) {
  .px_menu {
    overflow-y: auto !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
}
html:not(.has-js) .px_menu {
  transition: all 0.3s ease;
}
html:not(.has-js) .px_menu.px_active {
  transform: translateX(0);
}

body.home .px_header:not(.px_menu_open) .px_button {
  background-color: rgba(208, 197, 165, 0.35) !important;
}

body.home .px_header .px_logo_light,
body.home .px_header .px_logo_dark {
  display: none !important;
}

body:not(.home) .px_header .px_button {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

body.hero-dark .px_header .px_logo_light {
  display: block;
}
body.hero-dark .px_header .px_button,
body.hero-dark .px_header .px_menu_text p {
  color: var(--e-global-color-eb736b7) !important;
}
body.hero-dark .px_header .px_hamburger img,
body.hero-dark .px_header .px_close img {
  filter: brightness(0) invert(1);
}

body.hero-light .px_header .px_logo_dark {
  display: block;
}
body.hero-light .px_header .px_button,
body.hero-light .px_header .px_menu_text p {
  color: var(--e-global-color-primary) !important;
}
body.hero-light .px_header.px_menu_open .px_button,
body.hero-light .px_header.px_menu_open .px_menu_text p {
  color: var(--e-global-color-secondary) !important;
}

.px_footer {
  position: relative;
}
.px_footer .px_footer_menu {
  position: relative !important;
}
@media (min-width: 678px) {
  .px_footer .px_footer_menu::before {
    content: "" !important;
    position: absolute !important;
    background-repeat: no-repeat !important;
    height: 100%;
    width: 1px;
    background: #748667 !important;
    left: calc(50% + 1px);
  }
}
.px_footer .px_footer_menu .elementor-nav-menu.sm-vertical {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
}
@media (min-width: 678px) {
  .px_footer .px_footer_menu .elementor-nav-menu.sm-vertical {
    column-gap: 8rem;
  }
}

.post-password-form {
  display: grid;
  gap: 1rem;
  max-width: 32rem;
}

.post-password-form p {
  margin: 0;
}

.post-password-form__fields {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: flex-end;
}

.post-password-form label {
  display: grid;
  flex: 1 1 14rem;
  gap: 0.5rem;
  font-weight: 600;
}

.post-password-form input[type=password] {
  width: 100%;
  max-width: 100%;
  padding: 0.75rem 1rem;
  border: 1px solid;
  border-radius: var(--px-radius-md);
}

.post-password-form input[type=password]:focus-visible {
  outline: 2px solid;
  outline-offset: 2px;
}

@media (min-width: 1025px) {
  .px_hero .elementor-widget-n-carousel,
  .px_hero .swiper {
    height: calc(100dvh - 8rem) !important;
  }
}
@media (min-width: 678px) and (max-width: calc(1025px - 0.02rem)) {
  .px_hero .elementor-widget-n-carousel,
  .px_hero .swiper {
    height: calc(100dvh - 6rem) !important;
  }
}
@media (max-width: calc(678px - 0.02rem)) {
  .px_hero .elementor-widget-n-carousel,
  .px_hero .swiper {
    height: calc(100dvh - 4rem) !important;
  }
}
.px_hero .swiper {
  padding-bottom: 0 !important;
}
.px_hero .swiper-pagination {
  top: unset !important;
  bottom: 1rem !important;
}

.px-pauschalen-slider {
  --px-pauschalen-gap: clamp(1.5rem, 4vw, 3.5rem);
  color: var(--e-global-color-primary);
  width: 100%;
  max-width: 100%;
  padding-block: clamp(1rem, 2vw, 2rem);
  background: var(--Transparent);
  overflow: visible;
  clip-path: inset(0);
}

.px-pauschalen-slider__swiper {
  overflow: visible;
  padding-bottom: clamp(4rem, 6vw, 5.75rem);
}

.px-pauschalen-slider__track {
  align-items: stretch;
}

.px-pauschalen-slider__slide {
  min-width: 0;
  height: auto;
  opacity: 1;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.px-pauschalen-slider__card-link {
  display: grid;
  gap: 0;
  color: inherit;
  text-decoration: none;
}

.px-pauschalen-slider__media {
  margin-bottom: clamp(1.5rem, 2vw, 2.5rem);
}

.px-pauschalen-slider__image,
.px-pauschalen-slider__image--placeholder {
  display: block;
  width: 100%;
  aspect-ratio: 1/1.08;
  object-fit: cover;
  background: var(--e-global-color-secondary);
  transition: aspect-ratio 0.3s ease, transform 0.3s ease;
}

.px-pauschalen-slider__content {
  display: grid;
  gap: 1.25rem;
}

.px-pauschalen-slider__title {
  margin: 0;
  color: var(--e-global-color-accent);
  font-family: "Sagita", Sans-serif;
  font-size: clamp(2.6rem, 5.4vw, 5rem) !important;
  line-height: 0.94;
  text-transform: uppercase;
}

.px-pauschalen-slider__excerpt,
.px-pauschalen-slider__price {
  margin: 0;
  font-family: "Fira Sans", Sans-serif;
  font-size: clamp(1.02rem, 1.3vw, 1.22rem);
  line-height: 1.72;
}

.px-pauschalen-slider__excerpt,
.px-pauschalen-slider__price,
.px-pauschalen-slider__link--details {
  color: var(--e-global-color-primary);
}

.px-pauschalen-slider__link--details {
  color: var(--e-global-color-primary) !important;
}

.px-pauschalen-slider__price {
  font-weight: 700;
}

.px-pauschalen-slider__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding-top: 1rem;
}

.px-pauschalen-slider__link {
  color: var(--e-global-color-accent);
  font-family: "Sagita", Sans-serif;
  font-size: clamp(1.2rem, 1.8vw, 1.8rem);
  line-height: 1;
  text-decoration: underline;
  text-underline-offset: 0.12em;
  text-decoration-thickness: 0.06em;
  text-transform: uppercase;
}

.px-pauschalen-slider__link--disabled {
  cursor: default;
}

.px-pauschalen-slider__price {
  min-height: 1.74em;
}

.px-pauschalen-slider__dots {
  display: flex;
  justify-content: center;
  gap: 0.75rem;
  bottom: 0 !important;
}

.px-pauschalen-slider__dots .swiper-pagination-bullet {
  width: 1.5rem;
  height: 1.5rem;
  margin: 0 !important;
  border-radius: 999px;
  background: var(--e-global-color-secondary);
  opacity: 1;
  transition: transform 0.25s ease, background-color 0.25s ease, opacity 0.25s ease;
}

.px-pauschalen-slider__dots .swiper-pagination-bullet-active {
  background: var(--e-global-color-primary);
  transform: scale(1.05);
}

.px-pauschalen-slider__card-link:focus-visible {
  outline: 2px solid var(--e-global-color-primary);
  outline-offset: 4px;
}

.px-pauschalen-slider__dots .swiper-pagination-bullet:focus-visible,
.px-pauschalen-slider__link:focus-visible {
  outline: 2px solid var(--e-global-color-primary);
  outline-offset: 4px;
}

@media (min-width: 678px) and (max-width: calc(1025px - 0.02rem)) {
  .px-pauschalen-slider__content {
    gap: 1rem;
  }
  .px-pauschalen-slider__title {
    font-size: clamp(2.5rem, 5vw, 3.6rem) !important;
  }
  .px-pauschalen-slider__link {
    font-size: clamp(1.15rem, 1.8vw, 1.45rem);
  }
}
@media (max-width: calc(678px - 0.02rem)) {
  .px-pauschalen-slider__slide {
    opacity: 1;
  }
  .px-pauschalen-slider__actions {
    flex-wrap: wrap;
  }
  .px-pauschalen-slider__title {
    font-size: clamp(2.2rem, 9vw, 3.2rem) !important;
  }
  .px-pauschalen-slider__excerpt,
  .px-pauschalen-slider__price {
    font-size: 1rem;
    line-height: 1.6;
  }
  .px-pauschalen-slider__link {
    font-size: 1.2rem;
  }
}
@media (min-width: 1025px) {
  .px-pauschalen-slider {
    --px-pauschalen-gap: clamp(2rem, 3vw, 3.5rem);
  }
  .px-pauschalen-slider__slide {
    opacity: 0.48;
  }
  .px-pauschalen-slider__slide .px-pauschalen-slider__title {
    font-size: clamp(2.2rem, 4.4vw, 3.8rem) !important;
  }
  .px-pauschalen-slider__slide .px-pauschalen-slider__excerpt,
  .px-pauschalen-slider__slide .px-pauschalen-slider__price {
    font-size: clamp(0.98rem, 1.1vw, 1.08rem);
    line-height: 1.62;
  }
  .px-pauschalen-slider__slide .px-pauschalen-slider__link {
    font-size: clamp(1.05rem, 1.35vw, 1.4rem);
  }
  .px-pauschalen-slider__slide.swiper-slide-active {
    opacity: 1;
  }
  .px-pauschalen-slider__slide.swiper-slide-prev,
  .px-pauschalen-slider__slide.swiper-slide-next {
    opacity: 0.82;
  }
  .px-pauschalen-slider__slide.swiper-slide-prev .px-pauschalen-slider__media,
  .px-pauschalen-slider__slide.swiper-slide-next .px-pauschalen-slider__media {
    margin-top: 1.25rem;
    margin-bottom: clamp(1rem, 1.5vw, 1.75rem);
  }
  .px-pauschalen-slider__slide.swiper-slide-prev .px-pauschalen-slider__image,
  .px-pauschalen-slider__slide.swiper-slide-prev .px-pauschalen-slider__image--placeholder,
  .px-pauschalen-slider__slide.swiper-slide-next .px-pauschalen-slider__image,
  .px-pauschalen-slider__slide.swiper-slide-next .px-pauschalen-slider__image--placeholder {
    aspect-ratio: 1/1.02;
    transform: none;
  }
  .px-pauschalen-slider__slide.swiper-slide-active .px-pauschalen-slider__image,
  .px-pauschalen-slider__slide.swiper-slide-active .px-pauschalen-slider__image--placeholder {
    aspect-ratio: 1/1.16;
    transform: translateY(-0.5rem);
  }
  .px-pauschalen-slider__slide.swiper-slide-active .px-pauschalen-slider__title {
    width: 75%;
    font-size: clamp(3rem, 5.9vw, 5.5rem) !important;
    min-height: 1.88em;
  }
  .px-pauschalen-slider__slide.swiper-slide-active .px-pauschalen-slider__excerpt,
  .px-pauschalen-slider__slide.swiper-slide-active .px-pauschalen-slider__price {
    font-size: clamp(1.12rem, 1.45vw, 1.34rem);
    line-height: 1.74;
  }
  .px-pauschalen-slider__slide.swiper-slide-active .px-pauschalen-slider__link {
    font-size: clamp(1.28rem, 1.8vw, 1.9rem);
  }
}
.px_pauschalen_grid {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}

.px_pauschalen_filters {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
  align-items: center;
}

.px_pauschalen_filter_dropdown {
  position: relative;
  display: inline-block;
}

.px_pauschalen_filter__trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
}

.px_pauschalen_filter__chevron {
  transition: all 0.3s ease;
  font-size: 0.9em;
  line-height: 1;
  display: inline-block;
}
.px_pauschalen_filter_dropdown.is-open .px_pauschalen_filter__chevron {
  transform: rotate(180deg);
}

.px_pauschalen_filter__menu {
  position: absolute;
  top: calc(100% + 0.5rem);
  left: 0;
  min-width: 14rem;
  background: var(--e-global-color-secondary);
  border: 1px solid var(--e-global-color-accent);
  border-radius: var(--px-radius-md);
  list-style: none;
  margin: 0;
  padding: 0.5rem 0;
  z-index: 5;
  display: none;
}
.px_pauschalen_filter_dropdown.is-open .px_pauschalen_filter__menu {
  display: block;
}

.px_pauschalen_filter__option {
  width: 100%;
  text-align: left;
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 0.75rem 1.5rem;
  font: inherit;
  color: var(--e-global-color-accent);
}
.px_pauschalen_filter__option:hover, .px_pauschalen_filter__option:focus-visible, .px_pauschalen_filter__option.is-active {
  background: var(--e-global-color-accent);
  color: var(--e-global-color-secondary);
}

.px_pauschalen_grid__cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4rem 2.5rem;
  transition: opacity 0.3s ease, transform 0.3s ease;
}
@media (min-width: 678px) {
  .px_pauschalen_grid__cards {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1025px) {
  .px_pauschalen_grid__cards {
    grid-template-columns: repeat(3, 1fr);
    gap: 5rem 3rem;
  }
}

.px_pauschalen_grid.is-loading .px_pauschalen_grid__cards {
  opacity: 0;
  transform: translateY(0.75rem);
}

.px_pauschalen_card {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.px_pauschalen_card__media {
  aspect-ratio: 4/3;
  overflow: hidden;
  line-height: 0;
}

.px_pauschalen_card__image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
}

.px_pauschalen_card__title {
  margin: 0;
  color: var(--e-global-color-accent);
  text-transform: uppercase;
}

.px_pauschalen_card__excerpt,
.px_pauschalen_card__meta,
.px_pauschalen_card__price {
  margin: 0;
  line-height: 1.5;
}

.px_pauschalen_card__meta p {
  margin: 0;
}

.px_pauschalen_card__price strong {
  font-weight: 700 !important;
}

.px_pauschalen_card__actions {
  display: flex;
  gap: 2.5rem;
  margin-top: 0.5rem;
}

.px_pauschalen_card__link {
  font-family: "Sagita", Sans-serif !important;
  text-decoration: underline;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 700;
}
.px_pauschalen_card__link:hover, .px_pauschalen_card__link:focus-visible {
  text-decoration: none;
}

.px_pauschalen_card__link--details {
  color: var(--e-global-color-primary) !important;
}

.px_pauschalen_card__link--anfragen {
  color: var(--e-global-color-accent) !important;
}

.px_pauschalen_grid__empty {
  grid-column: 1/-1;
  text-align: center;
}

.px_pauschalen_grid__pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.px_pauschalen_grid__pages {
  display: flex;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.px_pauschalen_grid__page {
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 4.2rem;
  min-height: 4.2rem;
  padding: 0 1.6rem;
  border: 1px solid var(--e-global-color-primary);
  border-radius: var(--px-radius-pill);
  background: transparent;
  color: var(--e-global-color-primary);
  font: inherit;
  line-height: 1;
  cursor: pointer;
}
.px_pauschalen_grid__page:hover:not(:disabled):not(.is-current), .px_pauschalen_grid__page:focus-visible:not(:disabled):not(.is-current) {
  background: var(--e-global-color-secondary);
  color: var(--e-global-color-primary);
}
.px_pauschalen_grid__page:focus-visible {
  outline: 2px solid;
  outline-offset: 2px;
}
.px_pauschalen_grid__page.is-current {
  background: var(--e-global-color-primary);
  border-color: var(--e-global-color-primary);
  color: var(--e-global-color-eb736b7);
  cursor: default;
}
.px_pauschalen_grid__page:disabled {
  border-color: var(--e-global-color-b703901);
  color: var(--e-global-color-b703901);
  cursor: not-allowed;
}

.px_carousel .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
  background: var(--e-global-color-0aa207e) !important;
}

.px_zimmer_grid {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}

.px_zimmer_grid__cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4rem 2.5rem;
}
@media (min-width: 678px) {
  .px_zimmer_grid__cards {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1025px) {
  .px_zimmer_grid__cards {
    grid-template-columns: repeat(3, 1fr);
    gap: 5rem 3rem;
  }
}

.px_zimmer_card,
.px_zimmer_card:hover,
.px_zimmer_card:focus,
.px_zimmer_card:visited {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  text-decoration: none;
  color: inherit;
}

.px_zimmer_card__media {
  aspect-ratio: 4/3;
  overflow: hidden;
  line-height: 0;
}

.px_zimmer_card__image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
}

.px_zimmer_card__title {
  font-family: "Sagita", Sans-serif !important;
}
@media (max-width: calc(678px - 0.02rem)) {
  .px_zimmer_card__title {
    font-size: 2.25rem !important;
  }
}
@media (min-width: 678px) and (max-width: calc(1025px - 0.02rem)) {
  .px_zimmer_card__title {
    font-size: 3rem !important;
  }
}
@media (min-width: 1025px) {
  .px_zimmer_card__title {
    font-size: 4rem !important;
  }
}
.px_zimmer_card__title {
  text-transform: uppercase;
  margin: 0;
  color: var(--e-global-color-primary);
}

.px_zimmer_card__meta {
  margin: 0;
  line-height: 1.5;
}
.px_zimmer_card__meta p {
  margin: 0;
}

.px_zimmer_card__price,
.px_zimmer_card__price strong {
  font-weight: 700 !important;
}

.px_zimmer_card .px_button {
  width: 100%;
  margin-top: 0.5rem;
  text-align: center;
  display: block;
}

.px_zimmer_grid__empty {
  grid-column: 1/-1;
  text-align: center;
}

.px_zimmer_grid__pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.px_zimmer_grid__pages {
  display: flex;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.px_zimmer_grid__page {
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 4.2rem;
  min-height: 4.2rem;
  padding: 0 1.6rem;
  border: 1px solid var(--e-global-color-primary);
  border-radius: var(--px-radius-pill);
  background: transparent;
  color: var(--e-global-color-primary);
  font: inherit;
  line-height: 1;
  cursor: pointer;
}
.px_zimmer_grid__page:hover:not(:disabled):not(.is-current), .px_zimmer_grid__page:focus-visible:not(:disabled):not(.is-current) {
  background: var(--e-global-color-secondary);
  color: var(--e-global-color-primary);
}
.px_zimmer_grid__page:focus-visible {
  outline: 2px solid;
  outline-offset: 2px;
}
.px_zimmer_grid__page.is-current {
  background: var(--e-global-color-primary);
  border-color: var(--e-global-color-primary);
  color: var(--e-global-color-eb736b7);
  cursor: default;
}
.px_zimmer_grid__page:disabled {
  border-color: var(--e-global-color-b703901);
  color: var(--e-global-color-b703901);
  cursor: not-allowed;
}

.px_zimmer_meta p {
  margin: 0;
}

.px_zimmer_collage {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 678px) {
  .px_zimmer_collage {
    grid-template-columns: 35fr 32fr 33fr;
    grid-template-rows: auto auto;
    gap: 1.5rem 2.5rem;
    align-items: start;
  }
}

.px_zimmer_collage__item {
  overflow: hidden;
  line-height: 0;
}
@media (min-width: 678px) {
  .px_zimmer_collage__item--1 {
    grid-column: 1;
    grid-row: 2;
  }
  .px_zimmer_collage__item--2 {
    grid-column: 3;
    grid-row: 1;
  }
  .px_zimmer_collage__item--3 {
    grid-column: 2;
    grid-row: 2;
  }
}

.px_zimmer_collage__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
@media (max-width: calc(678px - 0.02rem)) {
  .px_zimmer_collage__image {
    aspect-ratio: 4/3;
  }
}

.px_inklusiv__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem 2.5rem;
}
@media (min-width: 678px) {
  .px_inklusiv__list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1025px) {
  .px_inklusiv__list {
    grid-template-columns: repeat(3, 1fr);
  }
}

.px_inklusiv__item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

.px_inklusiv__icon {
  flex-shrink: 0;
  margin-top: 0.2em;
  width: 1.25rem;
  height: 1.25rem;
}

.px_inklusiv__label {
  line-height: 1.4;
  color: var(--e-global-color-d42cf89);
}

.px_zusatz__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media (min-width: 678px) {
  .px_zusatz__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1025px) {
  .px_zusatz__grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem 3rem;
  }
}

.px_zusatz__title {
  color: var(--e-global-color-primary) !important;
  text-transform: uppercase;
  margin: 0 0 0.75rem;
}

.px_zusatz__text {
  color: var(--e-global-color-primary);
  margin: 0;
  line-height: 1.5;
}

.px_accordion {
  display: flex;
  flex-direction: column;
  gap: 0;
  color: var(--e-global-color-d42cf89);
}

.px_accordion__item {
  border-bottom: 1px solid var(--e-global-color-secondary);
}
.px_accordion__item:first-child {
  border-top: 1px solid var(--e-global-color-secondary);
}

.px_accordion__trigger {
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  background: none;
  border: none;
  cursor: pointer;
  font: inherit;
  color: inherit;
  text-align: left;
  padding: 1.25rem 0;
  gap: 1rem;
}

.px_accordion__trigger_label {
  font-family: "Sagita", Sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.3;
  flex: 1;
}

.px_accordion__chevron {
  transition: all 0.3s ease;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  background-image: url("http://waldeck.local/wp-content/uploads/2026/05/arrow-top-light.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: rotate(180deg);
}
[aria-expanded=true] .px_accordion__chevron {
  transform: rotate(0deg);
}

.px_accordion__body {
  padding-bottom: 1.5rem;
}
.px_accordion__body[hidden] {
  display: none;
}

.px_accordion__wysiwyg p,
.px_accordion__wysiwyg ul,
.px_accordion__wysiwyg ol {
  margin: 0 0 0.75rem;
}
.px_accordion__wysiwyg p:last-child,
.px_accordion__wysiwyg ul:last-child,
.px_accordion__wysiwyg ol:last-child {
  margin-bottom: 0;
}
.px_accordion__wysiwyg ul,
.px_accordion__wysiwyg ol {
  padding-left: 1.25rem;
  list-style-position: outside;
}
.px_accordion__wysiwyg li {
  margin-bottom: 0.25rem;
}

.px_accordion__verpflegung {
  margin: 0 0 1rem;
  font-style: italic;
}

.px_accordion__preisliste {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.px_accordion__preiszeile {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
}
.px_accordion__preiszeile::after {
  content: "";
  flex: 1;
  border-bottom: 1px dotted currentColor;
  opacity: 0.3;
  margin: 0 0.5rem;
  align-self: center;
}

.px_accordion__zimmer_label {
  flex-shrink: 0;
}

.px_accordion__zimmer_link,
.px_accordion__zimmer_link:hover,
.px_accordion__zimmer_link:focus,
.px_accordion__zimmer_link:visited {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.px_accordion__preis {
  flex-shrink: 0;
  font-weight: 600;
}

.px_pauschale_info {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.px_pauschale_info__block {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.px_pauschale_info__label {
  font-weight: 700;
  margin: 0;
}

.px_pauschale_info__zeitraum,
.px_pauschale_info__extra {
  margin: 0;
}

.px_pauschale_info__extras {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.px_pauschale_info__preis {
  font-family: "Sagita", Sans-serif;
  font-size: clamp(2.5rem, 5vw, 3.5rem);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0.25rem 0 0;
  line-height: 1.1;
}

.px_anwendungen {
  display: flex;
  flex-direction: column;
  gap: 5rem;
  color: var(--e-global-color-eb736b7);
}

/* ---------- Filters ---------- */
.px_anwendungen__filters {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5rem;
}

/* Anwendung dropdown */
.px_anwendungen__dropdown {
  position: relative;
  display: inline-block;
}

.px_anwendungen__trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  background: transparent !important;
  color: var(--e-global-color-eb736b7) !important;
  border-color: var(--e-global-color-eb736b7) !important;
}
.px_anwendungen__trigger:hover, .px_anwendungen__trigger:focus-visible {
  color: var(--e-global-color-primary) !important;
  border-color: var(--e-global-color-primary) !important;
  background: transparent !important;
}

.px_anwendungen__trigger_chevron {
  transition: all 0.3s ease;
  font-size: 0.9em;
  line-height: 1;
  display: inline-block;
}
.px_anwendungen__dropdown.is-open .px_anwendungen__trigger_chevron {
  transform: rotate(180deg);
}

.px_anwendungen__menu {
  position: absolute;
  top: calc(100% + 0.5rem);
  left: 0;
  min-width: 16rem;
  background: var(--e-global-color-primary);
  border: 1px solid var(--e-global-color-eb736b7);
  border-radius: var(--px-radius-md);
  list-style: none;
  margin: 0;
  padding: 0.5rem 0;
  z-index: 5;
  display: none;
}
.px_anwendungen__dropdown.is-open .px_anwendungen__menu {
  display: block;
}

.px_anwendungen__option {
  width: 100%;
  text-align: left;
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 0.75rem 1.5rem;
  font: inherit;
  color: var(--e-global-color-eb736b7);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.px_anwendungen__option:hover, .px_anwendungen__option:focus-visible, .px_anwendungen__option.is-active {
  background: var(--e-global-color-eb736b7);
  color: var(--e-global-color-primary);
}

/* Zielgruppe chips */
.px_anwendungen__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
}
.px_anwendungen__chips .px_button {
  background: transparent !important;
  color: var(--e-global-color-eb736b7) !important;
  border-color: var(--e-global-color-eb736b7) !important;
}
.px_anwendungen__chips .px_button.is-active, .px_anwendungen__chips .px_button:hover, .px_anwendungen__chips .px_button:focus-visible {
  color: var(--e-global-color-primary) !important;
  border-color: var(--e-global-color-primary) !important;
  background: transparent !important;
}

/* ---------- Sections ---------- */
.px_anwendungen__sections {
  display: flex;
  flex-direction: column;
  gap: 5rem;
}
@media (min-width: 1025px) {
  .px_anwendungen__sections {
    gap: 7rem;
  }
}

.px_anwendungen__section {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.px_anwendungen__section[hidden] {
  display: none;
}

.px_anwendungen__section_title {
  margin: 0 0 2rem 0;
  color: var(--e-global-color-primary);
  text-transform: uppercase;
}

.px_anwendungen__items {
  display: flex;
  flex-direction: column;
}

/* ---------- Item ---------- */
.px_anwendung_item {
  border-bottom: 1px solid var(--e-global-color-primary);
}
.px_anwendung_item[hidden] {
  display: none;
}

.px_anwendung_item__header {
  display: grid;
  grid-template-columns: 1fr auto auto auto;
  align-items: center;
  gap: 1.5rem;
  width: 100%;
  background: transparent;
  border: 0;
  cursor: pointer;
  color: var(--e-global-color-eb736b7);
  font: inherit;
  text-align: left;
  padding: 1.5rem 0;
}
.px_anwendung_item__header:disabled {
  cursor: default;
}
.px_anwendung_item__header:focus-visible {
  outline: 2px solid var(--e-global-color-eb736b7);
  outline-offset: 2px;
}
@media (max-width: calc(678px - 0.02rem)) {
  .px_anwendung_item__header {
    grid-template-columns: 1fr auto;
    row-gap: 0.5rem;
  }
}

.px_anwendung_item__titel,
.px_anwendung_item__dauer,
.px_anwendung_item__preis,
.px_anwendung_item__chevron {
  font-size: 1.8rem;
  color: var(--e-global-color-eb736b7);
}

.px_anwendung_item__titel {
  font-family: "Sagita", Sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 700;
}
@media (max-width: calc(678px - 0.02rem)) {
  .px_anwendung_item__titel {
    grid-column: 1/-1;
  }
}

.px_anwendung_item__dauer,
.px_anwendung_item__preis {
  white-space: nowrap;
}

.px_anwendung_item__preis strong {
  font-weight: 700;
}

.px_anwendung_item__chevron {
  transition: all 0.3s ease;
  display: inline-block;
  line-height: 1;
  margin-left: 0.5rem;
}
.px_anwendung_item.is-open .px_anwendung_item__chevron {
  transform: rotate(180deg);
}

.px_anwendung_item__body {
  padding: 0 0 2rem 0;
  max-width: 70ch;
  line-height: 1.6;
  color: var(--e-global-color-eb736b7);
}
.px_anwendung_item__body[hidden] {
  display: none;
}
.px_anwendung_item__body p {
  margin: 0 0 1rem 0;
}
.px_anwendung_item__body p:last-child {
  margin-bottom: 0;
}

.px_anwendung_item--no_body .px_anwendung_item__header {
  cursor: default;
}

/**
 * Overrides for Elementor Pro's Nested Accordion (e-n-accordion).
 * Color is controlled via Elementor's widget settings — only structural
 * styles live here (dividers, type sizing, icon rotation).
 */
.e-n-accordion .e-n-accordion-item {
  border-bottom: 1px solid var(--e-global-color-accent);
}
.e-n-accordion .e-n-accordion-item:first-of-type {
  border-top: 1px solid var(--e-global-color-accent);
}
.e-n-accordion .e-n-accordion-item-title {
  border: 0 !important;
  padding: 1.5rem 0 !important;
}
.e-n-accordion .e-n-accordion-item-title-text {
  font-family: "Sagita", Sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 700;
  font-size: 1.8rem;
  line-height: 1.3;
}
.e-n-accordion {
  /* Icon wrapper — animate rotation between open/closed */
}
.e-n-accordion .e-n-accordion-item-title-icon {
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.e-n-accordion {
  /* Closed state: SVG up-arrow rotated 180° to point down */
}
.e-n-accordion .e-n-accordion-item:not([open]) .e-n-accordion-item-title-icon {
  transform: rotate(180deg);
}

.px_posts_grid {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.px_posts_grid__cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media (min-width: 678px) {
  .px_posts_grid__cards {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1025px) {
  .px_posts_grid__cards {
    grid-template-columns: repeat(3, 1fr);
  }
}

.px_posts_card {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.px_posts_card__media {
  display: block;
  height: 35rem;
  overflow: hidden;
  line-height: 0;
}

.px_posts_card__image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block;
}

.px_posts_card__image--placeholder {
  width: 100%;
  height: 100%;
  background: var(--e-global-color-primary);
}

.px_posts_card__title {
  margin: 0;
  font-family: "Sagita", Sans-serif !important;
  font-size: 1.8rem !important;
  line-height: 1.25;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 700;
  color: var(--e-global-color-secondary);
}
.px_posts_card__title a {
  font-family: "Sagita", Sans-serif !important;
  font-size: 1.8rem !important;
  color: inherit !important;
  text-decoration: none;
}
.px_posts_card__title a:hover, .px_posts_card__title a:focus-visible {
  text-decoration: underline;
}

.px_posts_card__excerpt {
  color: var(--e-global-color-eb736b7);
  line-height: 1.6;
  margin: 0;
}
.px_posts_card__excerpt p {
  margin: 0 0 1rem 0;
}
.px_posts_card__excerpt p:last-child {
  margin-bottom: 0;
}

.px_posts_card__link {
  font-family: "Sagita", Sans-serif !important;
  font-size: 1.8rem !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-decoration: underline !important;
  color: var(--e-global-color-secondary) !important;
  margin-top: 0.5rem;
  align-self: flex-start;
}
.px_posts_card__link:hover, .px_posts_card__link:focus-visible {
  text-decoration: underline !important;
  opacity: 0.8;
}

.px_team_grid {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.px_team_grid__cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
@media (min-width: 678px) {
  .px_team_grid__cards {
    grid-template-columns: repeat(2, 1fr);
    column-gap: 2rem;
    row-gap: 4rem;
  }
}
@media (min-width: 1025px) {
  .px_team_grid__cards {
    grid-template-columns: repeat(3, 1fr);
    column-gap: 2rem;
    row-gap: 4rem;
  }
}

.px_team_card {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.px_team_card__media {
  position: relative;
  aspect-ratio: 1/1;
  overflow: hidden;
  line-height: 0;
}

.px_team_card__image {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block;
}

.px_team_card__image--placeholder {
  width: 100%;
  height: 100%;
  background: var(--e-global-color-primary);
}

.px_team_card__name {
  margin: 0;
  font-family: "Sagita", Sans-serif !important;
  font-size: 1.8rem !important;
  line-height: 1.25;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 700;
  color: var(--e-global-color-d42cf89);
}

.px_team_card__position {
  margin: 0;
  color: var(--e-global-color-d42cf89);
  line-height: 1.5;
}

/**
 * Contact Form 7 — Anfrageformular styling.
 * Matches the screenshot: cream-on-warm-background pills, serif uppercase
 * section headlines, green "+ hinzufügen" buttons, cognac submit.
 */
.wpcf7-form,
.px_form {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  color: var(--e-global-color-primary);
  accent-color: var(--e-global-color-primary);
  /* Hide CF7 response output spacing artifacts */
}
.wpcf7-form .wpcf7-response-output,
.px_form .wpcf7-response-output {
  margin: 1rem 0 0 0;
  padding: 1rem 1.5rem;
  border-radius: var(--px-radius-md);
  border: 1px solid currentColor;
}

/* ---------- Section headlines ---------- */
.px_form__title {
  font-family: "Sagita", Sans-serif !important;
}
@media (max-width: calc(678px - 0.02rem)) {
  .px_form__title {
    font-size: 2.25rem !important;
  }
}
@media (min-width: 678px) and (max-width: calc(1025px - 0.02rem)) {
  .px_form__title {
    font-size: 3rem !important;
  }
}
@media (min-width: 1025px) {
  .px_form__title {
    font-size: 4rem !important;
  }
}
.px_form__title {
  margin: 0 0 1.5rem 0;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--e-global-color-secondary);
}

.px_form__sublabel {
  margin: 0 0 1rem 0;
  font-family: "Sagita", Sans-serif;
  font-size: 1.8rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--e-global-color-primary);
}

/* Group sections give us spacing between H2 blocks */
.wpcf7-form > p,
.px_form > p {
  margin: 0;
}

.px_form__zimmer {
  margin-bottom: 1.5rem;
}

/* ---------- Grid rows ---------- */
.px_form__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem 2rem;
}
@media (min-width: 678px) {
  .px_form__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1025px) {
  .px_form__grid--3 {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ---------- Labels & fields ---------- */
.wpcf7-form label {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  font-size: inherit;
  font-weight: 400;
  color: var(--e-global-color-primary);
  width: 100%;
}

/* Inputs, selects, textareas — pill style */
.wpcf7-form input[type=text],
.wpcf7-form input[type=email],
.wpcf7-form input[type=tel],
.wpcf7-form input[type=url],
.wpcf7-form input[type=number],
.wpcf7-form input[type=date],
.wpcf7-form select,
.wpcf7-form textarea {
  width: 100% !important;
  padding: 1rem 1.5rem !important;
  border: 1px solid var(--e-global-color-primary) !important;
  border-radius: var(--px-radius-pill) !important;
  background: transparent !important;
  color: var(--e-global-color-primary) !important;
  font: inherit !important;
  line-height: 1.6 !important;
  appearance: none;
  -webkit-appearance: none;
}
.wpcf7-form input[type=text]::placeholder,
.wpcf7-form input[type=email]::placeholder,
.wpcf7-form input[type=tel]::placeholder,
.wpcf7-form input[type=url]::placeholder,
.wpcf7-form input[type=number]::placeholder,
.wpcf7-form input[type=date]::placeholder,
.wpcf7-form select::placeholder,
.wpcf7-form textarea::placeholder {
  color: var(--e-global-color-primary);
  opacity: 0.65;
}
.wpcf7-form input[type=text]:focus, .wpcf7-form input[type=text]:focus-visible,
.wpcf7-form input[type=email]:focus,
.wpcf7-form input[type=email]:focus-visible,
.wpcf7-form input[type=tel]:focus,
.wpcf7-form input[type=tel]:focus-visible,
.wpcf7-form input[type=url]:focus,
.wpcf7-form input[type=url]:focus-visible,
.wpcf7-form input[type=number]:focus,
.wpcf7-form input[type=number]:focus-visible,
.wpcf7-form input[type=date]:focus,
.wpcf7-form input[type=date]:focus-visible,
.wpcf7-form select:focus,
.wpcf7-form select:focus-visible,
.wpcf7-form textarea:focus,
.wpcf7-form textarea:focus-visible {
  outline: 2px solid var(--e-global-color-primary);
  outline-offset: 2px;
}

.wpcf7-form textarea {
  border-radius: var(--px-radius-md) !important;
  min-height: 8rem;
  resize: vertical;
}

/* Custom chevron for native <select> — stroke = var(--e-global-color-primary) #3f4a34 */
.wpcf7-form select {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8' fill='none'><path d='M1 1L7 7L13 1' stroke='%233f4a34' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>") !important;
  background-repeat: no-repeat !important;
  background-position: right 1.5rem center !important;
  padding-right: 3rem !important;
}

.wpcf7-form input[type=date] {
  /* tint the native picker icon toward Green (#3f4a34) */
}
.wpcf7-form input[type=date]::-webkit-calendar-picker-indicator {
  filter: invert(24%) sepia(15%) saturate(700%) hue-rotate(60deg) brightness(95%) contrast(85%);
  cursor: pointer;
}

/* ---------- "+ Zimmer hinzufügen" / "+ Alternatives Reisedatum" pill buttons ---------- */
/* CF7 renders [checkbox] as: span.wpcf7-form-control.wpcf7-checkbox > span.wpcf7-list-item > label > input + .wpcf7-list-item-label */
.wpcf7-form .px_form__add_btn {
  display: inline-block;
}
.wpcf7-form .px_form__add_btn .wpcf7-list-item {
  display: inline-block;
  margin: 0;
}
.wpcf7-form .px_form__add_btn label {
  display: inline-flex !important;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  padding: 1rem 2rem;
  border-radius: var(--px-radius-pill);
  background: var(--e-global-color-primary);
  color: var(--e-global-color-eb736b7) !important;
  font-family: "Sagita", Sans-serif !important;
  font-size: 1.4rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 700;
  border: 1px solid var(--e-global-color-primary);
  transition: opacity 0.2s ease;
}
.wpcf7-form .px_form__add_btn label:hover, .wpcf7-form .px_form__add_btn label:focus-within {
  opacity: 0.85;
}
.wpcf7-form .px_form__add_btn {
  /* Hide the actual checkbox box but keep it focusable */
}
.wpcf7-form .px_form__add_btn input[type=checkbox] {
  position: absolute !important;
  opacity: 0 !important;
  width: 1px !important;
  height: 1px !important;
  pointer-events: none !important;
}
.wpcf7-form .px_form__add_btn .wpcf7-list-item-label {
  color: var(--e-global-color-eb736b7);
}
.wpcf7-form .px_form__add_btn {
  /* Visual cue when checked */
}
.wpcf7-form .px_form__add_btn input[type=checkbox]:checked + .wpcf7-list-item-label::before {
  content: "✓ ";
}

/* ---------- Legal disclaimer paragraph ---------- */
.px_form__legal {
  margin: 1rem 0 0 0;
  font-size: inherit;
  line-height: inherit;
  color: var(--e-global-color-primary);
}
.px_form__legal a {
  color: var(--e-global-color-primary) !important;
  text-decoration: underline;
}
.px_form__legal a:hover, .px_form__legal a:focus-visible {
  text-decoration: none;
}

/* ---------- Submit button ---------- */
.wpcf7-form .px_form__submit,
.wpcf7-form input[type=submit].px_form__submit {
  align-self: flex-start;
  display: inline-block;
  width: auto !important;
  max-width: max-content;
  margin-top: 1rem;
  padding: 1rem 3rem !important;
  border-radius: var(--px-radius-pill) !important;
  border: 1px solid var(--e-global-color-accent) !important;
  background: var(--e-global-color-accent) !important;
  color: var(--e-global-color-eb736b7) !important;
  font-family: "Sagita", Sans-serif !important;
  font-size: 1.4rem !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 700;
  cursor: pointer;
  transition: opacity 0.2s ease;
}
.wpcf7-form .px_form__submit:hover, .wpcf7-form .px_form__submit:focus-visible,
.wpcf7-form input[type=submit].px_form__submit:hover,
.wpcf7-form input[type=submit].px_form__submit:focus-visible {
  opacity: 0.85;
}
.wpcf7-form .px_form__submit:disabled,
.wpcf7-form input[type=submit].px_form__submit:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* ---------- Conditional Fields Pro — hide groups cleanly ---------- */
.wpcf7cf-hidden,
[data-class=wpcf7cf_group][hidden] {
  display: none !important;
}

/**
 * Flatpickr — restyled to match the Waldeck palette.
 * Calendar popover only; the input itself is already styled by _form.scss.
 */
.flatpickr-calendar {
  background: var(--e-global-color-eb736b7) !important;
  border: 1px solid var(--e-global-color-primary) !important;
  border-radius: var(--px-radius-md) !important;
  box-shadow: 0 1.5rem 3rem rgba(63, 74, 52, 0.25) !important;
  color: var(--e-global-color-primary) !important;
  font-family: inherit !important;
}
.flatpickr-calendar.arrowTop::before, .flatpickr-calendar.arrowTop::after {
  border-bottom-color: var(--e-global-color-primary) !important;
}
.flatpickr-calendar.arrowBottom::before, .flatpickr-calendar.arrowBottom::after {
  border-top-color: var(--e-global-color-primary) !important;
}
.flatpickr-calendar {
  /* Header: month name + arrows */
}
.flatpickr-calendar .flatpickr-months {
  color: var(--e-global-color-primary);
}
.flatpickr-calendar .flatpickr-months .flatpickr-month {
  color: var(--e-global-color-primary) !important;
  background: transparent;
}
.flatpickr-calendar .flatpickr-months .flatpickr-prev-month,
.flatpickr-calendar .flatpickr-months .flatpickr-next-month {
  color: var(--e-global-color-primary) !important;
  fill: var(--e-global-color-primary) !important;
}
.flatpickr-calendar .flatpickr-months .flatpickr-prev-month svg,
.flatpickr-calendar .flatpickr-months .flatpickr-next-month svg {
  fill: var(--e-global-color-primary) !important;
}
.flatpickr-calendar .flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-calendar .flatpickr-months .flatpickr-next-month:hover svg {
  fill: var(--e-global-color-accent) !important;
}
.flatpickr-calendar .flatpickr-months .flatpickr-current-month {
  color: var(--e-global-color-primary) !important;
  font-family: "Sagita", Sans-serif !important;
  font-size: 1.6rem !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.flatpickr-calendar .flatpickr-months .flatpickr-monthDropdown-months,
.flatpickr-calendar .flatpickr-months input.cur-year {
  color: var(--e-global-color-primary) !important;
  background: transparent !important;
  font-family: "Sagita", Sans-serif !important;
  font-weight: 700;
}
.flatpickr-calendar .flatpickr-months .numInputWrapper span.arrowUp::after {
  border-bottom-color: var(--e-global-color-primary);
}
.flatpickr-calendar .flatpickr-months .numInputWrapper span.arrowDown::after {
  border-top-color: var(--e-global-color-primary);
}
.flatpickr-calendar {
  /* Weekday header row (Mo, Di, Mi…) */
}
.flatpickr-calendar .flatpickr-weekdays {
  background: transparent;
}
.flatpickr-calendar .flatpickr-weekday {
  color: var(--e-global-color-primary) !important;
  background: transparent !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.flatpickr-calendar {
  /* Day cells */
}
.flatpickr-calendar .flatpickr-day {
  color: var(--e-global-color-primary);
  border-radius: var(--px-radius-pill);
  border-color: transparent;
}
.flatpickr-calendar .flatpickr-day:hover, .flatpickr-calendar .flatpickr-day:focus {
  background: var(--e-global-color-primary);
  color: var(--e-global-color-eb736b7);
  border-color: var(--e-global-color-primary);
}
.flatpickr-calendar .flatpickr-day.today {
  border-color: var(--e-global-color-accent);
  color: var(--e-global-color-accent);
}
.flatpickr-calendar .flatpickr-day.today:hover {
  background: var(--e-global-color-accent);
  color: var(--e-global-color-eb736b7);
  border-color: var(--e-global-color-accent);
}
.flatpickr-calendar .flatpickr-day.selected, .flatpickr-calendar .flatpickr-day.startRange, .flatpickr-calendar .flatpickr-day.endRange, .flatpickr-calendar .flatpickr-day.selected:hover, .flatpickr-calendar .flatpickr-day.startRange:hover, .flatpickr-calendar .flatpickr-day.endRange:hover {
  background: var(--e-global-color-primary) !important;
  color: var(--e-global-color-eb736b7) !important;
  border-color: var(--e-global-color-primary) !important;
}
.flatpickr-calendar .flatpickr-day.inRange {
  background: rgba(63, 74, 52, 0.18) !important;
  color: var(--e-global-color-primary) !important;
  border-color: transparent !important;
  box-shadow: -5px 0 0 rgba(63, 74, 52, 0.18), 5px 0 0 rgba(63, 74, 52, 0.18) !important;
}
.flatpickr-calendar .flatpickr-day.flatpickr-disabled, .flatpickr-calendar .flatpickr-day.prevMonthDay, .flatpickr-calendar .flatpickr-day.nextMonthDay {
  color: rgba(63, 74, 52, 0.3) !important;
}
.flatpickr-calendar {
  /* Time picker (unused but tinted in case CF7 ever adds time fields) */
}
.flatpickr-calendar .flatpickr-time {
  background: transparent;
}
.flatpickr-calendar .flatpickr-time input,
.flatpickr-calendar .flatpickr-time .flatpickr-time-separator {
  color: var(--e-global-color-primary) !important;
}

.px_limit_left {
  padding-left: max(0px, (100vw - var(--container-max-width)) / 2) !important;
}
@media (max-width: calc(1025px - 0.02rem)) {
  .px_limit_left {
    padding-right: 5vw !important;
  }
}

.px_limit_right {
  padding-right: max(0px, (100vw - var(--container-max-width)) / 2) !important;
}
@media (max-width: calc(1025px - 0.02rem)) {
  .px_limit_right {
    padding-left: 5vw !important;
  }
}

.px_limit_left_less {
  padding-left: max(0px, calc((100vw - var(--container-max-width)) / 2) - calc(var(--container-max-width) / 3)) !important;
}

.px_limit_right_less {
  padding-right: max(0px, calc((100vw - var(--container-max-width)) / 2) - calc(var(--container-max-width) / 3)) !important;
}

.px_limit_less {
  padding-left: max(0px, calc((100vw - var(--container-max-width)) / 2) - calc(var(--container-max-width) / 3)) !important;
  padding-right: max(0px, calc((100vw - var(--container-max-width)) / 2) - calc(var(--container-max-width) / 3)) !important;
}

.px_img_container {
  --px-img-max-h: none;
  --px-img-min-h: 60rem;
  --px-img-mobile-h: 40rem;
}
@media (min-width: 1025px) {
  .px_img_container {
    min-height: var(--px-img-min-h);
  }
}
.px_img_container img {
  object-position: top;
}
@media (min-width: 768px) {
  .px_img_container,
  .px_img_container .elementor-widget-image {
    height: 100%;
  }
  .px_img_container .elementor-widget-container {
    position: relative;
    height: 100%;
  }
  .px_img_container img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    max-height: var(--px-img-max-h);
    object-fit: cover;
  }
}
@media (max-width: calc(768px - 0.02rem)) {
  .px_img_container img {
    width: 100%;
    max-height: var(--px-img-mobile-h);
    object-fit: cover;
  }
}

@media (min-width: 768px) and (max-width: calc(1025px - 0.02rem)) {
  .px_text_column {
    padding-block: 5rem !important;
  }
}

.px_edge {
  --px-edge-shell: 200rem;
  --px-edge-left-max: 52rem;
  --px-edge-right-max: 120rem;
  padding-inline: max(0px, (100% - var(--px-edge-shell)) / 2) !important;
}
.px_edge .px_limit_left {
  padding-left: max(0px, (min(100vw, var(--px-edge-shell)) - var(--container-max-width)) / 2) !important;
}
.px_edge .px_limit_right {
  padding-right: max(0px, (min(100vw, var(--px-edge-shell)) - var(--container-max-width)) / 2) !important;
}
.px_edge .px_limit_left_less {
  padding-left: max(0px, calc((min(100vw, var(--px-edge-shell)) - var(--container-max-width)) / 2) - calc(var(--container-max-width) / 3)) !important;
}
.px_edge .px_limit_right_less {
  padding-right: max(0px, calc((min(100vw, var(--px-edge-shell)) - var(--container-max-width)) / 2) - calc(var(--container-max-width) / 3)) !important;
}
.px_edge .px_limit_less {
  padding-left: max(0px, calc((min(100vw, var(--px-edge-shell)) - var(--container-max-width)) / 2) - calc(var(--container-max-width) / 3)) !important;
  padding-right: max(0px, calc((min(100vw, var(--px-edge-shell)) - var(--container-max-width)) / 2) - calc(var(--container-max-width) / 3)) !important;
}
@media (min-width: 1440px) {
  .px_edge > :first-child .elementor-widget-container {
    text-align: left !important;
  }
  .px_edge > :last-child .elementor-widget-container {
    text-align: right !important;
  }
  .px_edge > :first-child img {
    max-width: var(--px-edge-left-max) !important;
    height: clamp(60rem, 37.5vw, 76rem) !important;
  }
  .px_edge > :last-child img {
    max-width: var(--px-edge-right-max) !important;
    height: clamp(50rem, 31.25vw, 63.3rem) !important;
  }
}

.px_h1,
.px_h1 * {
  font-family: "Sagita", Sans-serif !important;
}
@media (max-width: calc(678px - 0.02rem)) {
  .px_h1,
  .px_h1 * {
    font-size: 4rem !important;
  }
}
@media (min-width: 678px) and (max-width: calc(1025px - 0.02rem)) {
  .px_h1,
  .px_h1 * {
    font-size: 5.5rem !important;
  }
}
@media (min-width: 1025px) {
  .px_h1,
  .px_h1 * {
    font-size: 7.5rem !important;
  }
}

.px_h2,
.px_h2 * {
  font-family: "Sagita", Sans-serif !important;
}
@media (max-width: calc(678px - 0.02rem)) {
  .px_h2,
  .px_h2 * {
    font-size: 3rem !important;
  }
}
@media (min-width: 678px) and (max-width: calc(1025px - 0.02rem)) {
  .px_h2,
  .px_h2 * {
    font-size: 4.5rem !important;
  }
}
@media (min-width: 1025px) {
  .px_h2,
  .px_h2 * {
    font-size: 6rem !important;
  }
}

.px_h3,
.px_h3 * {
  font-family: "Sagita", Sans-serif !important;
}
@media (max-width: calc(678px - 0.02rem)) {
  .px_h3,
  .px_h3 * {
    font-size: 2.25rem !important;
  }
}
@media (min-width: 678px) and (max-width: calc(1025px - 0.02rem)) {
  .px_h3,
  .px_h3 * {
    font-size: 3rem !important;
  }
}
@media (min-width: 1025px) {
  .px_h3,
  .px_h3 * {
    font-size: 4rem !important;
  }
}

.px_h4,
.px_h4 * {
  font-family: "Sagita", Sans-serif !important;
}
@media (max-width: calc(678px - 0.02rem)) {
  .px_h4,
  .px_h4 * {
    font-size: 1.75rem !important;
  }
}
@media (min-width: 678px) and (max-width: calc(1025px - 0.02rem)) {
  .px_h4,
  .px_h4 * {
    font-size: 2rem !important;
  }
}
@media (min-width: 1025px) {
  .px_h4,
  .px_h4 * {
    font-size: 2.5rem !important;
  }
}

.px_br {
  overflow: hidden;
  border-radius: var(--px-radius-lg);
}

.px_br_only {
  border-radius: var(--px-radius-lg);
}

.px_no_pointer {
  pointer-events: none;
}

.px_oh {
  overflow: hidden;
}

.px_no_scroll {
  overflow: hidden !important;
}

.px_gap {
  gap: 3rem;
}

.px_relative {
  position: relative;
}

.px_relative_inner .e-con-inner {
  position: relative;
}

.px_uppercase,
.px_uppercase * {
  text-transform: uppercase;
}

.px_no_margin,
.px_no_margin * {
  margin: 0;
}

.px_underline {
  text-decoration: underline;
}

.px_extra_bold * {
  font-weight: 800;
}

.px_bold * {
  font-weight: 700;
}

@media (min-width: 1025px) {
  .px_block.px_desktop {
    display: block;
  }
}

@media (min-width: 678px) and (max-width: calc(1025px - 0.02rem)) {
  .px_block.px_tablet {
    display: block;
  }
}

.px_pt {
  padding-top: 8rem;
}
@media (min-width: 678px) {
  .px_pt {
    padding-top: 10rem;
  }
}
@media (min-width: 1025px) {
  .px_pt {
    padding-top: 15rem;
  }
}

.px_pt_s {
  padding-top: 4rem;
}
@media (min-width: 678px) {
  .px_pt_s {
    padding-top: 5rem;
  }
}
@media (min-width: 1025px) {
  .px_pt_s {
    padding-top: 7.5rem;
  }
}

.px_pb {
  padding-bottom: 8rem;
}
@media (min-width: 678px) {
  .px_pb {
    padding-bottom: 10rem;
  }
}
@media (min-width: 1025px) {
  .px_pb {
    padding-bottom: 15rem;
  }
}

.px_pb_s {
  padding-bottom: 4rem;
}
@media (min-width: 678px) {
  .px_pb_s {
    padding-bottom: 5rem;
  }
}
@media (min-width: 1025px) {
  .px_pb_s {
    padding-bottom: 7.5rem;
  }
}

.px_py {
  padding-top: 8rem;
}
@media (min-width: 678px) {
  .px_py {
    padding-top: 10rem;
  }
}
@media (min-width: 1025px) {
  .px_py {
    padding-top: 15rem;
  }
}
.px_py {
  padding-bottom: 8rem;
}
@media (min-width: 678px) {
  .px_py {
    padding-bottom: 10rem;
  }
}
@media (min-width: 1025px) {
  .px_py {
    padding-bottom: 15rem;
  }
}

.px_py_s {
  padding-top: 4rem;
}
@media (min-width: 678px) {
  .px_py_s {
    padding-top: 5rem;
  }
}
@media (min-width: 1025px) {
  .px_py_s {
    padding-top: 7.5rem;
  }
}
.px_py_s {
  padding-bottom: 4rem;
}
@media (min-width: 678px) {
  .px_py_s {
    padding-bottom: 5rem;
  }
}
@media (min-width: 1025px) {
  .px_py_s {
    padding-bottom: 7.5rem;
  }
}

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