/*
 * Gemeinsame Mobilansicht für die Adobe-Muse-Seiten.
 * Lage, Kontakt und die Bestätigungsseite verfeinern diese Basis anschließend
 * mit ihren jeweils eigenen modernen Styles.
 */

@media (max-width: 760px) {
  html {
    box-sizing: border-box;
    height: auto !important;
    min-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    width: 100% !important;
  }

  body,
  body.no_vert_scroll,
  body.always_vert_scroll {
    box-sizing: border-box;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding: 0 !important;
    width: 100% !important;
  }

  #page,
  #page_position_content {
    box-shadow: none !important;
    box-sizing: border-box;
    height: auto !important;
    margin: 0 auto !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 0 0 22px !important;
    width: 100% !important;
  }

  #u1496,
  .verticalspacer {
    display: none !important;
  }

  #ppmenuu1439,
  #pmenuu1439 {
    box-sizing: border-box;
    float: none !important;
    height: auto !important;
    left: auto !important;
    margin: 0 !important;
    max-height: none !important;
    min-height: 0 !important;
    padding: 0 !important;
    position: relative !important;
    top: auto !important;
    width: 100% !important;
  }

  #ppmenuu1439 {
    align-items: stretch;
    display: flex !important;
    flex-direction: column;
  }

  #ppmenuu1439 > #pmenuu1439 {
    order: 1;
  }

  #ppmenuu1439 > #u2344 {
    order: 0;
  }

  #ppmenuu1439 > :not(#pmenuu1439):not(#u2344) {
    order: 2;
  }

  #pmenuu1439 {
    align-items: center;
    display: flex !important;
    flex-direction: column;
  }

  #pmenuu1439 > #u2338 {
    order: 1;
  }

  #pmenuu1439 > #menuu1439 {
    order: 2;
  }

  #pmenuu1439 > :not(#u2338):not(#menuu1439) {
    order: 3;
  }

  #u2338,
  #u2344 {
    float: none !important;
    height: auto !important;
    left: auto !important;
    margin: 0 auto -20px !important;
    position: relative !important;
    top: auto !important;
    width: 174px !important;
  }

  #u2338_img,
  #u2344_img {
    display: block !important;
    height: auto !important;
    width: 174px !important;
  }

  .home-page #u2344 {
    display: none !important;
  }

  #menuu1439 {
    box-sizing: border-box;
    display: grid !important;
    float: none !important;
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    height: auto !important;
    left: auto !important;
    margin: 0 auto !important;
    padding: 0 14px !important;
    position: relative !important;
    top: auto !important;
    width: 100% !important;
    overflow: visible !important;
  }

  #menuu1439 > .MenuItemContainer {
    float: none !important;
    height: 42px !important;
    left: auto !important;
    margin: 0 !important;
    min-height: 42px !important;
    position: relative !important;
    top: auto !important;
    width: 100% !important;
  }

  #u2764 {
    grid-column: 1 / -1;
  }

  #u2736 {
    z-index: 30 !important;
  }

  body.house-subnav-page #page #menuu1439 > #u2736 {
    height: 89px !important;
    min-height: 89px !important;
  }

  #u2741 {
    display: none !important;
    height: auto !important;
    left: calc(-100% - 8px) !important;
    margin: 0 !important;
    opacity: 1;
    padding: 7px 0 0 !important;
    pointer-events: auto;
    position: absolute !important;
    top: 42px !important;
    transform: none;
    visibility: visible;
    width: calc(200% + 8px) !important;
    z-index: 50 !important;
  }

  body.house-subnav-page #page #u2736 #u2741 {
    display: block !important;
  }

  #u2742 {
    display: grid !important;
    gap: 6px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  #u2742,
  #u2866,
  #u3099,
  #u2778 {
    box-sizing: border-box !important;
    float: none !important;
    height: auto !important;
    left: auto !important;
    margin: 0 !important;
    position: relative !important;
    top: auto !important;
    width: 100% !important;
  }

  #u2867,
  #u3100,
  #u2779,
  #u2867:hover,
  #u3100:hover,
  #u2779:hover,
  #u2867:active,
  #u3100:active,
  #u2779:active,
  #u2867.MuseMenuActive,
  #u3100.MuseMenuActive,
  #u2779.MuseMenuActive {
    border-radius: 10px !important;
    height: 40px !important;
    margin: 0 0 5px !important;
    width: 100% !important;
  }

  body.house-subnav-page #u2867,
  body.house-subnav-page #u3100,
  body.house-subnav-page #u2779,
  body.house-subnav-page #u2867:hover,
  body.house-subnav-page #u3100:hover,
  body.house-subnav-page #u2779:hover,
  body.house-subnav-page #u2867:active,
  body.house-subnav-page #u3100:active,
  body.house-subnav-page #u2779:active,
  body.house-subnav-page #u2867.MuseMenuActive,
  body.house-subnav-page #u3100.MuseMenuActive,
  body.house-subnav-page #u2779.MuseMenuActive {
    background: linear-gradient(180deg, #a84d40, #70271f) !important;
    border-color: rgba(255, 226, 209, 0.58) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.13),
      0 7px 16px rgba(69, 24, 17, 0.2) !important;
  }

  body.house-subnav-page #u2867.MuseMenuActive,
  body.house-subnav-page #u3100.MuseMenuActive,
  body.house-subnav-page #u2779.MuseMenuActive {
    background: linear-gradient(180deg, #d66a5b, #9b352b) !important;
  }

  #u1443,
  #u2737,
  #u2751,
  #u2760,
  #u2767 {
    height: 42px !important;
  }

  #menuu1439 .MenuItemLabel p {
    font-size: 13px !important;
  }

  /*
   * Moderne Hauptseiten: Karten und Tabellen werden untereinander angeordnet.
   */
  .home-page #slideshowu1694 {
    display: none !important;
  }

  .home-page .home-card-grid {
    box-sizing: border-box;
    clear: both;
    float: none !important;
    gap: 14px !important;
    grid-template-columns: 1fr !important;
    margin: 27px auto 0 !important;
    padding: 0 14px 20px !important;
    width: 100% !important;
  }

  .home-page .home-card__link {
    min-height: 0 !important;
  }

  .home-page .home-card__media {
    height: 200px !important;
  }

  .home-page .home-card__title {
    min-height: 0 !important;
  }

  .home-page .home-card__content {
    padding: 20px 20px 22px !important;
  }

  body #page,
  body #page_position_content {
    min-height: 0 !important;
  }

  body #page #ppmenuu1439,
  body #page #pmenuu1439 {
    min-height: 0 !important;
    width: 100% !important;
  }

  .availability-hero,
  body #page #ppu5400.availability-grid,
  body #page #u3624-15.availability-note {
    box-sizing: border-box;
    float: none !important;
    left: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    position: relative !important;
    width: calc(100% - 28px) !important;
  }

  .availability-hero {
    margin-top: 24px !important;
    padding: 22px 12px 20px;
  }

  .availability-hero h1 {
    font-size: 29px;
  }

  body #page #ppu5400.availability-grid {
    gap: 14px !important;
    grid-template-columns: 1fr !important;
    margin-top: 12px !important;
  }

  .availability-card,
  #pu5392.availability-card,
  #pu5400.availability-card {
    min-height: 0;
    padding: 18px;
  }

  #u5392.availability-widget,
  #u5400.availability-widget {
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 10px;
  }

  body #page #u3624-15.availability-note {
    align-items: stretch;
    flex-direction: column;
    margin-bottom: 22px !important;
    margin-top: 18px !important;
    padding: 22px 20px !important;
  }

  .availability-actions {
    margin: 18px 0 0;
    min-width: 0;
    width: 100%;
  }

  body.haus-i-page #page #pmenuu1439 > #u2347-4 {
    order: 3 !important;
  }

  body.haus-i-page #page #pmenuu1439 > #slideshowu3139 {
    order: 4 !important;
  }

  body.haus-i-page #page #pmenuu1439 > #u236-26 {
    order: 5 !important;
  }

  body.haus-i-page #page #pmenuu1439 > #u1202-18 {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    order: 6 !important;
    padding: 0 !important;
  }

  .haus-i-page .price-card__heading {
    padding: 20px 18px 17px !important;
  }

  .haus-i-page .price-card__heading h2 {
    font-size: 24px !important;
  }

  .haus-i-page .price-card__note {
    align-items: stretch !important;
    flex-direction: column !important;
    gap: 13px !important;
    padding: 16px 18px !important;
  }

  .haus-i-page .price-card__contact {
    box-sizing: border-box;
    text-align: center;
    width: 100%;
  }

  /*
   * Ältere Inhaltsseiten: feste Muse-Koordinaten werden zu einem sauberen,
   * einspaltigen Lesefluss.
   */
  body:not(.contact-page-modern):not(.location-page-modern):not(.thank-you-page-modern)
    #ppmenuu1439
    > [data-muse-type="txt_frame"],
  body:not(.contact-page-modern):not(.location-page-modern):not(.thank-you-page-modern)
    #pmenuu1439
    > [data-muse-type="txt_frame"] {
    background: rgba(255, 252, 247, 0.94);
    border: 1px solid #ead8c4;
    border-radius: 16px;
    box-shadow: 0 12px 30px rgba(75, 47, 23, 0.1);
    box-sizing: border-box;
    clear: both;
    float: none !important;
    height: auto !important;
    left: auto !important;
    margin: 16px 14px 0 !important;
    min-height: 0 !important;
    padding: 18px !important;
    position: relative !important;
    top: auto !important;
    width: calc(100% - 28px) !important;
  }

  body:not(.contact-page-modern):not(.location-page-modern):not(.thank-you-page-modern)
    #ppmenuu1439
    > [id^="pu"],
  body:not(.contact-page-modern):not(.location-page-modern):not(.thank-you-page-modern)
    #ppmenuu1439
    > [id^="ppu"] {
    align-items: stretch;
    box-sizing: border-box;
    clear: both;
    display: flex !important;
    flex-direction: column;
    float: none !important;
    gap: 14px;
    height: auto !important;
    left: auto !important;
    margin: 16px 14px 0 !important;
    min-height: 0 !important;
    position: relative !important;
    top: auto !important;
    width: calc(100% - 28px) !important;
  }

  body:not(.contact-page-modern):not(.location-page-modern):not(.thank-you-page-modern)
    #ppmenuu1439
    > [id^="pu"]
    > .grpelem,
  body:not(.contact-page-modern):not(.location-page-modern):not(.thank-you-page-modern)
    #ppmenuu1439
    > [id^="ppu"]
    > .grpelem {
    box-sizing: border-box;
    float: none !important;
    height: auto !important;
    left: auto !important;
    margin: 0 !important;
    min-height: 0 !important;
    position: relative !important;
    top: auto !important;
    width: 100% !important;
  }

  body:not(.contact-page-modern):not(.location-page-modern):not(.thank-you-page-modern)
    #ppmenuu1439
    > .clip_frame,
  body:not(.contact-page-modern):not(.location-page-modern):not(.thank-you-page-modern)
    #pmenuu1439
    > .clip_frame {
    border-radius: 16px !important;
    box-sizing: border-box;
    clear: both;
    float: none !important;
    height: auto !important;
    left: auto !important;
    margin: 16px 14px 0 !important;
    max-width: calc(100% - 28px) !important;
    overflow: hidden;
    position: relative !important;
    top: auto !important;
    width: calc(100% - 28px) !important;
  }

  body:not(.contact-page-modern):not(.location-page-modern):not(.thank-you-page-modern)
    #ppmenuu1439
    .clip_frame
    img.block,
  body:not(.contact-page-modern):not(.location-page-modern):not(.thank-you-page-modern)
    #pmenuu1439
    .clip_frame
    img.block {
    display: block !important;
    height: auto !important;
    margin: 0 auto !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  body:not(.contact-page-modern):not(.location-page-modern):not(.thank-you-page-modern)
    #ppmenuu1439
    > [id^="pu"]
    [data-muse-type="txt_frame"] {
    background: rgba(255, 252, 247, 0.94);
    border: 1px solid #ead8c4;
    border-radius: 16px;
    box-sizing: border-box;
    height: auto !important;
    margin: 0 !important;
    min-height: 0 !important;
    padding: 18px !important;
    width: 100% !important;
  }

  body:not(.contact-page-modern):not(.location-page-modern):not(.thank-you-page-modern)
    [data-muse-type="txt_frame"]
    p,
  body:not(.contact-page-modern):not(.location-page-modern):not(.thank-you-page-modern)
    [data-muse-type="txt_frame"]
    li {
    overflow-wrap: anywhere;
  }

  #u2197-392,
  #u3577-30 {
    font-family: "Helvetica Neue", Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 22px !important;
  }

  /*
   * Bestehende Haus-Slideshows behalten Pfeile, Wischbedienung und
   * Bildbeschriftungen, füllen auf Mobilgeräten aber die verfügbare Breite.
   */
  body:not(.home-page):not(.contact-page-modern):not(.location-page-modern):not(.thank-you-page-modern) {
    --mobile-slide-image-height: min(68vw, 290px);
  }

  body:not(.home-page):not(.contact-page-modern):not(.location-page-modern):not(.thank-you-page-modern)
    .SlideShowWidget {
    background: #5e4838;
    border: 1px solid #ead8c4;
    border-radius: 16px;
    box-shadow: 0 14px 34px rgba(75, 47, 23, 0.14);
    box-sizing: border-box;
    clear: both;
    float: none !important;
    height: var(--mobile-slide-image-height) !important;
    left: auto !important;
    margin: 16px 14px 0 !important;
    overflow: hidden;
    position: relative !important;
    top: auto !important;
    width: calc(100% - 28px) !important;
  }

  body:not(.home-page):not(.contact-page-modern):not(.location-page-modern):not(.thank-you-page-modern)
    .SlideShowWidget
    > .popup_anchor {
    height: 0 !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
  }

  body:not(.home-page):not(.contact-page-modern):not(.location-page-modern):not(.thank-you-page-modern)
    .SlideShowContentPanel,
  body:not(.home-page):not(.contact-page-modern):not(.location-page-modern):not(.thank-you-page-modern)
    .SSSlide {
    background: #5e4838 !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    box-sizing: border-box;
    height: var(--mobile-slide-image-height) !important;
    left: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    top: 0 !important;
    width: 100% !important;
  }

  body:not(.home-page):not(.contact-page-modern):not(.location-page-modern):not(.thank-you-page-modern)
    .SSSlide
    img {
    display: block !important;
    height: var(--mobile-slide-image-height) !important;
    left: auto !important;
    margin: 0 !important;
    max-width: none !important;
    object-fit: cover;
    position: relative !important;
    top: auto !important;
    width: 100% !important;
  }

  body:not(.home-page):not(.contact-page-modern):not(.location-page-modern):not(.thank-you-page-modern)
    .SlideShowCaptionPanel {
    background: transparent !important;
    height: 56px !important;
    left: 0 !important;
    top: calc(var(--mobile-slide-image-height) - 56px) !important;
    width: 100% !important;
  }

  body:not(.home-page):not(.contact-page-modern):not(.location-page-modern):not(.thank-you-page-modern)
    .SSSlideCaption {
    background: linear-gradient(to top, rgba(39, 25, 15, 0.88), rgba(39, 25, 15, 0.04)) !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-sizing: border-box;
    color: #fffaf4 !important;
    font-family: "Helvetica Neue", Arial, sans-serif !important;
    font-size: 11px !important;
    height: 56px !important;
    line-height: 16px !important;
    margin: 0 !important;
    padding: 22px 52px 8px !important;
    text-align: center !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.65);
    width: 100% !important;
  }

  body:not(.home-page):not(.contact-page-modern):not(.location-page-modern):not(.thank-you-page-modern)
    .SSPreviousButton,
  body:not(.home-page):not(.contact-page-modern):not(.location-page-modern):not(.thank-you-page-modern)
    .SSNextButton {
    align-items: center;
    background: rgba(255, 250, 245, 0.92) !important;
    border: 1px solid rgba(91, 52, 28, 0.16) !important;
    border-radius: 999px !important;
    box-shadow: 0 5px 18px rgba(42, 26, 13, 0.18);
    box-sizing: border-box;
    color: #663218 !important;
    display: flex;
    font-family: Arial, sans-serif !important;
    font-size: 18px !important;
    height: 40px !important;
    justify-content: center;
    line-height: 38px !important;
    opacity: 1 !important;
    padding: 0 !important;
    top: min(calc(34vw - 20px), 125px) !important;
    width: 40px !important;
  }

  body:not(.home-page):not(.contact-page-modern):not(.location-page-modern):not(.thank-you-page-modern)
    .SSPreviousButton {
    left: 10px !important;
  }

  body:not(.home-page):not(.contact-page-modern):not(.location-page-modern):not(.thank-you-page-modern)
    .SSNextButton {
    left: auto !important;
    right: 10px !important;
  }

  body:not(.home-page):not(.contact-page-modern):not(.location-page-modern):not(.thank-you-page-modern)
    .SSPreviousButton
    p,
  body:not(.home-page):not(.contact-page-modern):not(.location-page-modern):not(.thank-you-page-modern)
    .SSNextButton
    p,
  body:not(.home-page):not(.contact-page-modern):not(.location-page-modern):not(.thank-you-page-modern)
    .SSPreviousButton
    span {
    color: inherit !important;
    font-size: inherit !important;
    line-height: 1 !important;
    margin: 0 !important;
  }

  #u2347-4,
  #u2348-4,
  #u3077-4 {
    order: 3 !important;
  }

  #slideshowu3139,
  #slideshowu4847,
  #slideshowu3443 {
    order: 4 !important;
  }

  #u236-26,
  #u235-43,
  #u3030-43 {
    order: 5 !important;
  }

  #u2874-26 {
    order: 3 !important;
  }

  #slideshowu2875 {
    order: 4 !important;
  }

  #u2873-18 {
    order: 5 !important;
  }

  #u2936-4 {
    order: 6 !important;
  }

  /*
   * Kompakter, stabiler Footer ohne zweiten Scrollbereich.
   */
  #ppu1806 {
    box-sizing: border-box;
    clear: both;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    width: 100% !important;
  }

  #pu1806 {
    display: none !important;
  }

  #u1831-bw,
  #u1831,
  #u1831_align_to_page {
    box-sizing: border-box;
    height: auto !important;
    left: auto !important;
    margin: 0 !important;
    min-height: 0 !important;
    position: relative !important;
    width: 100% !important;
  }

  #u1831_align_to_page {
    padding: 15px 18px !important;
  }

  #u1808-9 {
    float: none !important;
    font-size: 11px !important;
    height: auto !important;
    left: auto !important;
    line-height: 17px !important;
    margin: 0 !important;
    min-height: 0 !important;
    overflow-wrap: anywhere;
    position: relative !important;
    text-align: center;
    width: 100% !important;
  }
}

/*
 * Am Desktop steuert das bestehende Muse-Menü die Unterpunkte per Hover.
 * Mobil werden sie auf den drei Haus-I-Seiten statisch eingeblendet.
 */
@media (min-width: 761px) {
  #u2736:hover > #u2741,
  #u2736:focus-within > #u2741 {
    display: block !important;
    visibility: visible !important;
  }
}
