/*
.astroid-nav .nav-link:active, .astroid-nav .nav-link.active, .astroid-sidebar-menu .nav-link:active, .astroid-sidebar-menu .nav-link.active{background-color: rgb(23, 162, 184);}
*/

/* Zeilenhöhe Hauptmenü */
/*
.astroid-nav > li,
.astroid-nav > li > a.as-menu-item {
    min-height: 25px !important;
    height: 25px !important;
    display: flex;
    align-items: center;
}
*/
.mod-astroid-menu .nav-item-level-1 > a .nav-item-caret {
    display: none !important;
}

/* Hamburger-Menü: Linien stärker */
.header-mobilemenu-trigger .inner,
.header-mobilemenu-trigger .inner::before,
.header-mobilemenu-trigger .inner::after {
    height: 3px !important;
}


#disclaimer.uk-modal {
    height: 100dvh !important;
    overflow-y: auto !important;
}

/* =========================================
   GTranslate – Reihenfolge
   DE ? EN ? CS ? PL ? RO ? SK ? SL
   ========================================= */

.gtranslate_wrapper {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
}

.gtranslate_wrapper a[data-gt-lang="de"] { order: 1; }
.gtranslate_wrapper a[data-gt-lang="en"] { order: 2; }
.gtranslate_wrapper a[data-gt-lang="cs"] { order: 3; }
.gtranslate_wrapper a[data-gt-lang="pl"] { order: 4; }
.gtranslate_wrapper a[data-gt-lang="ro"] { order: 5; }
.gtranslate_wrapper a[data-gt-lang="sk"] { order: 6; }
.gtranslate_wrapper a[data-gt-lang="sl"] { order: 7; }


/* =========================================
   DESKTOP
   ========================================= */

.gtranslate_wrapper a.glink {
    font-size: 12px !important;
    white-space: nowrap;
    color: #111 !important;
    text-decoration: none !important;
}

.gtranslate_wrapper a.glink img {
    width: 20px !important;
    height: auto !important;
}


/* =========================================
   TABLET
   ========================================= */

@media (max-width: 991px) {

    .gtranslate_wrapper a.glink {
        font-size: 12px !important;
    }

    .gtranslate_wrapper a.glink img {
        width: 20px !important;
        height: auto !important;
    }
}


/* =========================================
   SMARTPHONE
   ========================================= */

@media (max-width: 767px) {

    .gtranslate_wrapper a.glink {
        font-size: 10px !important;
    }

    .gtranslate_wrapper a.glink img {
        width: 16px !important;
        height: auto !important;
    }
}


/* GTranslate – Abstand Desktop */
@media (min-width: 992px) {
    .gtranslate_wrapper a.glink {
        margin-right: 15px !important;
    }

    .gtranslate_wrapper a.glink:last-child {
        margin-right: 0 !important;
    }
}

/* GTranslate – Tablet und Smartphone */
@media (max-width: 991px) {
    .gtranslate_wrapper a.glink {
        margin-right: 0 !important;
    }

    .gtranslate_wrapper {
        gap: 0 !important;
    }
}

@media (min-width: 992px) {
    .astroid-nav.d-lg-flex {
        flex-direction: row !important;
        flex-wrap: nowrap !important;
    }

    .astroid-nav.d-lg-flex > li {
        width: auto !important;
        flex: 0 0 auto !important;
        display: block !important;
    }

    .astroid-nav.d-lg-flex > li > a.as-menu-item {
        width: auto !important;
        white-space: nowrap !important;
        display: flex !important;
        align-items: center;
    }
}


#astroid-header,
.header-position,
.astroid-module-position {
    background-color: transparent !important;
}

/* Astroid Mobile-Menü sichtbar machen */
.astroid-mobilemenu .astroid-mobile-menu {
    display: block !important;
}

