    :root {
          --sia-booking-accent: #687d25;
          --sia-soft-bg: #f8faf2;
        }

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

    .sia-booking-provider-hero {
          content-visibility: auto;
          contain-intrinsic-size: 900px;
        }

    .sia-booking-provider-hero .carousel,
        .sia-booking-provider-hero .carousel-inner,
        .sia-booking-provider-hero .carousel-item {
          min-height: 260px;
        }

    .sia-booking-provider-hero picture,
        .sia-booking-room-media picture {
          display: block;
          aspect-ratio: 3 / 2;
          background: #f3f4f0;
        }

    .sia-booking-provider-hero img,
        .sia-booking-room-media img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          display: block;
        }

    .sia-booking-carousel-control {
          width: 42px;
          height: 42px;
          top: 50%;
          transform: translateY(-50%);
          border-radius: 999px;
          background: rgba(0, 0, 0, .35);
          opacity: .86;
          margin: 0 .75rem;
        }

    .sia-booking-carousel-control:hover {
          opacity: 1;
        }

    .sia-booking-widget {
          border: 1px solid rgba(0, 0, 0, .08);
          border-radius: 1.25rem;
          background: linear-gradient(180deg, #fff, var(--sia-soft-bg));
        }

    .sia-booking-sticky-mobile {
          position: sticky;
          top: 0;
          z-index: 12;
        }

    .sia-booking-choice {
          display: grid;
          grid-template-columns: repeat(3, minmax(0, 1fr));
          gap: .75rem;
        }

    .sia-booking-choice .btn-check+label {
          display: block;
          height: 100%;
          padding: 1rem;
          border: 1px solid rgba(0, 0, 0, .12);
          border-radius: 1rem;
          background: #fff;
          cursor: pointer;
          transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
        }

    .sia-booking-choice .btn-check:checked+label {
          border-color: var(--sia-booking-accent);
          box-shadow: 0 .7rem 1.5rem rgba(104, 125, 37, .14);
          transform: translateY(-1px);
        }

    .sia-booking-choice strong {
          display: block;
          color: #1f2a12;
          line-height: 1.2;
        }

    .sia-booking-choice span {
          display: block;
          margin-top: .35rem;
          color: #596050;
          font-size: .875rem;
        }

    .sia-booking-date-buttons {
          display: grid;
          grid-template-columns: 1fr 1fr;
          gap: .75rem;
        }

    .sia-booking-date-btn {
          text-align: left;
          border: 1px solid rgba(0, 0, 0, .12);
          border-radius: .9rem;
          background: #fff;
          padding: .9rem 1rem;
          width: 100%;
        }

    .sia-booking-date-btn span {
          display: block;
          font-size: .78rem;
          color: #68705c;
        }

    .sia-booking-date-btn strong {
          display: block;
          margin-top: .15rem;
          color: #1f2a12;
        }

    .sia-booking-calendar-note {
          border: 1px dashed rgba(104, 125, 37, .45);
          background: rgba(104, 125, 37, .08);
          border-radius: 1rem;
        }

    .sia-booking-availability-legend {
          display: flex;
          flex-wrap: wrap;
          gap: .75rem;
          font-size: .875rem;
        }

    .sia-booking-legend-dot {
          display: inline-block;
          width: .75rem;
          height: .75rem;
          border-radius: 999px;
          margin-right: .35rem;
          vertical-align: middle;
          background: var(--sia-booking-accent);
        }

    .sia-booking-legend-dot--blocked {
          background: #b4483c;
        }

    .sia-booking-amenity-grid {
          display: flex;
          flex-wrap: wrap;
          align-items: flex-start;
          gap: .6rem;
        }

    .sia-booking-amenity-chip {
          display: inline-flex;
          flex: 0 0 auto;
          width: auto;
          max-width: 100%;
          align-items: center;
          gap: .55rem;
          min-height: 46px;
          padding: .7rem .95rem;
          border: 1px solid rgba(0, 0, 0, .08);
          border-radius: 999px;
          background: #fff;
          white-space: nowrap;
        }

    .sia-booking-amenity-more summary {
          cursor: pointer;
          color: var(--sia-booking-accent);
          font-weight: 700;
        }

    .sia-booking-room-card {
          overflow: hidden;
          border-radius: 1.1rem;
          border: 1px solid rgba(0, 0, 0, .08);
          background: #fff;
        }

    .sia-booking-room-media {
          min-height: 100%;
          background: #f3f4f0;
        }

    .sia-booking-room-card .hotel-content {
          padding: 1.25rem !important;
        }

    .sia-qs-calendar-day.is-sia-blocked {
          text-decoration: line-through;
          opacity: .45;
        }

    .sia-qs-calendar-day.is-sia-blocked::after {
          content: '';
          display: block;
          width: 5px;
          height: 5px;
          margin: 1px auto 0;
          border-radius: 50%;
          background: #b4483c;
        }

    @media (max-width: 767px) {
    
          .our-mission.pb-80,
          .hotel-single.pb-80 {
            padding-bottom: 42px !important;
          }
    
          .sia-booking-provider-hero {
            padding-top: 1rem;
          }
    
          .sia-booking-provider-hero .site-title {
            font-size: clamp(1.8rem, 8vw, 2.45rem);
          }
    
          .sia-booking-choice {
            grid-template-columns: 1fr;
          }
    
          .sia-booking-date-buttons {
            grid-template-columns: 1fr;
          }
    
          .sia-booking-widget {
            border-radius: 1rem;
          }
        }

    .sia-booking-entry {
          background: #fff;
        }

    .booking-type-sofort-buchen [data-booking-copy="request"],
        .booking-type-sofort-buchen [data-booking-form="request"] {
          display: none !important;
        }

    .booking-type-buchungsanfrage [data-booking-copy="instant"],
        .booking-type-unverbindliche-anfrage [data-booking-copy="instant"],
        .booking-type-buchungsanfrage [data-booking-form="instant"],
        .booking-type-unverbindliche-anfrage [data-booking-form="instant"] {
          display: none !important;
        }

    .sia-booking-form-section {
          scroll-margin-top: 90px;
        }

    .sia-booking-full-booking-form {
          border: 1px solid rgba(0, 0, 0, .08);
          border-radius: 1.15rem;
          padding: 1rem;
          background: #fff;
          box-shadow: 0 10px 26px rgba(0, 0, 0, .04);
        }

    .sia-booking-full-booking-form .accordion-item {
          border-color: rgba(0, 0, 0, .08);
        }

    .sia-booking-full-booking-form .accordion-button {
          font-weight: 600;
        }

    .sia-booking-price-summary {
          display: grid;
          gap: .25rem;
          padding: 1rem;
          border-radius: 1rem;
          background: #f8faf2;
          border: 1px solid rgba(104, 125, 37, .18);
        }

    .sia-booking-price-summary strong {
          font-size: 1.6rem;
          color: #1f2a12;
        }

    .sia-booking-image-carousel {
          position: relative;
          overflow: hidden;
          border-radius: 1rem;
        }

    .sia-booking-image-carousel .carousel-control-prev.sia-booking-carousel-control {
          left: 1rem;
          right: auto;
          margin: 0;
        }

    .sia-booking-image-carousel .carousel-control-next.sia-booking-carousel-control {
          right: 1rem;
          left: auto;
          margin: 0;
        }

    .sia-booking-provider-hero .add-wishlist.sia-booking-slider-wishlist {
          position: absolute;
          top: 1rem;
          right: 1rem;
          z-index: 8;
          width: auto;
          min-width: 46px;
          height: 46px;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          gap: .45rem;
          padding: 0 .95rem;
          border: 2px solid rgba(31, 42, 18, .14);
          border-radius: 999px;
          background: rgba(255, 255, 255, .96);
          color: #1f2a12;
          box-shadow: 0 12px 28px rgba(15, 23, 42, .18);
          text-decoration: none;
          font-weight: 700;
          line-height: 1;
          opacity: 1;
        }

    .sia-booking-provider-hero .add-wishlist.sia-booking-slider-wishlist::after {
          content: "Merken";
          font-size: .9rem;
          letter-spacing: .01em;
        }

    .sia-booking-provider-hero .add-wishlist.sia-booking-slider-wishlist i {
          font-size: 1.15rem;
          line-height: 1;
        }

    .sia-booking-provider-hero .add-wishlist.sia-booking-slider-wishlist:hover,
        .sia-booking-provider-hero .add-wishlist.sia-booking-slider-wishlist:focus-visible {
          border-color: rgba(157, 173, 48, .32);
          color: rgba(157, 173, 48, 1);
          background: #fff;
          outline: 3px solid rgba(157, 173, 48, .18);
          outline-offset: 3px;
        }

    .sia-booking-provider-hero .add-wishlist.sia-booking-slider-wishlist.is-active,
        .sia-booking-provider-hero .add-wishlist.sia-booking-slider-wishlist.active,
        .sia-booking-provider-hero .add-wishlist.sia-booking-slider-wishlist.saved,
        .sia-booking-provider-hero .add-wishlist.sia-booking-slider-wishlist.added,
        .sia-booking-provider-hero .add-wishlist.sia-booking-slider-wishlist[aria-pressed="true"],
        .sia-booking-provider-hero .add-wishlist.sia-booking-slider-wishlist[data-wishlist-active="true"] {
          border-color: rgba(157, 173, 48, 1);
          background: rgba(157, 173, 48, 1);
          color: #fff;
          box-shadow: 0 14px 30px rgba(157, 173, 48, .30);
        }

    .sia-booking-provider-hero .add-wishlist.sia-booking-slider-wishlist.is-active::after,
        .sia-booking-provider-hero .add-wishlist.sia-booking-slider-wishlist.active::after,
        .sia-booking-provider-hero .add-wishlist.sia-booking-slider-wishlist.saved::after,
        .sia-booking-provider-hero .add-wishlist.sia-booking-slider-wishlist.added::after,
        .sia-booking-provider-hero .add-wishlist.sia-booking-slider-wishlist[aria-pressed="true"]::after,
        .sia-booking-provider-hero .add-wishlist.sia-booking-slider-wishlist[data-wishlist-active="true"]::after {
          content: "Gemerkt";
        }

    @media (max-width: 575px) {
          .sia-booking-provider-hero .add-wishlist.sia-booking-slider-wishlist {
            top: .75rem;
            right: .75rem;
            height: 42px;
            min-width: 42px;
            padding: 0 .75rem;
            font-size: .86rem;
          }
        }

    .sia-booking-room-card.hotel-item {
          padding: 0 !important;
          border-radius: 1.1rem;
          overflow: hidden;
        }

    .sia-booking-room-card .row {
          margin: 0 !important;
        }

    .sia-booking-room-card .row>[class*="col-"] {
          padding: 0 !important;
        }

    .sia-booking-room-media {
          margin: 0 !important;
          border: 0 !important;
          border-radius: 0 !important;
          overflow: hidden;
          height: 100%;
          min-height: 310px;
        }

    .sia-booking-room-media .carousel-inner,
        .sia-booking-room-media .carousel-item,
        .sia-booking-room-media picture,
        .sia-booking-room-media img {
          width: 100%;
          height: 100%;
          min-height: 310px;
          margin: 0 !important;
          border: 0 !important;
        }

    .sia-booking-room-media picture {
          aspect-ratio: auto !important;
          display: block;
        }

    .sia-booking-room-media img {
          object-fit: cover;
          display: block;
        }

    .sia-booking-room-card .hotel-content {
          padding: 1.5rem 1.6rem !important;
        }

    .sia-booking-room-card .col-md-5 {
          min-width: 0;
        }

    .sia-booking-room-media {
          position: relative !important;
          display: block !important;
          width: 100% !important;
          height: auto !important;
          min-height: 0 !important;
          aspect-ratio: 3 / 2 !important;
          background: #f3f4f0 !important;
          overflow: hidden !important;
        }

    .sia-booking-room-media .carousel-inner,
        .sia-booking-room-media .carousel-item,
        .sia-booking-room-media picture {
          position: absolute !important;
          inset: 0 !important;
          width: 100% !important;
          height: 100% !important;
          min-height: 0 !important;
          margin: 0 !important;
          border: 0 !important;
          border-radius: 0 !important;
          overflow: hidden !important;
        }

    .sia-booking-room-media .carousel-item {
          float: none !important;
        }

    .sia-booking-room-media .carousel-item:not(.active) {
          display: none !important;
        }

    .sia-booking-room-media .carousel-item.active,
        .sia-booking-room-media .carousel-item-next,
        .sia-booking-room-media .carousel-item-prev {
          display: block !important;
        }

    .sia-booking-room-media img {
          width: 100% !important;
          height: 100% !important;
          min-height: 0 !important;
          display: block !important;
          object-fit: cover !important;
          object-position: center !important;
          margin: 0 !important;
          border: 0 !important;
        }

    @media (min-width: 768px) {
          .sia-booking-room-media {
            height: 100% !important;
            min-height: 320px !important;
            aspect-ratio: auto !important;
          }
    
          .sia-booking-room-card .row {
            align-items: stretch !important;
          }
        }

    @media (max-width: 767px) {
          .sia-booking-room-media {
            height: auto !important;
            min-height: 0 !important;
            aspect-ratio: 16 / 10 !important;
          }
        }

    .sia-booking-amenity-chip {
          border-radius: .85rem;
          white-space: normal;
          min-width: 0;
        }

    .sia-qs-guests {
          position: relative;
        }

    .sia-qs-guests-toggle {
          width: 100%;
          min-height: 54px;
          display: flex;
          align-items: center;
          justify-content: space-between;
          gap: .75rem;
          padding: .75rem 1rem;
          border: 1px solid rgba(0, 0, 0, .13);
          border-radius: .95rem;
          background: #fff;
          color: #3f3a33;
          font-weight: 500;
        }

    .sia-qs-guests-popover {
          position: fixed;
          z-index: 1095;
          overflow: auto;
          width: min(360px, calc(100vw - 28px));
          max-height: min(620px, calc(100vh - 32px));
          padding: 0;
          border: 1px solid rgba(20, 24, 33, .12);
          border-radius: 18px;
          background: #fff;
          box-shadow: 0 18px 48px rgba(15, 23, 42, .18);
          color: #1f2937;
          font-size: .95rem;
        }

    .sia-qs-guests-popover[hidden] {
          display: none !important;
        }

    .sia-qs-room {
          padding: 14px;
        }

    .sia-qs-room+.sia-qs-room {
          border-top: 1px solid rgba(20, 24, 33, .08);
        }

    .sia-qs-room-title {
          display: flex;
          justify-content: space-between;
          align-items: center;
          gap: .75rem;
          margin-bottom: .65rem;
          font-weight: 500;
          color: #172033;
        }

    .sia-qs-room-remove,
        .sia-qs-link-btn {
          border: 0 !important;
          background: transparent !important;
          color: #007eaa !important;
          font-weight: 500 !important;
          padding: 0 !important;
          box-shadow: none !important;
        }

    .sia-qs-counter {
          display: grid;
          grid-template-columns: minmax(0, 1fr) 34px 30px 34px;
          gap: .5rem;
          align-items: center;
          min-height: 44px;
        }

    .sia-qs-counter+.sia-qs-counter {
          margin-top: .35rem;
        }

    .sia-qs-counter-label {
          font-weight: 400;
          line-height: 1.15;
          color: #3f3a33;
        }

    .sia-qs-counter-label span {
          display: block;
          margin-top: .12rem;
          font-size: .82rem;
          color: #6b7280;
          font-weight: 400;
        }

    .sia-qs-counter-value {
          text-align: center;
          font-weight: 600;
          color: #172033;
        }

    .sia-qs-counter-btn {
          width: 34px !important;
          height: 34px !important;
          min-width: 34px !important;
          min-height: 34px !important;
          padding: 0 !important;
          display: inline-flex !important;
          align-items: center !important;
          justify-content: center !important;
          border: 1px solid rgba(0, 126, 170, .35) !important;
          border-radius: 999px !important;
          background: #fff !important;
          color: #007eaa !important;
          font-size: 1rem !important;
          font-weight: 600 !important;
          line-height: 1 !important;
          box-shadow: none !important;
        }

    .sia-qs-counter-btn:disabled {
          opacity: .38;
          cursor: not-allowed;
        }

    .sia-qs-guests-actions {
          display: flex;
          align-items: center;
          justify-content: space-between;
          gap: .75rem;
          padding: 12px 14px;
          border-top: 1px solid rgba(20, 24, 33, .08);
          background: #fbfcfa;
        }

    .sia-qs-apply {
          min-height: 40px;
          padding: 0 16px;
          border: 0;
          border-radius: 999px;
          background: #007eaa;
          color: #fff;
          font-weight: 600;
          box-shadow: none;
        }

    @media (max-width: 767px) {
          .sia-booking-amenity-grid {
            display: grid !important;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            overflow: visible !important;
            gap: .55rem;
            padding-bottom: 0;
            scroll-snap-type: none;
          }
    
          .sia-booking-amenity-chip {
            font-size: .9rem;
            min-height: 48px;
            padding: .65rem .7rem;
          }
    
          .sia-booking-full-booking-form {
            padding: .75rem;
          }
        }

    .sia-booking-page .sia-booking-form.sia-qs .sia-qs-calendar {
          position: fixed !important;
          left: 50% !important;
          top: 50% !important;
          transform: translate(-50%, -50%) !important;
          width: min(1120px, calc(100vw - 32px)) !important;
          max-height: calc(100vh - 32px) !important;
          overflow: hidden !important;
          z-index: 1100 !important;
          background: #fff !important;
          color: #172033 !important;
          border: 1px solid rgba(15, 23, 42, .12) !important;
          border-radius: 30px !important;
          box-shadow: 0 28px 80px rgba(15, 23, 42, .28) !important;
        }

    .sia-booking-page .sia-booking-form.sia-qs .sia-qs-calendar[hidden] {
          display: none !important;
        }

    .sia-booking-page .sia-booking-form.sia-qs .sia-qs-calendar::before {
          content: "";
          position: fixed;
          inset: -100vh -100vw;
          z-index: -1;
          background: rgba(15, 23, 42, .34);
          pointer-events: none;
        }

    .sia-booking-page .sia-booking-form.sia-qs .sia-qs-calendar-head {
          display: grid !important;
          grid-template-columns: 72px minmax(0, 1fr) 72px !important;
          align-items: center !important;
          gap: 1rem !important;
          padding: 22px 24px !important;
          background: #f6f2ec !important;
          border-bottom: 1px solid rgba(15, 23, 42, .12) !important;
        }

    .sia-booking-page .sia-booking-form.sia-qs .sia-qs-calendar-title {
          margin: 0 !important;
          text-align: center !important;
          color: #172033 !important;
          font-size: clamp(1.18rem, 2vw, 1.65rem) !important;
          font-weight: 700 !important;
          line-height: 1.2 !important;
        }

    .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-nav {
          width: 56px !important;
          height: 56px !important;
          min-width: 56px !important;
          min-height: 56px !important;
          display: inline-flex !important;
          align-items: center !important;
          justify-content: center !important;
          padding: 0 !important;
          margin: 0 !important;
          border: 0 !important;
          border-radius: 999px !important;
          background: #fff !important;
          color: #007eaa !important;
          box-shadow: 0 8px 22px rgba(15, 23, 42, .06) !important;
          font-size: 1.45rem !important;
          line-height: 1 !important;
          opacity: 1 !important;
        }

    .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-nav:hover,
        .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-nav:focus-visible {
          background: #eef8fb !important;
          color: #007eaa !important;
          outline: 3px solid rgba(0, 126, 170, .18) !important;
          outline-offset: 2px !important;
        }

    .sia-booking-page .sia-booking-form.sia-qs .sia-qs-calendar-months {
          display: grid !important;
          grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
          gap: 42px !important;
          padding: 34px 42px 30px !important;
          max-height: calc(100vh - 210px) !important;
          overflow: auto !important;
          background: #fff !important;
        }

    .sia-booking-page .sia-booking-form.sia-qs .sia-qs-calendar-month {
          min-width: 0 !important;
        }

    .sia-booking-page .sia-booking-form.sia-qs .sia-qs-calendar-month-title {
          margin: 0 0 22px !important;
          text-align: center !important;
          color: #172033 !important;
          font-size: clamp(1.06rem, 1.7vw, 1.45rem) !important;
          font-weight: 700 !important;
          line-height: 1.25 !important;
        }

    .sia-booking-page .sia-booking-form.sia-qs .sia-qs-calendar-grid {
          display: grid !important;
          grid-template-columns: repeat(7, minmax(38px, 1fr)) !important;
          align-items: center !important;
          row-gap: 14px !important;
          column-gap: 8px !important;
          text-align: center !important;
        }

    .sia-booking-page .sia-booking-form.sia-qs .sia-qs-calendar-weekday {
          color: #172033 !important;
          font-weight: 700 !important;
          font-size: .98rem !important;
          line-height: 1 !important;
          padding-bottom: 6px !important;
        }

    .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-day {
          width: 46px !important;
          height: 46px !important;
          min-width: 46px !important;
          min-height: 46px !important;
          display: inline-flex !important;
          align-items: center !important;
          justify-content: center !important;
          justify-self: center !important;
          padding: 0 !important;
          margin: 0 auto !important;
          border: 0 !important;
          border-radius: 999px !important;
          background: transparent !important;
          color: #172033 !important;
          box-shadow: none !important;
          font-size: 1rem !important;
          font-weight: 650 !important;
          line-height: 1 !important;
          text-decoration: none !important;
          opacity: 1 !important;
          cursor: pointer !important;
          appearance: none !important;
          -webkit-appearance: none !important;
        }

    .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-day:hover:not(:disabled),
        .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-day:focus-visible:not(:disabled) {
          background: #eef8fb !important;
          color: #007eaa !important;
          outline: 3px solid rgba(0, 126, 170, .16) !important;
          outline-offset: 2px !important;
        }

    .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-day[disabled] {
          background: transparent !important;
          color: #b8bdc5 !important;
          cursor: not-allowed !important;
          opacity: 1 !important;
          box-shadow: none !important;
        }

    .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-day.is-sia-in-range:not(.is-sia-range-edge) {
          background: #e7f4f9 !important;
          color: #172033 !important;
          border-radius: 999px !important;
        }

    .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-day.is-sia-selected,
        .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-day.is-sia-range-edge,
        .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-day.is-sia-selected[disabled],
        .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-day.is-sia-range-edge[disabled] {
          background: #007eaa !important;
          color: #fff !important;
          box-shadow: 0 12px 26px rgba(0, 126, 170, .25) !important;
          opacity: 1 !important;
          text-decoration: none !important;
        }

    .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-day.is-sia-blocked {
          background: #fff3f1 !important;
          color: #b4483c !important;
          text-decoration: line-through !important;
        }

    .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-day.is-sia-blocked::after {
          display: none !important;
        }

    .sia-booking-page .sia-booking-form.sia-qs .sia-qs-calendar-footer {
          display: flex !important;
          align-items: center !important;
          justify-content: space-between !important;
          gap: 1rem !important;
          padding: 20px 24px !important;
          border-top: 1px solid rgba(15, 23, 42, .10) !important;
          background: #fff !important;
        }

    .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-clear,
        .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-apply {
          min-height: 48px !important;
          display: inline-flex !important;
          align-items: center !important;
          justify-content: center !important;
          padding: 0 24px !important;
          margin: 0 !important;
          border-radius: 999px !important;
          font-weight: 700 !important;
          line-height: 1 !important;
          box-shadow: none !important;
          appearance: none !important;
          -webkit-appearance: none !important;
        }

    .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-clear {
          border: 1px solid rgba(15, 23, 42, .20) !important;
          background: #fff !important;
          color: #172033 !important;
        }

    .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-apply {
          border: 0 !important;
          background: #007eaa !important;
          color: #fff !important;
          box-shadow: 0 12px 26px rgba(0, 126, 170, .22) !important;
        }

    .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-apply:disabled {
          opacity: .42 !important;
          cursor: not-allowed !important;
          box-shadow: none !important;
        }

    @media (min-width: 992px) {
          .sia-booking-page .sia-booking-focus-side {
            width: fit-content;
            margin-left: auto;
          }
    
          .sia-booking-page .sia-booking-focus-rating {
            justify-content: flex-start;
            text-align: left;
            padding-left: 0;
            margin-left: 0;
          }
        }

    @media (max-width: 767px) {
          .sia-booking-page .sia-booking-form.sia-qs .sia-qs-calendar {
            left: 0 !important;
            right: 0 !important;
            top: auto !important;
            bottom: 0 !important;
            width: 100% !important;
            max-height: 92vh !important;
            transform: none !important;
            border-radius: 26px 26px 0 0 !important;
          }
    
          .sia-booking-page .sia-booking-form.sia-qs .sia-qs-calendar-head {
            grid-template-columns: 56px minmax(0, 1fr) 56px !important;
            padding: 16px !important;
          }
    
          .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-nav {
            width: 46px !important;
            height: 46px !important;
            min-width: 46px !important;
            min-height: 46px !important;
          }
    
          .sia-booking-page .sia-booking-form.sia-qs .sia-qs-calendar-months {
            grid-template-columns: 1fr !important;
            gap: 0 !important;
            padding: 24px 18px 20px !important;
            max-height: calc(92vh - 150px) !important;
          }
    
          .sia-booking-page .sia-booking-form.sia-qs .sia-qs-calendar-grid {
            grid-template-columns: repeat(7, minmax(36px, 1fr)) !important;
            row-gap: 10px !important;
            column-gap: 2px !important;
          }
    
          .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-day {
            width: 40px !important;
            height: 40px !important;
            min-width: 40px !important;
            min-height: 40px !important;
            font-size: .95rem !important;
          }
    
          .sia-booking-page .sia-booking-form.sia-qs .sia-qs-calendar-footer {
            position: sticky !important;
            bottom: 0 !important;
            padding: 14px 16px calc(14px + env(safe-area-inset-bottom)) !important;
          }
        }

    .sia-booking-page .sia-booking-form .sia-booking-full-booking-form .sia-qs-date-buttons {
          display: grid !important;
          grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
          gap: .75rem !important;
        }

    .sia-booking-page .sia-booking-form .sia-booking-full-booking-form button.sia-qs-date-btn {
          display: block !important;
          width: 100% !important;
          min-height: 74px !important;
          padding: .85rem 1rem !important;
          border: 1px solid #dbe3dc !important;
          border-radius: 18px !important;
          background: #f8faf6 !important;
          color: #1f2a1a !important;
          text-align: left !important;
          box-shadow: none !important;
          cursor: pointer !important;
          pointer-events: auto !important;
          appearance: none !important;
        }

    .sia-booking-page .sia-booking-form .sia-booking-full-booking-form button.sia-qs-date-btn span {
          display: block !important;
          font-size: .9rem !important;
          line-height: 1.15 !important;
          font-weight: 500 !important;
          color: #6b7567 !important;
          margin: 0 0 .25rem !important;
        }

    .sia-booking-page .sia-booking-form .sia-booking-full-booking-form button.sia-qs-date-btn strong {
          display: block !important;
          font-size: 1.08rem !important;
          line-height: 1.2 !important;
          font-weight: 600 !important;
          color: #1f2a1a !important;
          margin: 0 !important;
        }

    .sia-booking-page .sia-booking-form .sia-booking-full-booking-form button.sia-qs-date-btn:hover,
        .sia-booking-page .sia-booking-form .sia-booking-full-booking-form button.sia-qs-date-btn:focus-visible {
          border-color: #8fa86b !important;
          background: #fff !important;
          outline: 3px solid rgba(143, 168, 107, .18) !important;
          outline-offset: 2px !important;
        }

    @media (max-width: 575px) {
          .sia-booking-page .sia-booking-form .sia-booking-full-booking-form .sia-qs-date-buttons {
            grid-template-columns: 1fr !important;
          }
        }

    .sia-booking-page .sia-booking-form .sia-booking-date-row {
          align-items: flex-start !important;
        }

    .sia-booking-page .sia-booking-form .sia-booking-select-col {
          align-self: flex-start !important;
        }

    .sia-booking-page .sia-booking-form select.sia-booking-native-select {
          display: block !important;
          visibility: visible !important;
          opacity: 1 !important;
          position: static !important;
          width: 100% !important;
          min-height: 54px !important;
          margin: 0 !important;
          padding: .75rem 2.6rem .75rem 1rem !important;
          border: 1px solid #dfe5e1 !important;
          border-radius: 18px !important;
          background-color: #fff !important;
          color: #252525 !important;
          font-size: 1rem !important;
          line-height: 1.25 !important;
          appearance: auto !important;
          -webkit-appearance: menulist !important;
          cursor: pointer !important;
          z-index: 3 !important;
        }

    .sia-booking-page .sia-booking-form select.sia-booking-native-select+.nice-select,
        .sia-booking-page .sia-booking-form .nice-select.sia-booking-native-select {
          display: none !important;
        }

    .sia-booking-page .sia-booking-form select.sia-booking-native-select,
        .sia-booking-page .sia-booking-form select.form-select {
          display: block !important;
          visibility: visible !important;
          opacity: 1 !important;
          position: relative !important;
          z-index: 2 !important;
          width: 100% !important;
          min-height: 54px !important;
          padding: .75rem 2.2rem .75rem 1rem !important;
          border: 1px solid rgba(31, 42, 18, .14) !important;
          border-radius: .95rem !important;
          background-color: #fff !important;
          background-image: none !important;
          color: #1f2a12 !important;
          font: inherit !important;
          line-height: 1.25 !important;
          cursor: pointer !important;
          pointer-events: auto !important;
          -webkit-appearance: menulist !important;
          -moz-appearance: auto !important;
          appearance: auto !important;
        }

    .sia-booking-page .sia-booking-form .nice-select {
          display: none !important;
          pointer-events: none !important;
        }

    .sia-booking-page .sia-booking-form .sia-booking-select-col {
          display: flex !important;
          flex-direction: column !important;
          justify-content: flex-start !important;
        }

    .sia-booking-page .sia-booking-form .sia-booking-select-col .form-label {
          line-height: 1.2 !important;
        }

    .sia-booking-amenity-grid>.sia-booking-amenity-chip {
          flex: 0 0 max-content !important;
          width: auto !important;
          min-width: 0 !important;
          max-width: 100% !important;
          white-space: nowrap !important;
        }

    .sia-booking-page .sia-booking-form .form-label {
          margin-bottom: .45rem !important;
        }

    @media (min-width: 992px) {
          .sia-booking-page .sia-booking-form .sia-booking-date-row>[class*="col-lg-"] {
            padding-top: 0 !important;
          }
    
          .sia-booking-page .sia-booking-form .sia-booking-select-col {
            padding-top: 1.95rem !important;
          }
        }

    .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-day.is-sia-past:not(.is-sia-selected):not(.is-sia-range-edge) {
          color: #b8bdc5 !important;
        }

    .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-day.is-sia-past:hover:not(:disabled),
        .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-day.is-sia-past:focus-visible:not(:disabled) {
          color: #007eaa !important;
        }

    .sia-booking-page .sia-booking-form.booking-type-unverbindliche-anfrage .sia-booking-full-booking-form,
        .sia-booking-page .sia-booking-form.booking-type-unverbindliche-anfrage .accordion {
          display: none !important;
        }

    .sia-booking-page .sia-booking-form.booking-type-unverbindliche-anfrage .hotel-booking .container {
          max-width: 100%;
        }

    .sia-booking-page .sia-booking-form.booking-type-unverbindliche-anfrage .user-profile-card.add-listing {
          border-radius: 1rem;
          background: #fff;
          margin-bottom: 1rem;
        }

    .sia-booking-page .sia-booking-form .sia-booking-date-input-wrap {
          position: relative;
        }

    .sia-booking-page .sia-booking-form input.sia-booking-calendar-input {
          cursor: pointer !important;
          background: #fff !important;
          padding-right: 3rem !important;
        }

    .sia-booking-page .sia-booking-form .sia-booking-date-icon-btn {
          position: absolute;
          right: .55rem;
          top: 50%;
          transform: translateY(-50%);
          width: 38px;
          height: 38px;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          border: 0;
          border-radius: 999px;
          background: rgba(0, 126, 170, .10);
          color: #007eaa;
          z-index: 3;
        }

    .sia-booking-page .sia-booking-form .sia-booking-date-icon-btn:hover,
        .sia-booking-page .sia-booking-form .sia-booking-date-icon-btn:focus-visible {
          background: rgba(0, 126, 170, .18);
          outline: 3px solid rgba(0, 126, 170, .16);
          outline-offset: 2px;
        }

    .sia-booking-page .sia-booking-form.booking-type-unverbindliche-anfrage select.form-control,
        .sia-booking-page .sia-booking-form.booking-type-unverbindliche-anfrage select.sia-booking-native-select {
          display: block !important;
          width: 100% !important;
          min-height: 54px !important;
          padding: .75rem 2.2rem .75rem 1rem !important;
          border: 1px solid rgba(31, 42, 18, .14) !important;
          border-radius: .95rem !important;
          background-color: #fff !important;
          color: #1f2a12 !important;
          appearance: auto !important;
          -webkit-appearance: menulist !important;
          cursor: pointer !important;
        }

    .sia-booking-page .sia-booking-form.booking-type-unverbindliche-anfrage input,
        .sia-booking-page .sia-booking-form.booking-type-unverbindliche-anfrage textarea,
        .sia-booking-page .sia-booking-form.booking-type-unverbindliche-anfrage select,
        .sia-booking-page .sia-booking-form.booking-type-unverbindliche-anfrage button {
          pointer-events: auto !important;
        }

    .sia-booking-page .sia-booking-form.booking-type-unverbindliche-anfrage input.form-control,
        .sia-booking-page .sia-booking-form.booking-type-unverbindliche-anfrage textarea.form-control,
        .sia-booking-page .sia-booking-form.booking-type-unverbindliche-anfrage select.form-control {
          position: relative !important;
          z-index: 2 !important;
        }

    .sia-booking-page .sia-booking-form.booking-type-unverbindliche-anfrage .sia-booking-date-input-wrap input.sia-booking-calendar-input {
          position: relative !important;
          z-index: 2 !important;
          user-select: text !important;
        }

    .sia-booking-page .sia-booking-form.booking-type-unverbindliche-anfrage .sia-booking-date-icon-btn {
          z-index: 4 !important;
          pointer-events: auto !important;
        }

    .sia-booking-page .sia-booking-form.booking-type-unverbindliche-anfrage .sia-qs-calendar,
        .sia-booking-page .sia-booking-form.booking-type-unverbindliche-anfrage .sia-qs-calendar * {
          pointer-events: auto !important;
        }

    .sia-booking-anchor-nav {
          position: sticky;
          top: 0;
          z-index: 18;
          margin: .85rem 0 1rem;
          padding: .55rem;
          border: 1px solid rgba(31, 42, 18, .10);
          border-radius: 999px;
          background: rgba(255, 255, 255, .94);
          box-shadow: 0 12px 28px rgba(15, 23, 42, .08);
          backdrop-filter: blur(12px);
        }

    .sia-booking-anchor-nav__scroll {
          display: flex;
          gap: .45rem;
          overflow-x: auto;
          scrollbar-width: none;
          -webkit-overflow-scrolling: touch;
        }

    .sia-booking-anchor-nav__scroll::-webkit-scrollbar {
          display: none;
        }

    .sia-booking-anchor-nav a {
          flex: 0 0 auto;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          min-height: 40px;
          padding: .55rem .9rem;
          border-radius: 999px;
          color: #1f2a12;
          background: #f8faf2;
          border: 1px solid rgba(31, 42, 18, .08);
          text-decoration: none;
          font-weight: 650;
          font-size: .92rem;
          line-height: 1;
          white-space: nowrap;
        }

    .sia-booking-anchor-nav a:hover,
        .sia-booking-anchor-nav a:focus-visible {
          background: #eef8fb;
          color: #007eaa;
          outline: 3px solid rgba(0, 126, 170, .16);
          outline-offset: 2px;
        }

    .sia-booking-info-panel {
          margin: 1rem 0;
          border: 1px solid rgba(31, 42, 18, .10);
          border-radius: 1.1rem;
          background: #fff;
          box-shadow: 0 10px 24px rgba(15, 23, 42, .045);
          overflow: clip;
          scroll-margin-top: 92px;
        }

    .sia-booking-info-panel>summary {
          display: flex;
          align-items: center;
          justify-content: space-between;
          gap: 1rem;
          padding: 1rem 1.15rem;
          cursor: pointer;
          list-style: none;
          color: #1f2a12;
          font-weight: 750;
          line-height: 1.2;
        }

    .sia-booking-info-panel>summary::-webkit-details-marker {
          display: none;
        }

    .sia-booking-info-panel>summary::after {
          content: "+";
          width: 32px;
          height: 32px;
          flex: 0 0 32px;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          border-radius: 999px;
          background: #f8faf2;
          color: #687d25;
          font-size: 1.25rem;
          line-height: 1;
          font-weight: 800;
        }

    .sia-booking-info-panel[open]>summary {
          border-bottom: 1px solid rgba(31, 42, 18, .08);
        }

    .sia-booking-info-panel[open]>summary::after {
          content: "−";
        }

    .sia-booking-info-panel__title {
          display: grid;
          gap: .15rem;
        }

    .sia-booking-info-panel__title small {
          color: #6b7280;
          font-size: .86rem;
          font-weight: 500;
        }

    .sia-booking-info-panel__body {
          padding: .85rem 1.1rem 1.1rem;
          content-visibility: auto;
          contain-intrinsic-size: 640px;
        }

    .sia-booking-info-panel__body>.listing-item,
        .sia-booking-info-panel__body>.hotel-area.listing-item,
        .sia-booking-info-panel__body>.faq-area.listing-item {
          margin: 0 !important;
          padding: .25rem 0 !important;
          border: 0 !important;
        }

    .sia-booking-info-panel__body .container {
          max-width: 100%;
          padding-left: 0;
          padding-right: 0;
        }

    .sia-booking-info-panel__body .row.mt-20 {
          margin-top: .75rem !important;
        }

    .sia-booking-info-panel__body .col-lg-4.mt-30 {
          margin-top: .75rem !important;
        }

    .sia-booking-info-panel__body iframe {
          min-height: 280px;
          border-radius: 1rem;
        }

    .sia-booking-mobile-sticky-cta {
          display: none;
        }

    @media (max-width: 767px) {
          html {
            scroll-padding-top: 72px;
          }
    
          body {
            padding-bottom: calc(78px + env(safe-area-inset-bottom));
          }
    
          .our-mission.sia-booking-provider-hero.pb-80 {
            padding-bottom: 22px !important;
          }
    
          .hotel-single.pb-80 {
            padding-bottom: 82px !important;
          }
    
          .listing-content>.pt-40 {
            padding-top: 1rem !important;
          }
    
          .listing-item {
            margin-bottom: .85rem !important;
          }
    
          .sia-booking-widget {
            margin-bottom: .75rem !important;
          }
    
          .sia-booking-anchor-nav {
            margin: .65rem -2px .85rem;
            padding: .45rem;
            border-radius: 1rem;
            top: 0;
          }
    
          .sia-booking-anchor-nav a {
            min-height: 38px;
            padding: .5rem .78rem;
            font-size: .86rem;
          }
    
          .sia-booking-info-panel {
            margin: .75rem 0;
            border-radius: 1rem;
            scroll-margin-top: 76px;
          }
    
          .sia-booking-info-panel>summary {
            padding: .9rem .95rem;
          }
    
          .sia-booking-info-panel__body {
            padding: .75rem .9rem .95rem;
            contain-intrinsic-size: 460px;
          }
    
          .sia-booking-info-panel__title small {
            font-size: .8rem;
          }
    
          .sia-booking-mobile-sticky-cta {
            position: fixed;
            left: 0;
            right: 0;
            bottom: 0;
            z-index: 1080;
            display: grid;
            grid-template-columns: 1.35fr 1fr 1fr;
            gap: .5rem;
            padding: .65rem .85rem calc(.65rem + env(safe-area-inset-bottom));
            background: rgba(255, 255, 255, .96);
            border-top: 1px solid rgba(31, 42, 18, .12);
            box-shadow: 0 -14px 34px rgba(15, 23, 42, .14);
            backdrop-filter: blur(12px);
          }
    
          .sia-booking-mobile-sticky-cta a {
            min-height: 46px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: .35rem;
            border-radius: 999px;
            font-weight: 750;
            text-decoration: none;
            line-height: 1;
            font-size: .88rem;
          }
    
          .sia-booking-mobile-sticky-cta a:first-child {
            color: #fff;
            background: #007eaa;
            box-shadow: 0 10px 22px rgba(0, 126, 170, .24);
          }
    
          .sia-booking-mobile-sticky-cta a:not(:first-child) {
            color: #1f2a12;
            background: #f8faf2;
            border: 1px solid rgba(31, 42, 18, .12);
          }
        }

    @media (min-width: 768px) {
          .sia-booking-info-panel {
            margin: 1.15rem 0 !important;
            border: 0 !important;
            border-radius: 0 !important;
            background: transparent !important;
            box-shadow: none !important;
            overflow: visible !important;
          }
    
          .sia-booking-info-panel>summary {
            display: none !important;
          }
    
          .sia-booking-info-panel__body {
            padding: 0 !important;
            content-visibility: visible !important;
            contain-intrinsic-size: auto !important;
          }
        }

    @media (max-width: 767px) {
          .sia-booking-info-panel {
            width: calc(100% + 1.5rem) !important;
            margin: .75rem -.75rem !important;
            border: 0 !important;
            border-top: 1px solid rgba(31, 42, 18, .10) !important;
            border-bottom: 1px solid rgba(31, 42, 18, .10) !important;
            border-radius: 0 !important;
            background: transparent !important;
            box-shadow: none !important;
            overflow: visible !important;
          }
    
          .sia-booking-info-panel>summary {
            min-height: 58px !important;
            padding: .8rem .75rem !important;
            border: 0 !important;
            border-radius: 0 !important;
            background: transparent !important;
          }
    
          .sia-booking-info-panel>summary::after {
            width: 34px !important;
            height: 34px !important;
            flex: 0 0 34px !important;
            background: #f8faf2 !important;
            border: 1px solid rgba(104, 125, 37, .12) !important;
          }
    
          .sia-booking-info-panel[open]>summary {
            min-height: 0 !important;
            padding: .45rem .75rem 0 !important;
            justify-content: flex-end !important;
            border-bottom: 0 !important;
          }
    
          .sia-booking-info-panel[open]>summary .sia-booking-info-panel__summary-title {
            display: none !important;
          }
    
          .sia-booking-info-panel[open]>summary .sia-booking-info-panel__summary-action {
            display: inline-flex !important;
            margin-left: auto !important;
          }
    
          .sia-booking-info-panel[open]>summary .sia-booking-info-panel__summary-action::before {
            content: "weniger anzeigen";
          }
    
          .sia-booking-info-panel[open]>summary .sia-booking-info-panel__summary-action {
            font-size: .86rem !important;
            font-weight: 700 !important;
            color: #687d25 !important;
          }
    
          .sia-booking-info-panel[open]>summary::after {
            content: "−" !important;
          }
    
          .sia-booking-info-panel__summary-title {
            color: #1f2a12 !important;
            font-size: 1.02rem !important;
            font-weight: 800 !important;
            line-height: 1.2 !important;
          }
    
          .sia-booking-info-panel__summary-action {
            color: #687d25 !important;
            font-size: .9rem !important;
            font-weight: 700 !important;
          }
    
          .sia-booking-info-panel:not([open]) .sia-booking-info-panel__summary-action::before {
            content: "";
          }
    
          .sia-booking-info-panel__body {
            padding: .25rem .75rem 1rem !important;
            content-visibility: auto;
            contain-intrinsic-size: 460px;
          }
    
          .sia-booking-info-panel__body .widget-title {
            margin-top: .35rem !important;
          }
        }

    @media (max-width: 991.98px) {
          .sia-booking-page .sia-booking-widget {
            padding: 1rem !important;
          }
    
          .sia-booking-page .sia-booking-rating {
            text-align: left !important;
          }
    
          .sia-booking-page .sia-booking-provider-keyfacts .listing-feature {
            height: 100%;
          }
    
          .sia-booking-page .sia-booking-room-card .hotel-content {
            padding: 1.1rem !important;
          }
    
          .sia-booking-page .sia-booking-form {
            scroll-margin-top: 86px;
          }
    
          .sia-booking-page .sia-booking-form .user-profile-card.add-listing {
            border-radius: .9rem;
          }
    
          .sia-booking-page .sia-booking-form .add-listing-form .row>[class*="col-"] {
            margin-bottom: .35rem;
          }
        }

    .sia-booking-info-panel__summary-action {
          display: none !important;
        }

    @media (max-width: 767px) {
          .sia-booking-info-panel {
            width: calc(100% + 1.5rem) !important;
            margin: .6rem -.75rem !important;
            border: 0 !important;
            border-top: 1px solid rgba(31, 42, 18, .10) !important;
            border-bottom: 1px solid rgba(31, 42, 18, .10) !important;
            border-radius: 0 !important;
            background: transparent !important;
            box-shadow: none !important;
            overflow: visible !important;
          }
    
          .sia-booking-info-panel>summary {
            min-height: 56px !important;
            padding: .8rem .75rem !important;
            border: 0 !important;
            border-radius: 0 !important;
            background: transparent !important;
            font-weight: 400 !important;
            box-shadow: none !important;
          }
    
          .sia-booking-info-panel__summary-title {
            color: #1f2a12 !important;
            font-size: 1.02rem !important;
            font-weight: 700 !important;
            line-height: 1.2 !important;
          }
    
          .sia-booking-info-panel>summary::after {
            content: "" !important;
            width: .7rem !important;
            height: .7rem !important;
            flex: 0 0 .7rem !important;
            margin-right: .25rem !important;
            border: 0 !important;
            border-right: 2px solid #687d25 !important;
            border-bottom: 2px solid #687d25 !important;
            border-radius: 0 !important;
            background: transparent !important;
            box-shadow: none !important;
            transform: rotate(45deg) !important;
          }
    
          .sia-booking-info-panel[open]>summary {
            min-height: 38px !important;
            padding: .45rem .75rem 0 !important;
            justify-content: flex-end !important;
            border-bottom: 0 !important;
          }
    
          .sia-booking-info-panel[open]>summary .sia-booking-info-panel__summary-title {
            display: none !important;
          }
    
          .sia-booking-info-panel[open]>summary::after {
            content: "" !important;
            transform: rotate(-135deg) !important;
            margin-top: .25rem !important;
          }
    
          .sia-booking-info-panel__body {
            padding: .15rem .75rem 1rem !important;
          }
        }

    /* FAQ: Bootstrap-Accordion-Pfeile innerhalb der Frage-Zeile halten. */
    #details-faq .accordion,
    #details-faq .accordion-item,
    #details-faq .accordion-header,
    #details-faq .accordion-collapse,
    #details-faq .accordion-body {
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      box-sizing: border-box !important;
    }

    #details-faq .accordion-item,
    #details-faq .accordion-header {
      overflow: hidden !important;
    }

    #details-faq .accordion-button {
      position: relative !important;
      width: 100% !important;
      max-width: 100% !important;
      min-width: 0 !important;
      display: flex !important;
      align-items: center !important;
      justify-content: space-between !important;
      gap: 1rem !important;
      padding-right: 1.25rem !important;
      box-sizing: border-box !important;
      overflow: hidden !important;
    }

    #details-faq .accordion-button::after {
      position: static !important;
      right: auto !important;
      top: auto !important;
      flex: 0 0 auto !important;
      margin-left: auto !important;
      transform: none !important;
      pointer-events: none !important;
    }

    #details-faq .accordion-button:not(.collapsed)::after {
      transform: rotate(-180deg) !important;
    }

    @media (max-width: 767px) {
      #details-faq .accordion-button {
        padding-right: 1rem !important;
      }
    }

    /* Fix: Lage/Freizeit- und Sprachen-Listen im Info-Panel.
           Nicht auf Bootstrap .row/.col verlassen, weil globale Theme-Regeln diese Struktur ueberschreiben koennen. */
        .sia-booking-page .sia-booking-info-panel__body {
          width: 100% !important;
          min-width: 0 !important;
        }

    .sia-booking-page .sia-booking-two-col-list {
          display: grid !important;
          grid-template-columns: 1fr !important;
          gap: .75rem 2rem !important;
          width: 100% !important;
          margin-left: 0 !important;
          margin-right: 0 !important;
        }

    .sia-booking-page .sia-booking-two-col-list>[class*="col-"] {
          width: auto !important;
          max-width: none !important;
          flex: initial !important;
          padding-left: 0 !important;
          padding-right: 0 !important;
          min-width: 0 !important;
        }

    @media (min-width: 992px) {
          .sia-booking-page .sia-booking-two-col-list {
            grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
          }
        }

    /* Mobile Fix: Info-Accordions nicht mehr randlos/full-width.
           Sorgt fuer rechten und linken Abstand und verhindert Ueberlauf bei Chips/Text. */
        @media (max-width: 767px) {
          .sia-booking-page .sia-booking-info-panel {
            width: calc(100% - 1.5rem) !important;
            max-width: calc(100% - 1.5rem) !important;
            margin: .75rem auto !important;
            border: 1px solid rgba(31, 42, 18, .10) !important;
            border-radius: 1rem !important;
            background: #fff !important;
            box-shadow: none !important;
            overflow: hidden !important;
            box-sizing: border-box !important;
          }
    
          .sia-booking-page .sia-booking-info-panel>summary {
            padding-left: 1rem !important;
            padding-right: 1rem !important;
            box-sizing: border-box !important;
          }
    
          .sia-booking-page .sia-booking-info-panel[open]>summary {
            padding-right: 1rem !important;
          }
    
          .sia-booking-page .sia-booking-info-panel__body {
            width: 100% !important;
            max-width: 100% !important;
            padding: .35rem 1rem 1rem !important;
            box-sizing: border-box !important;
            overflow-x: hidden !important;
          }
    
          .sia-booking-page .sia-booking-info-panel__body>.listing-item,
          .sia-booking-page .sia-booking-info-panel__body>section.listing-item {
            padding-left: 0 !important;
            padding-right: 0 !important;
            max-width: 100% !important;
            box-sizing: border-box !important;
          }
    
          .sia-booking-page .sia-booking-info-panel__body .listing-amenity,
          .sia-booking-page .sia-booking-info-panel__body .listing-included,
          .sia-booking-page .sia-booking-info-panel__body .list {
            width: 100% !important;
            max-width: 100% !important;
            min-width: 0 !important;
            box-sizing: border-box !important;
          }
    
          .sia-booking-page .sia-booking-info-panel__body .list li {
            max-width: 100% !important;
            white-space: normal !important;
            overflow-wrap: anywhere !important;
            word-break: normal !important;
          }
    
          .sia-booking-page .sia-booking-amenity-grid {
            width: 100% !important;
            max-width: 100% !important;
            grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
            box-sizing: border-box !important;
          }
    
          .sia-booking-page .sia-booking-amenity-grid>.sia-booking-amenity-chip {
            width: 100% !important;
            max-width: 100% !important;
            min-width: 0 !important;
            flex: none !important;
            white-space: normal !important;
            overflow-wrap: anywhere !important;
            box-sizing: border-box !important;
          }
        }

    /* Zimmerdetail / Sofort buchen */
        .sia-booking-room-price-summary__price {
          display: grid;
          gap: .1rem;
          color: #111;
          line-height: 1.05;
        }

    .sia-booking-room-price-summary__price strong {
          font-size: clamp(2rem, 4.2vw, 3rem);
          font-weight: 850;
          letter-spacing: -.03em;
        }

    .sia-booking-room-price-summary__price small {
          display: block;
          color: #4b5563;
          font-size: .92rem;
          line-height: 1.25;
        }

    .sia-booking-page .table {
          vertical-align: middle;
        }

    .sia-booking-page .table th,
        .sia-booking-page .table td {
          padding: .85rem .65rem;
        }

    @media (max-width: 767px) {
          body.sia-booking-page {
            padding-bottom: calc(98px + env(safe-area-inset-bottom));
          }
    
          .sia-booking-page .sia-booking-mobile-sticky-cta.sia-booking-mobile-room-price {
            display: grid !important;
            grid-template-columns: minmax(0, 1fr) minmax(124px, 38vw) !important;
            align-items: center !important;
            gap: .9rem !important;
            padding: .85rem 1rem calc(.85rem + env(safe-area-inset-bottom)) !important;
            background: rgba(255, 255, 255, .98) !important;
            border-top: 1px solid rgba(15, 23, 42, .10) !important;
            box-shadow: 0 -12px 30px rgba(15, 23, 42, .14) !important;
            backdrop-filter: blur(14px) !important;
          }
    
          .sia-booking-mobile-room-price__text {
            min-width: 0;
            color: #111;
            line-height: 1.1;
          }
    
          .sia-booking-mobile-room-price__main {
            display: flex;
            align-items: baseline;
            gap: .25rem;
            white-space: nowrap;
          }
    
          .sia-booking-mobile-room-price__main span:first-child {
            font-weight: 750;
            font-size: .98rem;
          }
    
          .sia-booking-mobile-room-price__main strong {
            font-size: clamp(2.1rem, 10vw, 3.05rem);
            font-weight: 850;
            letter-spacing: -.04em;
          }
    
          .sia-booking-mobile-room-price__main span:last-child {
            font-size: 1rem;
            font-weight: 650;
          }
    
          .sia-booking-mobile-room-price__sub {
            margin-top: .2rem;
            color: #111;
            font-size: .92rem;
            line-height: 1.2;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
          }
    
          .sia-booking-page .sia-booking-mobile-room-price__button,
          .sia-booking-page .sia-booking-mobile-room-price__button.theme-btn {
            min-height: 58px !important;
            padding: .65rem 1rem !important;
            border-radius: 999px !important;
            background: #007eaa !important;
            color: #fff !important;
            border: 0 !important;
            box-shadow: 0 10px 22px rgba(0, 126, 170, .24) !important;
            font-size: 1rem !important;
            font-weight: 600 !important;
            line-height: 1.15 !important;
            text-align: center !important;
            text-decoration: none !important;
          }
    
          .sia-booking-page .sia-booking-mobile-room-price__button:hover,
          .sia-booking-page .sia-booking-mobile-room-price__button:focus-visible {
            background: #006f96 !important;
            color: #fff !important;
            outline: 3px solid rgba(0, 126, 170, .20) !important;
            outline-offset: 2px !important;
          }
    
          .sia-booking-page .table-responsive,
          .sia-booking-page .text-black-50 {
            max-width: 100%;
            overflow-x: auto;
          }
    
          .sia-booking-page .table th,
          .sia-booking-page .table td {
            padding: .75rem .45rem;
            font-size: .92rem;
          }
        }

    /* Sofort-buchen: Formularfelder aktiv halten und Nice-Select im Buchungsformular unterdruecken. */
        .sia-booking-page .sia-booking-form.booking-type-sofort-buchen input,
        .sia-booking-page .sia-booking-form.booking-type-sofort-buchen textarea,
        .sia-booking-page .sia-booking-form.booking-type-sofort-buchen select,
        .sia-booking-page .sia-booking-form.booking-type-sofort-buchen button {
          pointer-events: auto !important;
        }

    .sia-booking-page .sia-booking-form.booking-type-sofort-buchen input.form-control,
        .sia-booking-page .sia-booking-form.booking-type-sofort-buchen textarea.form-control,
        .sia-booking-page .sia-booking-form.booking-type-sofort-buchen select.form-control,
        .sia-booking-page .sia-booking-form.booking-type-sofort-buchen select.sia-booking-native-select {
          position: relative !important;
          z-index: 2 !important;
        }

    .sia-booking-page .sia-booking-form.booking-type-sofort-buchen select.form-control,
        .sia-booking-page .sia-booking-form.booking-type-sofort-buchen select.sia-booking-native-select {
          display: block !important;
          visibility: visible !important;
          opacity: 1 !important;
          width: 100% !important;
          min-height: 54px !important;
          padding: .75rem 2.2rem .75rem 1rem !important;
          border: 1px solid rgba(31, 42, 18, .14) !important;
          border-radius: .95rem !important;
          background-color: #fff !important;
          color: #1f2a12 !important;
          appearance: auto !important;
          -webkit-appearance: menulist !important;
          cursor: pointer !important;
        }

    .sia-booking-page .sia-booking-form.booking-type-sofort-buchen .nice-select {
          display: none !important;
          pointer-events: none !important;
        }

    .sia-booking-page .sia-booking-form.booking-type-sofort-buchen .sia-booking-date-input-wrap input.sia-booking-calendar-input {
          position: relative !important;
          z-index: 2 !important;
          cursor: pointer !important;
          background: #fff !important;
          user-select: text !important;
        }

    .sia-booking-page .sia-booking-form.booking-type-sofort-buchen .sia-booking-date-icon-btn {
          z-index: 4 !important;
          pointer-events: auto !important;
        }

    .sia-booking-page .sia-booking-form.booking-type-sofort-buchen .sia-qs-calendar,
        .sia-booking-page .sia-booking-form.booking-type-sofort-buchen .sia-qs-calendar * {
          pointer-events: auto !important;
        }

    .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-day.is-sia-booked-inner,
        .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-day.is-sia-requested-inner {
          background: #cbdce3 !important;
          color: #172033 !important;
        }

    .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-day.is-sia-booked-start,
        .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-day.is-sia-booked-end,
        .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-day.is-sia-requested-start,
        .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-day.is-sia-requested-end {
          background: linear-gradient(135deg, transparent 0 48%, #cbdce3 49% 100%) !important;
          color: #172033 !important;
          border: 1px solid rgba(104, 125, 37, .25) !important;
        }

    /* Zimmerdetail: Standort & Kontakt unten auf eigenstaendiger Zimmerseite */
        .sia-booking-page .sia-booking-contact-section {
          scroll-margin-top: 92px;
        }

    .sia-booking-page .sia-booking-contact-card {
          border: 1px solid rgba(31, 42, 18, .10);
          border-radius: 1.15rem;
          background: linear-gradient(180deg, #fff, #f8faf2);
          box-shadow: 0 12px 30px rgba(15, 23, 42, .05);
          overflow: hidden;
        }

    .sia-booking-page .sia-booking-contact-grid {
          display: grid;
          grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr);
          gap: 0;
          align-items: stretch;
        }

    .sia-booking-page .sia-booking-contact-main,
        .sia-booking-page .sia-booking-contact-aside {
          padding: 1.35rem;
        }

    .sia-booking-page .sia-booking-contact-main {
          display: grid;
          gap: 1rem;
        }

    .sia-booking-page .sia-booking-contact-aside {
          border-left: 1px solid rgba(31, 42, 18, .10);
          background: rgba(104, 125, 37, .06);
        }

    .sia-booking-page .sia-booking-contact-kicker {
          display: inline-flex;
          align-items: center;
          gap: .45rem;
          color: #687d25;
          font-size: .86rem;
          font-weight: 750;
          line-height: 1.2;
        }

    .sia-booking-page .sia-booking-contact-address {
          display: grid;
          gap: .35rem;
          margin: 0;
          color: #3f3a33;
          font-size: 1.02rem;
          line-height: 1.45;
        }

    .sia-booking-page .sia-booking-contact-address strong {
          color: #1f2a12;
          font-size: 1.12rem;
        }

    .sia-booking-page .sia-booking-contact-facts {
          display: grid;
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: .75rem;
        }

    .sia-booking-page .sia-booking-contact-fact {
          display: flex;
          align-items: flex-start;
          gap: .65rem;
          min-width: 0;
          padding: .85rem;
          border: 1px solid rgba(31, 42, 18, .08);
          border-radius: .9rem;
          background: #fff;
          color: #3f3a33;
          line-height: 1.25;
        }

    .sia-booking-page .sia-booking-contact-fact i {
          color: #687d25;
          margin-top: .12rem;
        }

    .sia-booking-page .sia-booking-contact-fact span {
          display: block;
          color: #6b7280;
          font-size: .82rem;
        }

    .sia-booking-page .sia-booking-contact-mapbox {
          min-height: 100%;
          display: grid;
          align-content: space-between;
          gap: 1rem;
        }

    .sia-booking-page .sia-booking-contact-mapvisual {
          min-height: 150px;
          display: grid;
          place-items: center;
          border: 1px solid rgba(31, 42, 18, .10);
          border-radius: 1rem;
          background:
            radial-gradient(circle at 30% 35%, rgba(104, 125, 37, .22) 0 9px, transparent 10px),
            linear-gradient(135deg, rgba(255, 255, 255, .94), rgba(248, 250, 242, .92));
          color: #1f2a12;
          text-align: center;
        }

    .sia-booking-page .sia-booking-contact-mapvisual i {
          display: block;
          margin-bottom: .45rem;
          color: #687d25;
          font-size: 1.7rem;
        }

    .sia-booking-page .sia-booking-contact-actions {
          display: flex;
          flex-wrap: wrap;
          gap: .65rem;
        }

    .sia-booking-page .sia-booking-contact-actions .btn,
        .sia-booking-page .sia-booking-contact-actions .theme-btn {
          min-height: 44px;
          display: inline-flex;
          align-items: center;
          justify-content: center;
          gap: .45rem;
          border-radius: 999px;
          line-height: 1;
        }

    @media (max-width: 767px) {
          .sia-booking-page .sia-booking-contact-grid {
            grid-template-columns: 1fr;
          }
    
          .sia-booking-page .sia-booking-contact-main,
          .sia-booking-page .sia-booking-contact-aside {
            padding: 1rem;
          }
    
          .sia-booking-page .sia-booking-contact-aside {
            border-left: 0;
            border-top: 1px solid rgba(31, 42, 18, .10);
          }
    
          .sia-booking-page .sia-booking-contact-facts {
            grid-template-columns: 1fr;
          }
    
          .sia-booking-page .sia-booking-contact-actions .btn,
          .sia-booking-page .sia-booking-contact-actions .theme-btn {
            width: 100%;
          }
        }

    /* Fix Standort & Kontakt: Innenabstand, gleiche Spaltenhoehe und kein Ankleben am unteren Rand. */
        .sia-booking-page .sia-booking-contact-section .sia-booking-info-panel__body {
          content-visibility: visible !important;
          contain-intrinsic-size: auto !important;
          overflow: visible !important;
        }

    .sia-booking-page .sia-booking-contact-card {
          overflow: hidden !important;
        }

    .sia-booking-page .sia-booking-contact-grid {
          display: grid !important;
          grid-template-columns: minmax(0, 1.05fr) minmax(280px, .95fr) !important;
          align-items: stretch !important;
        }

    .sia-booking-page .sia-booking-contact-main,
        .sia-booking-page .sia-booking-contact-aside {
          min-height: 100% !important;
          height: auto !important;
          box-sizing: border-box !important;
          padding: 1.35rem !important;
        }

    .sia-booking-page .sia-booking-contact-main {
          display: flex !important;
          flex-direction: column !important;
          justify-content: flex-start !important;
          gap: 1.15rem !important;
        }

    .sia-booking-page .sia-booking-contact-facts {
          display: grid !important;
          grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
          align-items: stretch !important;
          gap: .75rem !important;
          margin-top: .15rem !important;
        }

    .sia-booking-page .sia-booking-contact-fact {
          min-height: 92px !important;
          height: auto !important;
          display: flex !important;
          align-items: center !important;
          box-sizing: border-box !important;
          overflow: hidden !important;
        }

    .sia-booking-page .sia-booking-contact-fact>div {
          min-width: 0 !important;
        }

    .sia-booking-page .sia-booking-contact-fact strong {
          overflow-wrap: anywhere !important;
        }

    .sia-booking-page .sia-booking-contact-mapbox {
          min-height: 100% !important;
          height: auto !important;
          display: flex !important;
          flex-direction: column !important;
          justify-content: flex-start !important;
          gap: 1rem !important;
        }

    .sia-booking-page .sia-booking-contact-mapvisual {
          flex: 1 1 auto !important;
          min-height: 170px !important;
        }

    .sia-booking-page .sia-booking-contact-actions {
          flex: 0 0 auto !important;
          margin: 0 !important;
          padding: 0 0 .1rem !important;
        }

    .sia-booking-page .sia-booking-contact-actions .btn,
        .sia-booking-page .sia-booking-contact-actions .theme-btn {
          max-width: 100% !important;
          white-space: normal !important;
        }

    @media (max-width: 991.98px) {
          .sia-booking-page .sia-booking-contact-grid {
            grid-template-columns: 1fr !important;
          }
    
          .sia-booking-page .sia-booking-contact-aside {
            border-left: 0 !important;
            border-top: 1px solid rgba(31, 42, 18, .10) !important;
          }
        }

    @media (max-width: 767px) {
    
          .sia-booking-page .sia-booking-contact-main,
          .sia-booking-page .sia-booking-contact-aside {
            padding: 1rem !important;
          }
    
          .sia-booking-page .sia-booking-contact-facts {
            grid-template-columns: 1fr !important;
          }
    
          .sia-booking-page .sia-booking-contact-fact {
            min-height: 76px !important;
          }
    
          .sia-booking-page .sia-booking-contact-mapvisual {
            flex: 0 0 auto !important;
            min-height: 145px !important;
          }
        }

    /* Standort & Kontakt: Wertgutschein als dritte Info-Kachel neben Check-out. */
        .sia-booking-page a.sia-booking-contact-fact,
        .sia-booking-page a.sia-booking-contact-fact:visited {
          color: #3f3a33 !important;
          text-decoration: none !important;
        }

    .sia-booking-page a.sia-booking-contact-fact:hover,
        .sia-booking-page a.sia-booking-contact-fact:focus-visible {
          border-color: rgba(104, 125, 37, .28) !important;
          background: #fff !important;
          color: #1f2a12 !important;
          outline: 3px solid rgba(104, 125, 37, .16) !important;
          outline-offset: 2px !important;
        }

    .sia-booking-page .sia-booking-contact-fact--link strong {
          line-height: 1.2 !important;
        }

    /* Mobile Standort & Kontakt: inneren Kartenrahmen entfernen und Platz besser nutzen. */
        @media (max-width: 767px) {
          .sia-booking-page .sia-booking-contact-section .sia-booking-info-panel__body {
            padding: .15rem .75rem 1rem !important;
          }
    
          .sia-booking-page .sia-booking-contact-section .listing-item {
            padding: 0 !important;
          }
    
          .sia-booking-page .sia-booking-contact-card {
            border: 0 !important;
            border-radius: 0 !important;
            background: transparent !important;
            box-shadow: none !important;
            overflow: visible !important;
          }
    
          .sia-booking-page .sia-booking-contact-grid {
            display: block !important;
          }
    
          .sia-booking-page .sia-booking-contact-main,
          .sia-booking-page .sia-booking-contact-aside {
            padding: 0 !important;
          }
    
          .sia-booking-page .sia-booking-contact-aside {
            margin-top: 1rem !important;
            border-top: 1px solid rgba(31, 42, 18, .10) !important;
            background: transparent !important;
          }
    
          .sia-booking-page .sia-booking-contact-facts {
            gap: .55rem !important;
          }
        }

    /* Standortkarte als Dialog: Nutzer bleibt auf der Buchungsseite. */
        .sia-booking-page .sia-booking-map-modal .modal-content {
          border: 0;
          border-radius: 1.2rem;
          overflow: hidden;
        }

    .sia-booking-page .sia-booking-map-modal .modal-body {
          padding: 0;
        }

    .sia-booking-page .sia-booking-map-frame-wrap {
          width: 100%;
          min-height: min(70vh, 680px);
          background: #f8faf2;
        }

    .sia-booking-page .sia-booking-map-frame-wrap iframe {
          display: block;
          width: 100%;
          height: min(70vh, 680px);
          border: 0;
        }

    @media (max-width: 767px) {
          .sia-booking-page .sia-booking-map-modal .modal-dialog {
            margin: .5rem;
          }
    
          .sia-booking-page .sia-booking-map-frame-wrap,
          .sia-booking-page .sia-booking-map-frame-wrap iframe {
            height: 65vh;
            min-height: 420px;
          }
    
          .sia-booking-page .sia-booking-map-modal .modal-footer {
            display: grid;
            gap: .6rem;
          }
    
          .sia-booking-page .sia-booking-map-modal .modal-footer .btn,
          .sia-booking-page .sia-booking-map-modal .modal-footer .theme-btn {
            width: 100%;
          }
        }

    /* Standortkarte Dialog: ohne eingebetteten Seitenkopf, Titel zuerst und Footer immer sichtbar. */
        .sia-booking-page .sia-booking-map-modal .modal-dialog {
          max-height: calc(100vh - 1.5rem);
        }

    .sia-booking-page .sia-booking-map-modal .modal-content {
          max-height: calc(100vh - 1.5rem);
          display: flex;
          flex-direction: column;
          border: 0;
          border-radius: 1.2rem;
          overflow: hidden;
        }

    .sia-booking-page .sia-booking-map-modal__close {
          position: absolute;
          top: 1rem;
          right: 1rem;
          z-index: 5;
          width: 42px;
          height: 42px;
          border-radius: 999px;
          background-color: rgba(255, 255, 255, .96);
          box-shadow: 0 8px 22px rgba(15, 23, 42, .12);
          opacity: 1;
        }

    .sia-booking-page .sia-booking-map-modal .modal-body {
          flex: 1 1 auto;
          min-height: 0;
          overflow: auto;
          padding: 0;
          background: #fff;
        }

    .sia-booking-page .sia-booking-map-intro {
          padding: 1.2rem 4.2rem 1rem 1.25rem;
          background: #fff;
          border-bottom: 1px solid rgba(31, 42, 18, .10);
        }

    .sia-booking-page .sia-booking-map-intro__kicker {
          display: inline-flex;
          margin-bottom: .25rem;
          color: #687d25;
          font-size: .86rem;
          font-weight: 750;
          line-height: 1.2;
        }

    .sia-booking-page .sia-booking-map-intro h3 {
          margin: 0;
          color: #1f2a12;
          line-height: 1.2;
        }

    .sia-booking-page .sia-booking-map-intro p {
          margin: .35rem 0 0;
          color: #6b7280;
          font-size: .95rem;
          line-height: 1.4;
        }

    .sia-booking-page .sia-booking-map-frame-wrap {
          width: 100%;
          min-height: 0;
          height: clamp(320px, 58vh, 620px);
          background: #f8faf2;
        }

    .sia-booking-page .sia-booking-map-frame-wrap iframe {
          display: block;
          width: 100%;
          height: 100%;
          border: 0;
        }

    .sia-booking-page .sia-booking-map-modal .modal-footer {
          flex: 0 0 auto;
          position: relative;
          z-index: 4;
          gap: .65rem;
          padding: .85rem 1rem;
          background: #fff;
          border-top: 1px solid rgba(31, 42, 18, .10);
        }

    @media (max-width: 767px) {
          .sia-booking-page .sia-booking-map-modal .modal-dialog {
            margin: .5rem;
            max-height: calc(100vh - 1rem);
          }
    
          .sia-booking-page .sia-booking-map-modal .modal-content {
            max-height: calc(100vh - 1rem);
          }
    
          .sia-booking-page .sia-booking-map-intro {
            padding: 1rem 3.8rem .85rem 1rem;
          }
    
          .sia-booking-page .sia-booking-map-frame-wrap {
            height: 48vh !important;
            min-height: 300px !important;
          }
    
          .sia-booking-page .sia-booking-map-modal .modal-footer {
            display: grid;
            grid-template-columns: 1fr;
            padding: .75rem .85rem calc(.75rem + env(safe-area-inset-bottom));
          }
    
          .sia-booking-page .sia-booking-map-modal .modal-footer .btn,
          .sia-booking-page .sia-booking-map-modal .modal-footer .theme-btn {
            width: 100%;
            min-height: 46px;
          }
        }

    /* Korrektur: Desktop-Karte im neuen Tab, mobile Karte im Dialog; mobile Kartenhoehe kompakt halten. */
        .sia-booking-page .sia-booking-contact-map-link--mobile {
          display: none !important;
        }

    .sia-booking-page .sia-booking-contact-map-link--desktop {
          display: inline-flex !important;
        }

    @media (max-width: 767px) {
          .sia-booking-page .sia-booking-contact-map-link--desktop {
            display: none !important;
          }
    
          .sia-booking-page .sia-booking-contact-map-link--mobile {
            display: inline-flex !important;
          }
    
          .sia-booking-page .sia-booking-map-frame-wrap {
            height: clamp(220px, 30vh, 260px) !important;
            min-height: 0 !important;
            max-height: 260px !important;
          }
    
          .sia-booking-page .sia-booking-map-frame-wrap iframe {
            height: 100% !important;
            min-height: 0 !important;
            max-height: 260px !important;
          }
    
          .sia-booking-page .sia-booking-map-modal .modal-footer .btn,
          .sia-booking-page .sia-booking-map-modal .modal-footer .theme-btn {
            min-height: 44px !important;
          }
        }

    body.modal-open .sia-booking-mobile-sticky-cta {
          display: none !important;
        }

    /* Kalender-Fix final: echte vertikale Zentrierung und Logo-Gruen fuer belegte Tage. */
        .sia-booking-page .sia-booking-form.sia-qs .sia-qs-calendar {
          position: fixed !important;
          left: 50% !important;
          right: auto !important;
          top: 50% !important;
          bottom: auto !important;
          transform: translate(-50%, -50%) !important;
          width: min(1120px, calc(100vw - 32px)) !important;
          max-height: calc(100dvh - 32px) !important;
          border-radius: 30px !important;
        }

    .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-day.is-sia-booked-inner,
        .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-day.is-sia-requested-inner,
        .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-day.is-sia-unavailable {
          background: rgba(138, 172, 42, 0.3) !important;
          border: 1px solid rgba(110, 138, 33, 0.4) !important;
          color: #172033 !important;
          text-decoration: none !important;
          opacity: 1 !important;
        }

    .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-day.is-sia-booked-end,
        .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-day.is-sia-requested-end {
          background: linear-gradient(135deg, rgba(255, 255, 255, 0) 50%, rgba(138, 172, 42, 0.45) 50%) !important;
          border: 1px solid rgba(110, 138, 33, 0.4) !important;
          color: #172033 !important;
          text-decoration: none !important;
          opacity: 1 !important;
        }

    .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-day.is-sia-booked-start,
        .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-day.is-sia-requested-start {
          background: linear-gradient(135deg, rgba(138, 172, 42, 0.45) 50%, rgba(255, 255, 255, 0) 50%) !important;
          border: 1px solid rgba(110, 138, 33, 0.4) !important;
          color: #172033 !important;
          text-decoration: none !important;
          opacity: 1 !important;
        }

    .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-day.is-sia-unavailable,
        .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-day.is-sia-unavailable:hover,
        .sia-booking-page .sia-booking-form.sia-qs button.sia-qs-calendar-day.is-sia-unavailable:focus-visible {
          cursor: not-allowed !important;
          box-shadow: none !important;
          outline: none !important;
        }

    @media (max-width: 767px) {
          .sia-booking-page .sia-booking-form.sia-qs .sia-qs-calendar {
            left: 50% !important;
            right: auto !important;
            top: 50dvh !important;
            bottom: auto !important;
            transform: translate(-50%, -50%) !important;
            width: calc(100vw - 20px) !important;
            max-height: calc(100dvh - 20px) !important;
            border-radius: 26px !important;
          }
    
          .sia-booking-page .sia-booking-form.sia-qs .sia-qs-calendar-months {
            max-height: calc(100dvh - 160px) !important;
          }
        }

    /* Zimmerdetail: angeglichene mobile Panels, Zahlung, Weiterlesen und Bewertungsformular */
        .sia-booking-page .sia-booking-payment-grid {
          display: flex;
          flex-wrap: wrap;
          gap: .6rem;
        }

    .sia-booking-page .sia-booking-payment-chip {
          display: inline-flex;
          align-items: center;
          gap: .55rem;
          min-height: 46px;
          padding: .7rem .95rem;
          border: 1px solid rgba(31, 42, 18, .08);
          border-radius: .85rem;
          background: #fff;
          color: #1f2a12;
          font-weight: 650;
          line-height: 1.2;
        }

    .sia-booking-page .sia-booking-payment-chip i {
          color: #687d25;
        }

    .sia-booking-page .sia-booking-cancel-note {
          padding: .9rem 1rem;
          border: 1px solid rgba(31, 42, 18, .08);
          border-radius: .95rem;
          background: #f8faf2;
          color: #3f3a33;
        }

    .sia-booking-page .sia-booking-readmore-section {
          scroll-margin-top: 92px;
        }

    .sia-booking-page .sia-booking-readmore-details>summary {
          display: inline-flex;
          align-items: center;
          gap: .35rem;
          margin-top: .15rem;
          color: #007eaa;
          font-weight: 750;
          cursor: pointer;
          list-style: none;
        }

    .sia-booking-page .sia-booking-readmore-details>summary::-webkit-details-marker {
          display: none;
        }

    .sia-booking-page .sia-booking-readmore-details>summary::after {
          content: "";
          width: .45rem;
          height: .45rem;
          border-right: 2px solid currentColor;
          border-bottom: 2px solid currentColor;
          transform: rotate(45deg) translateY(-1px);
        }

    .sia-booking-page .sia-booking-readmore-details[open]>summary::after {
          transform: rotate(-135deg) translateY(-1px);
        }

    .sia-booking-page .sia-booking-review-form .sia-booking-review-person-row {
          --bs-gutter-x: 1rem;
          --bs-gutter-y: .85rem;
          margin-left: calc(var(--bs-gutter-x) * -.5) !important;
          margin-right: calc(var(--bs-gutter-x) * -.5) !important;
        }

    .sia-booking-page .sia-booking-review-form .sia-booking-review-person-row>[class*="col-"] {
          padding-left: calc(var(--bs-gutter-x) * .5) !important;
          padding-right: calc(var(--bs-gutter-x) * .5) !important;
          min-width: 0;
        }

    .sia-booking-page .sia-booking-review-form .form-control {
          width: 100%;
        }

    @media (min-width: 768px) {
          .sia-booking-page .sia-booking-payment-panel .sia-booking-info-panel__body {
            padding: 0 !important;
          }
        }

    @media (max-width: 767px) {
          .sia-booking-page .sia-booking-payment-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: .55rem;
          }
    
          .sia-booking-page .sia-booking-payment-chip {
            width: 100%;
            min-width: 0;
            padding: .65rem .7rem;
            font-size: .9rem;
            overflow-wrap: anywhere;
          }
    
          .sia-booking-page .sia-booking-readmore-section {
            padding-left: 1rem !important;
            padding-right: 1rem !important;
          }
        }
