/*
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* ==========================================================================
   Globale Layout Anpassungen
   ========================================================================== */

html {
    scroll-padding-top: 115px; /* Höhe Ihrer fixen Navigationsleiste */
}

/* Desktop ab 1367px */
@media (min-width: 1367px) {
    html {
        scroll-padding-top: 170px; /* Höhe Ihrer fixen Navigationsleiste */
    }
}

/* ==========================================================================
   Navigation
   ========================================================================== */

.sidebar {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100vw; /* Fallback für ältere Browser */
    width: 100svw;
    max-height: 80px;
    overflow: auto;
    -webkit-transition: all 0.3s ease-in-out !important;
    -moz-transition: all 0.3s ease-in-out !important;
    -o-transition: all 0.3s ease-in-out !important;
    transition: all 0.3s ease-in-out !important;
    overflow-x: hidden;
    z-index: 1000;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.sidebar .live-lottie,
.sidebar .live-lottie .e-lottie__animation,
.sidebar .elementor-icon-wrapper {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.sidebar-off-canvas .e-off-canvas__content {
    width: 100vw !important; /* Fallback für ältere Browser */
    width: 100svw !important;
}

/* Tablet 768-1024px */
@media (min-width: 768px) {

}

/* Laptop 1025-1366px */
@media (min-width: 1025px) {

    .sidebar {
        position: fixed !important;
        top: 50% !important;
        left: 0;
        -webkit-transform: translateY(-50%) !important;
        -moz-transform: translateY(-50%) !important;
        -ms-transform: translateY(-50%) !important;
        -o-transform: translateY(-50%) !important;
        transform: translateY(-50%) !important;
        max-width: 80px !important;
        height: 350px;
        max-height: unset;
    }

    .sidebar-off-canvas .e-off-canvas__content {
        width: 600px !important;
    }

}

/* Desktop ab 1367px */
@media (min-width: 1367px) {

    .sidebar {
        max-width: 80px !important;
        height: 400px;
        max-height: unset;
    }


}

/* ==========================================================================
   General
   ========================================================================== */

/* =================== Infobox ================= */

.infobox-icon .elementor-icon-wrapper {
    line-height: 1;
}

a.infobox,
.infobox .infobox-icon {
    -webkit-transition: all 0.6s ease;
    -moz-transition: all 0.6s ease;
    -o-transition: all 0.6s ease;
    transition: all 0.6s ease;
}

a.infobox:hover,
.infobox:hover .infobox-icon {
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -ms-transform: scale(1.05);
    -o-transform: scale(1.05);
    transform: scale(1.05);
}

a.infobox:hover {
    background-color: var(--e-global-color-primary) !important;
}

a.infobox-orange:hover {
    background-color: var(--e-global-color-accent) !important;
}

.infobox h3,
.infobox p {
    hyphens: auto;
}

/* =================== Tables ================= */

.tabelle-winter-tageskarten table tbody tr td:first-of-type {
    text-align: right !important;
}


/* ==========================================================================
   Blocks --- (which has no extra styling sheet .css in assets/css/...
   ========================================================================== */

/* =================== Bild-Text-Bild section ================= */

.bild-text-bild-section .bild-text-bild-text {
    min-width: 40%;
}

/* Desktop ab 1367px */
@media (min-width: 1367px) {
    .bild-text-bild-section .image-left .elementor-widget-image {
        position: absolute;
        bottom: 0;
        left: 0;
    }

    .bild-text-bild-section .image-left img {
        min-height: 70vh; /* Fallback für ältere Browser */
        min-height: 70svh;
    }

    .bild-text-bild-section .image-right img {
        -webkit-transform: translateY(-15vh); /* Fallback für ältere Browser */
        -moz-transform: translateY(-15vh);
        -ms-transform: translateY(-15vh);
        -o-transform: translateY(-15vh);
        transform: translateY(-15svh);
    }
}

/* Desktop large ab 1920px */
@media (min-width: 1920px) {
    .bild-text-bild-section .bild-text-bild-text {
        min-width: 45%;
    }
}


/* =================== Live Info section ================= */

.live-info-section .live-lottie,
.live-info-section .live-lottie .e-lottie__animation {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -moz-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.live-info-section .infobox-icon .elementor-icon-wrapper {
    line-height: 1;
}

.live-info-section a.infobox,
.live-info-section .infobox .infobox-icon {
    -webkit-transition: all 0.6s ease;
    -moz-transition: all 0.6s ease;
    -o-transition: all 0.6s ease;
    transition: all 0.6s ease;
}

.live-info-section a.infobox:hover,
.live-info-section .infobox:hover .infobox-icon {
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -ms-transform: scale(1.05);
    -o-transform: scale(1.05);
    transform: scale(1.05);
}

.live-info-section a.infobox:hover {
    background-color: var(--e-global-color-primary) !important;
}

.live-info-section .infobox h3,
.live-info-section .infobox p {
    hyphens: auto;
}


/* Laptop 1025-1366px */
@media (min-width: 1025px) {
    .live-info-section .live-lottie {
        position: absolute;
        right: 0;
        top: -60px;
    }

    .live-info-section .live-lottie .e-lottie__animation {
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -moz-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

}


/* =================== Ski- & Skischulen Section ================= */

.ski-skischulen-section a.ski-skischulen-section-item {
    -webkit-transition: all 0.6s ease;
    -moz-transition: all 0.6s ease;
    -o-transition: all 0.6s ease;
    transition: all 0.6s ease;
}

.ski-skischulen-section a.ski-skischulen-section-item:hover {
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -ms-transform: scale(1.05);
    -o-transform: scale(1.05);
    transform: scale(1.05);
}


/* =================== 3er Block section ================= */

.dreier-block-section .claim-links,
.dreier-block-section .claim-rechts {
    pointer-events: none;
}

.dreier-block-section .claim-links .elementor-heading-title,
.dreier-block-section .claim-rechts .elementor-heading-title {
    display: -webkit-box !important;
    display: -webkit-flex !important;
    display: -moz-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    width: 0.7em !important;
}


/* =================== Orange stripe ================= */
/* ===== General ===== */

.orange-stripe-wrapper {
    display: block;

}

.orange-stripe-wrapper::before {
    display: block;
    content: "";
    width: 70px;
    height: 2px;
    background-color: var(--e-global-color-accent);
    border-radius: 0;
    margin-top: 1em;
    margin-bottom: 1.5em;
    margin-right: 1em;
}

.orange-stripe-wrapper p {
    /*margin: 0;*/
}

/* Laptop 1025-1366px */
@media (min-width: 1025px) {
    .orange-stripe-wrapper {
        display: -webkit-box;
        display: -webkit-flex;
        display: -moz-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: flex-start;
        -webkit-align-items: flex-start;
        -moz-box-align: flex-start;
        -ms-flex-align: flex-start;
        align-items: flex-start;
    }

    .orange-stripe-wrapper::before {
        display: inline-block;
        min-width: 30px;
        margin-top: 0.625em;
        margin-bottom: 0.625em;
    }
}

/* Desktop ab 1367px */
@media (min-width: 1367px) {
    .orange-stripe-wrapper::before {
        min-width: 60px;
    }
}


/* =================== CTA section ================= */

/* ===== Left ===== */

.cta-section .cta-section-text-left .elementor-heading-title {
    background-color: rgba(255, 255, 255, 1);
    -webkit-clip-path: polygon(0% 0%, 40% 0%, 40% 100%, 0% 100%);
    clip-path: polygon(0% 0%, 40% 0%, 40% 100%, 0% 100%);
}

/* ===== Right ===== */

.cta-section .cta-section-text-right .elementor-heading-title {
    background-color: rgba(255, 255, 255, 0.75);
    -webkit-clip-path: polygon(40% 0%, 100% 0%, 100% 100%, 40% 100%);
    clip-path: polygon(40% 0%, 100% 0%, 100% 100%, 40% 100%);
}

/* ===== Both ===== */

.cta-section .cta-section-text-left .elementor-heading-title,
.cta-section .cta-section-text-right .elementor-heading-title {
    height: 80vh; /* Fallback für ältere Browser */
    height: 80svh;
    width: calc(100vw); /* Fallback für ältere Browser */
    width: calc(100svw);
    padding: 40px 20px;
    /* NEU: Text linksbündig ausrichten, damit er im clip-path sichtbar ist */
    text-align: left !important;
}

/* Tablet 768-1024px */
@media (min-width: 768px) {

    /* ===== Left ===== */

    .cta-section .cta-section-text-left .elementor-heading-title {
        -webkit-clip-path: polygon(0% 0%, 40% 0%, 40% 100%, 0% 100%);
        clip-path: polygon(0% 0%, 40% 0%, 40% 100%, 0% 100%);
    }

    /* ===== Right ===== */

    .cta-section .cta-section-text-right .elementor-heading-title {
        background-color: rgba(255, 255, 255, 0.25);
        clip-path: polygon(40% 0%, 100% 0%, 100% 100%, 40% 100%);
    }

    /* ===== Both ===== */

    .cta-section .cta-section-text-left .elementor-heading-title,
    .cta-section .cta-section-text-right .elementor-heading-title {
        height: 50svh;
        padding: calc(calc(50svh - calc(var(--e-global-typography-1e5512b-font-size) * 2) ) / 2) 40px;
    }

}

/* Laptop 1025-1366px */
@media (min-width: 1025px) {

    /* ===== Left ===== */

    .cta-section .cta-section-text-left .elementor-heading-title {
        clip-path: polygon(0% 0%, 40% 0%, 40% 100%, 0% 100%);
    }

    /* ===== Right ===== */

    .cta-section .cta-section-text-right .elementor-heading-title {
        clip-path: polygon(40% 0%, 100% 0%, 100% 100%, 40% 100%);
    }

    /* ===== Both ===== */

    .cta-section .cta-section-text-left .elementor-heading-title,
    .cta-section .cta-section-text-right .elementor-heading-title {
        height: 70svh;
        padding: calc(calc(70svh - calc(var(--e-global-typography-1e5512b-font-size) * 2) ) / 2) 120px;
    }

}

/* Desktop ab 1367px */
@media (min-width: 1367px) {
    .cta-section .cta-section-text-left .elementor-heading-title,
    .cta-section .cta-section-text-right .elementor-heading-title {
        padding: calc(calc(70svh - calc(var(--e-global-typography-1e5512b-font-size) * 2) ) / 2) 140px;
    }
}

/* ===== CTA Section - Elementor Editor Specific Styles ===== */
/* Diese Regeln stellen sicher, dass CTA Section auch im Template-Widget sichtbar ist */

/* Elementor Editor: Nur Sichtbarkeits-Fixes für Template-Widget */
body.elementor-editor-active .cta-section {
    position: relative !important;
    overflow: visible !important;
}

/* Elementor Editor: Alle Elemente sichtbar machen */
body.elementor-editor-active .cta-section * {
    visibility: visible !important;
    opacity: 1 !important;
}

/* Elementor Editor: Container-Overflow-Fix */
body.elementor-editor-active .cta-section .elementor-widget-container {
    overflow: visible !important;
}

/* Elementor Editor: Background Slideshow sichtbar machen */
body.elementor-editor-active .cta-section .elementor-background-slideshow {
    visibility: visible !important;
    opacity: 1 !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    pointer-events: none !important;
}

/* Elementor Editor: Swiper Slides sichtbar machen */
body.elementor-editor-active .cta-section .elementor-background-slideshow .swiper-slide {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: none !important;
}

/* Zusätzlich: Stelle sicher, dass der CTA Section Container relative Positionierung hat */
body.elementor-editor-active .cta-section {
    position: relative !important;
    overflow: visible !important;
}


/* =================== Highlight section ================= */

.highlight-section-links .claim-links,
.highlight-section-rechts .claim-links,
.highlight-section-links .claim-rechts,
.highlight-section-rechts .claim-rechts{
    pointer-events: none;
}

.highlight-section-links .claim-links .elementor-heading-title,
.highlight-section-rechts .claim-links .elementor-heading-title,
.highlight-section-links .claim-rechts .elementor-heading-title,
.highlight-section-rechts .claim-rechts .elementor-heading-title {
    width: 0.7em !important;
}

.highlight-section-links .claim-links .elementor-heading-title,
.highlight-section-rechts .claim-links .elementor-heading-title {
    text-shadow: 1px -1px 2px var(--e-global-color-00257ae);
}

.highlight-section-links .claim-rechts .elementor-heading-title,
.highlight-section-rechts .claim-rechts .elementor-heading-title {
    text-shadow: 1px 1px 2px var(--e-global-color-00257ae);
}


/* Smartphone-Tablet up to 767px */
@media (max-width: 1024px) {

    /* Highlight sections */
    .highlight-section-links .bild-claim-links,
    .highlight-section-links .bild-claim-rechts,
    .highlight-section-rechts .bild-claim-links,
    .highlight-section-rechts .bild-claim-rechts {
        position: absolute;
        height: 50svh;
    }

    .highlight-section-links .bild-claim-links,
    .highlight-section-rechts .bild-claim-links {
        left: 0;
    }

    .highlight-section-links .bild-claim-rechts,
    .highlight-section-rechts .bild-claim-rechts {
        right: 0;
    }

}

/* Smartphone-Tablet up to 767px */
@media (max-width: 767px) {

    /* Highlight sections */
    .highlight-section-links .highlight-section-text,
    .highlight-section-rechts .highlight-section-text{
        padding-top: calc(50svh + 80px);
    }

    .highlight-section-links .bild-claim-links,
    .highlight-section-links .bild-claim-rechts,
    .highlight-section-rechts .bild-claim-links,
    .highlight-section-rechts .bild-claim-rechts {
        width: calc(50% + 20px);
    }

    .highlight-section-links .claim-links,
    .highlight-section-rechts .claim-links {
        padding-left: 20px;
    }

    .highlight-section-links .claim-rechts,
    .highlight-section-rechts .claim-rechts {
        padding-right: 20px;
    }

}

/* Tablet 768-1024px */
@media (min-width: 768px) and (max-width: 1024px) {

    /* Highlight sections */
    .highlight-section-links .highlight-section-text,
    .highlight-section-rechts .highlight-section-text {
        padding-top: calc(50svh + 80px);
    }

    .highlight-section-links .bild-claim-links,
    .highlight-section-links .bild-claim-rechts,
    .highlight-section-rechts .bild-claim-links,
    .highlight-section-rechts .bild-claim-rechts {
        width: calc(50% + 40px);
    }

    .highlight-section-links .claim-links,
    .highlight-section-rechts .claim-links {
        padding-left: 40px;
    }

    .highlight-section-links .claim-rechts,
    .highlight-section-rechts .claim-rechts {
        padding-right: 40px;
    }

}

/* Laptop 1025-1366px */
@media (min-width: 1025px) {
    .highlight-section-links .claim-links .elementor-heading-title,
    .highlight-section-rechts .claim-links .elementor-heading-title {
        text-shadow: 3px -1px 6px var(--e-global-color-00257ae);
    }

    .highlight-section-links .claim-rechts .elementor-heading-title,
    .highlight-section-rechts .claim-rechts .elementor-heading-title {
        text-shadow: 3px 1px 6px var(--e-global-color-00257ae);
    }
}


/* ===== Footer ===== */

footer .orange-stripe-wrapper::before {
    margin-left: auto;
    margin-right: auto;
}

/* Tablet 768-1024px */
@media (min-width: 768px) {
    footer .orange-stripe-wrapper::before {
        margin-top: 1em;
        margin-bottom: 1em;
        margin-left: 0;
        margin-right: 0;
    }
}

/* Laptop 1025-1366px */
@media (min-width: 1025px) {
    footer .orange-stripe-wrapper::before {
        margin-top: 0.625em;
        margin-bottom: 0.625em;
        margin-right: 20px;
    }
}


/* =================== Footer ================= */

footer #footer-bottom nav {
    justify-content: center;
}

/* Tablet 768-1024px */
@media (min-width: 768px) {
    footer #footer-bottom nav {
        justify-content: left;
    }
}