/* Aktiver Menüpunkt im mobilen Menü */
.astroid-mobilemenu .astroid-mobile-menu > li.nav-item-active > a {
    background-color: #c43b22 !important;
    color: #fff !important;
    display: inline-flex !important;
    width: auto !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
}

/* Eigenes Sticky-Hauptmenü – nur Desktop */
@media (min-width: 992px) {
    .sticky-hauptmenu {
        position: sticky !important;
        top: 0;
        z-index: 1050;
        background-color: #f9f4f0 !important;
    }
}

/* Sticky-Menü – Smartphone und Tablet */
@media (max-width: 991px) {
    .sticky-mobilemenu {
        position: sticky !important;
        top: 0;
        z-index: 1050;
        background-color: #F9F4F0 !important;
    }
}

/* Aktive Menülinks abrunden */
.astroid-nav .nav-link.active {
    border-radius: 8px !important;
}

/* Mobiles Astroid-Menü besser bedienbar */
.astroid-mobile-menu .nav-link {
    font-size: 17px !important;
    line-height: 1.4 !important;
    padding: 12px 16px !important;
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
}

.astroid-mobile-menu .nav-item {
    margin-bottom: 4px !important;
}

/* Farbwert für den Link "Ferienschlösser" festlegen. */
#mod-custom135 a,
#mod-custom135 a:link,
#mod-custom135 a:visited,
#mod-custom135 a:hover,
#mod-custom135 a:focus,
#mod-custom135 a:active {
    color: #e0de71 !important;
    -webkit-text-fill-color: #e0de71 !important;
}

/* ==================================================
   WOHNUNGEN, PREISE UND PROJEKTGALERIE
   ================================================== */

/* ==================================================
   WOHNUNGEN – RESPONSIVES LAYOUT
   Gilt gemeinsam für Wohnung 1 und Wohnung 2
   ================================================== */

.wohnung-info {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    grid-template-areas:
        "ausstattung einleitung"
        "ausstattung inhalt";
    column-gap: 30px;
    align-items: start;
}

/* Einleitung */
.wohnung-einleitung {
    grid-area: einleitung;
    text-align: center;
}

.wohnung-einleitung h2 {
    margin-top: 0;
    color: #c43b22;
    font-size: 20px;
    font-weight: 700;
}

.wohnung-einleitung p {
    margin: 0 0 14px;
}

/* Ausstattung – linke Spalte */
.wohnung-ausstattung {
    grid-area: ausstattung;
    padding-right: 20px;
    border-right: 1px dotted #bbb;
    font-size: 12px;
    line-height: 1.3;
}

.wohnung-ausstattung ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.wohnung-ausstattung li {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 1px 0;
}

.wohnung-ausstattung i {
    width: 22px;
    flex-shrink: 0;
    text-align: center;
    color: #666;
    font-size: 14px;
    margin-right: 7px;
}

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

.wohnung-hinweis {
    margin-top: 25px;
    color: #b63724;
}

.wohnung-hinweis p {
    margin: 14px 0 0;
}

/* Hauptinhalt */
.wohnung-beschreibung {
    grid-area: inhalt;
    min-width: 0;
    text-align: center;
}

.wohnung-text {
    text-align: left;
    margin-top: 18px;
    line-height: 1.4;
}

/* Preise */
.preistabelle-wrapper {
    width: 100%;
    min-width: 0;
    overflow-x: auto;
}

.preise-titel {
    margin-top: 35px;
    margin-bottom: 10px;
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    color: #c43b22;
}

.preistabelle {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 14px;
}

.preistabelle .wohnung-name th {
    padding: 18px 10px;
    background: #e8e8e8;
    color: #c43b22;
    font-size: 18px;
    font-weight: 700;
    text-align: center;
}

.preistabelle .preis-kopf th {
    padding: 7px 10px;
    background: transparent;
    color: #111;
    font-weight: 700;
    text-align: center;
}

.preistabelle tbody td {
    padding: 10px 12px;
    border: 0;
    text-align: center;
    vertical-align: middle;
    color: #d32f1f;
}

.preistabelle tbody td:not(.zeitraum) strong {
    font-size: 14pt;
}

.preistabelle tbody td.zeitraum {
    width: 34%;
    background: #eee;
    color: #111;
    text-align: left;
    line-height: 1.15;
}

.preistabelle .zeitraum strong {
    display: block;
    font-size: 13px;
    font-weight: 700;
}

.preistabelle th:not(:first-child),
.preistabelle td:not(:first-child) {
    width: 22%;
}

/* Buchung */
.buchungshinweis {
    margin-top: 30px;
    text-align: left;
}

.buchungshinweis a {
    color: #b63724;
}

/* Belegungsplan */
.belegungsplan {
    margin-top: 30px;
    text-align: left;
}

.belegungsplan iframe {
    display: block;
    width: 100%;
    height: 550px;
    border: 0;
}

/* Tablet / Smartphone:
   Einleitung zuerst, danach Ausstattung, danach restlicher Inhalt */
@media (max-width: 767px) {
    .wohnung-info {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "einleitung"
            "ausstattung"
            "inhalt";
        row-gap: 25px;
    }

    .wohnung-einleitung,
    .wohnung-beschreibung {
        text-align: left;
    }

    .wohnung-ausstattung {
        padding-right: 0;
        padding-bottom: 20px;
        border-right: 0;
        border-bottom: 1px solid #ddd;
    }

    .preise-titel {
        text-align: center;
    }

    /* Preistabelle Smartphone */
    .preistabelle-wrapper {
        width: 100%;
        overflow-x: hidden;
    }

    .preistabelle {
        width: 100%;
        table-layout: fixed;
        font-size: 11px;
    }

    /* Zeitraum bekommt etwas mehr Platz */
    .preistabelle tbody td.zeitraum {
        width: 34%;
        padding: 9px 4px;
        line-height: 1.2;
    }

    /* Drei Preisspalten teilen sich den Rest */
    .preistabelle th:not(:first-child),
    .preistabelle td:not(:first-child) {
        width: 22%;
    }

    /* Überschriften 2 Pers. / 3 Pers. / 4 Pers. */
    .preistabelle .preis-kopf th {
        padding: 7px 1px;
        font-size: 11px;
        line-height: 1.15;
        white-space: nowrap;
    }

    /* Preisfelder */
    .preistabelle tbody td {
        padding: 9px 1px;
        text-align: center;
    }

    .preistabelle tbody td:not(.zeitraum) strong {
        font-size: 13px;
        white-space: nowrap;
    }

    /* Zeitraum */
    .preistabelle .zeitraum strong {
        font-size: 11px;
        line-height: 1.2;
    }

    /* Wohnungsüberschrift */
    .preistabelle .wohnung-name th {
        padding: 13px 4px;
        font-size: 16px;
    }
}

/* Projektgalerie – einheitliche Bildhöhe */
.uk-slider-items img {
    height: 300px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
}

/* Astroid Hamburger-Menü – beide Template-Stile */
@media (max-width: 991px) {
    /* Weißer Hintergrund */
    .burger-menu-button .button {
        background-color: #ffffff !important;
        border: 1px solid #888888 !important;
        border-radius: 5px !important;
        min-width: 48px !important;
        min-height: 48px !important;
        box-sizing: border-box !important;
    }

    /* Hamburger-Linien und X */
    .burger-menu-button .inner,
    .burger-menu-button .inner::before,
    .burger-menu-button .inner::after {
        background-color: #222222 !important;
    }
}

/* Projekt 1 und 2: Smartphone nur ein Bild gleichzeitig */
@media (max-width: 767px) {
    #mod_uk_gs_241-lightbox .uk-slider-items > li,
    #mod_uk_gs_242-lightbox .uk-slider-items > li {
        width: 100% !important;
    }
}

/* Projektwohnungen: Desktop-Layout auf 950 px begrenzen */
@media (min-width: 1200px) {
    .wohnung-info {
        max-width: 950px;
        margin-left: auto;
        margin-right: auto;
    }
}

/* Startseite: Artikelinhalt auf Desktop zentrieren */
@media (min-width: 1200px) {
    #content .astroid-component-area {
        max-width: 950px;
        margin-left: auto;
        margin-right: auto;
    }
}

/* Impressum / AGB / Datenschutz – einheitliche Schriftgröße */
.bottom-rechtliches h5,
.bottom-rechtliches h5 a {
    font-size: 16px !important;
    line-height: 1.5 !important;
}

/* Links zu Impressum und Google Maps */
.bottom-rechtliches a {
    color: #e0de71 !important;
    -webkit-text-fill-color: #e0de71 !important;
}

/* E-Mail-Links */
.bottom-email a[href^="mailto:"] {
    color: #e0de71 !important;
    -webkit-text-fill-color: #e0de71 !important;
}

/* Sprachauswahl im Desktop-Header rechtsbündig */
@media (min-width: 992px) {
    .translate-right {
        text-align: right !important;
    }

    .translate-right .mod-languages {
        display: flex;
        justify-content: flex-end;
    }
}

/* Sprachauswahl im Desktop-Menü nach oben verschieben */
@media (min-width: 992px) {

    .translate-right {
        position: relative;
        top: -50px;
        text-align: right !important;
    }

}

/* Mobiles Menü: Sprachauswahl rechts */
@media (max-width: 991px) {

    .translate-mobile-right {
        text-align: right !important;
    }

    .translate-mobile-right .mod-languages {
        display: flex;
        justify-content: flex-end;
        align-items: center;
    }

    .translate-mobile-right .mod-languages ul {
        justify-content: flex-end;
    }
}

/* Zusätzliches mobiles Hamburger-Menü im Astroid-Header ausblenden */
@media (max-width: 991.98px) {
    #astroid-header .mobile-menu-empty-position
    .header-mobilemenu-trigger {
        display: none !important;
    }
}

/* Mobile Sprachauswahl nach oben verschieben */
@media (max-width: 991.98px) {
    .translate-mobile-right {
        position: relative;
        top: -45px;
        text-align: right !important;
    }
}

/* Überflüssigen Hamburger-Button auf Desktop ausblenden */
@media (min-width: 992px) {
    #astroid-header .header-mobilemenu-trigger {
        display: none !important;
    }
}

/* Überflüssigen Hamburger im Sticky-Header ausblenden */
@media (min-width: 992px) {
    #astroid-sticky-header .header-mobilemenu-trigger {
        display: none !important;
    }
}

/* Doppelte Sticky-Positionierung auf Desktop verhindern */
@media (min-width: 992px) {
    section.sticky-hauptmenu {
        position: static !important;
    }
}

/* Desktop: Überlagerung des Hauptmenüs durch die Sprachauswahl vermeiden */
@media (min-width: 992px) {
    section.sticky-hauptmenu {
        pointer-events: none;
    }

    section.sticky-hauptmenu .mod-languages a {
        pointer-events: auto;
    }
}

/* Eigene Flaggen für die Sprachauswahl */
.mod-languages img {
    width: 40px;
    height: 27px;
    object-fit: contain;
}

.mod-languages img[src*="de_de"] {
    content: url("/images/flaggen/flagge_deutschland.png");
}

.mod-languages img[src*="en_gb"] {
    content: url("/images/flaggen/flagge_grossbritannien.png");
}

.mod-languages img[src*="sk_sk"] {
    content: url("/images/flaggen/flagge_slowakei.png");
}

.mod-languages img[src*="sl_si"] {
    content: url("/images/flaggen/flagge_slowenien.png");
}

.mod-languages img[src*="pl_pl"] {
    content: url("/images/flaggen/flagge_polen.png");
}