/*
 Theme Name:   Felsenhof
 Description:  This is a child theme for Tourm - WordPress Theme
 Author:       WEBFADEN
 Template:     tourm
 Version:      1.0.0
 Text Domain:  felsenhof
*/
@font-face {
    font-family: 'Manrope';
    src: url('fonts/Manrope-ExtraLight.eot');
    src: url('fonts/Manrope-ExtraLight.eot?#iefix') format('embedded-opentype'),
    url('fonts/Manrope-ExtraLight.woff2') format('woff2'),
    url('fonts/Manrope-ExtraLight.woff') format('woff'),
    url('fonts/Manrope-ExtraLight.ttf') format('truetype'),
    url('fonts/Manrope-ExtraLight.svg#Manrope-ExtraLight') format('svg');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Manrope';
    src: url('fonts/Manrope-Regular.eot');
    src: url('fonts/Manrope-Regular.eot?#iefix') format('embedded-opentype'),
    url('fonts/Manrope-Regular.woff2') format('woff2'),
    url('fonts/Manrope-Regular.woff') format('woff'),
    url('fonts/Manrope-Regular.ttf') format('truetype'),
    url('fonts/Manrope-Regular.svg#Manrope-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Manrope';
    src: url('fonts/Manrope-Light.eot');
    src: url('fonts/Manrope-Light.eot?#iefix') format('embedded-opentype'),
    url('fonts/Manrope-Light.woff2') format('woff2'),
    url('fonts/Manrope-Light.woff') format('woff'),
    url('fonts/Manrope-Light.ttf') format('truetype'),
    url('fonts/Manrope-Light.svg#Manrope-Light') format('svg');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Manrope';
    src: url('fonts/Manrope-Medium.eot');
    src: url('fonts/Manrope-Medium.eot?#iefix') format('embedded-opentype'),
    url('fonts/Manrope-Medium.woff2') format('woff2'),
    url('fonts/Manrope-Medium.woff') format('woff'),
    url('fonts/Manrope-Medium.ttf') format('truetype'),
    url('fonts/Manrope-Medium.svg#Manrope-Medium') format('svg');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Manrope';
    src: url('fonts/Manrope-Bold.eot');
    src: url('fonts/Manrope-Bold.eot?#iefix') format('embedded-opentype'),
    url('fonts/Manrope-Bold.woff2') format('woff2'),
    url('fonts/Manrope-Bold.woff') format('woff'),
    url('fonts/Manrope-Bold.ttf') format('truetype'),
    url('fonts/Manrope-Bold.svg#Manrope-Bold') format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Manrope';
    src: url('fonts/Manrope-ExtraBold.eot');
    src: url('fonts/Manrope-ExtraBold.eot?#iefix') format('embedded-opentype'),
    url('fonts/Manrope-ExtraBold.woff2') format('woff2'),
    url('fonts/Manrope-ExtraBold.woff') format('woff'),
    url('fonts/Manrope-ExtraBold.ttf') format('truetype'),
    url('fonts/Manrope-ExtraBold.svg#Manrope-ExtraBold') format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Manrope';
    src: url('fonts/Manrope-SemiBold.eot');
    src: url('fonts/Manrope-SemiBold.eot?#iefix') format('embedded-opentype'),
    url('fonts/Manrope-SemiBold.woff2') format('woff2'),
    url('fonts/Manrope-SemiBold.woff') format('woff'),
    url('fonts/Manrope-SemiBold.ttf') format('truetype'),
    url('fonts/Manrope-SemiBold.svg#Manrope-SemiBold') format('svg');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-LightItalic.eot');
    src: local('Roboto Light Italic'), local('Roboto-LightItalic'),
    url('fonts/Roboto-LightItalic.eot?#iefix') format('embedded-opentype'),
    url('fonts/Roboto-LightItalic.woff2') format('woff2'),
    url('fonts/Roboto-LightItalic.woff') format('woff'),
    url('fonts/Roboto-LightItalic.ttf') format('truetype'),
    url('fonts/Roboto-LightItalic.svg#Roboto-LightItalic') format('svg');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-ThinItalic.eot');
    src: local('Roboto Thin Italic'), local('Roboto-ThinItalic'),
    url('fonts/Roboto-ThinItalic.eot?#iefix') format('embedded-opentype'),
    url('fonts/Roboto-ThinItalic.woff2') format('woff2'),
    url('fonts/Roboto-ThinItalic.woff') format('woff'),
    url('fonts/Roboto-ThinItalic.ttf') format('truetype'),
    url('fonts/Roboto-ThinItalic.svg#Roboto-ThinItalic') format('svg');
    font-weight: 100;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-Black.eot');
    src: local('Roboto Black'), local('Roboto-Black'),
    url('fonts/Roboto-Black.eot?#iefix') format('embedded-opentype'),
    url('fonts/Roboto-Black.woff2') format('woff2'),
    url('fonts/Roboto-Black.woff') format('woff'),
    url('fonts/Roboto-Black.ttf') format('truetype'),
    url('fonts/Roboto-Black.svg#Roboto-Black') format('svg');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-Regular.eot');
    src: local('Roboto'), local('Roboto-Regular'),
    url('fonts/Roboto-Regular.eot?#iefix') format('embedded-opentype'),
    url('fonts/Roboto-Regular.woff2') format('woff2'),
    url('fonts/Roboto-Regular.woff') format('woff'),
    url('fonts/Roboto-Regular.ttf') format('truetype'),
    url('fonts/Roboto-Regular.svg#Roboto-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-MediumItalic.eot');
    src: local('Roboto Medium Italic'), local('Roboto-MediumItalic'),
    url('fonts/Roboto-MediumItalic.eot?#iefix') format('embedded-opentype'),
    url('fonts/Roboto-MediumItalic.woff2') format('woff2'),
    url('fonts/Roboto-MediumItalic.woff') format('woff'),
    url('fonts/Roboto-MediumItalic.ttf') format('truetype'),
    url('fonts/Roboto-MediumItalic.svg#Roboto-MediumItalic') format('svg');
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-Italic.eot');
    src: local('Roboto Italic'), local('Roboto-Italic'),
    url('fonts/Roboto-Italic.eot?#iefix') format('embedded-opentype'),
    url('fonts/Roboto-Italic.woff2') format('woff2'),
    url('fonts/Roboto-Italic.woff') format('woff'),
    url('fonts/Roboto-Italic.ttf') format('truetype'),
    url('fonts/Roboto-Italic.svg#Roboto-Italic') format('svg');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-Bold.eot');
    src: local('Roboto Bold'), local('Roboto-Bold'),
    url('fonts/Roboto-Bold.eot?#iefix') format('embedded-opentype'),
    url('fonts/Roboto-Bold.woff2') format('woff2'),
    url('fonts/Roboto-Bold.woff') format('woff'),
    url('fonts/Roboto-Bold.ttf') format('truetype'),
    url('fonts/Roboto-Bold.svg#Roboto-Bold') format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-Light.eot');
    src: local('Roboto Light'), local('Roboto-Light'),
    url('fonts/Roboto-Light.eot?#iefix') format('embedded-opentype'),
    url('fonts/Roboto-Light.woff2') format('woff2'),
    url('fonts/Roboto-Light.woff') format('woff'),
    url('fonts/Roboto-Light.ttf') format('truetype'),
    url('fonts/Roboto-Light.svg#Roboto-Light') format('svg');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-BlackItalic.eot');
    src: local('Roboto Black Italic'), local('Roboto-BlackItalic'),
    url('fonts/Roboto-BlackItalic.eot?#iefix') format('embedded-opentype'),
    url('fonts/Roboto-BlackItalic.woff2') format('woff2'),
    url('fonts/Roboto-BlackItalic.woff') format('woff'),
    url('fonts/Roboto-BlackItalic.ttf') format('truetype'),
    url('fonts/Roboto-BlackItalic.svg#Roboto-BlackItalic') format('svg');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-Medium.eot');
    src: local('Roboto Medium'), local('Roboto-Medium'),
    url('fonts/Roboto-Medium.eot?#iefix') format('embedded-opentype'),
    url('fonts/Roboto-Medium.woff2') format('woff2'),
    url('fonts/Roboto-Medium.woff') format('woff'),
    url('fonts/Roboto-Medium.ttf') format('truetype'),
    url('fonts/Roboto-Medium.svg#Roboto-Medium') format('svg');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-Thin.eot');
    src: local('Roboto Thin'), local('Roboto-Thin'),
    url('fonts/Roboto-Thin.eot?#iefix') format('embedded-opentype'),
    url('fonts/Roboto-Thin.woff2') format('woff2'),
    url('fonts/Roboto-Thin.woff') format('woff'),
    url('fonts/Roboto-Thin.ttf') format('truetype'),
    url('fonts/Roboto-Thin.svg#Roboto-Thin') format('svg');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Roboto';
    src: url('fonts/Roboto-BoldItalic.eot');
    src: local('Roboto Bold Italic'), local('Roboto-BoldItalic'),
    url('fonts/Roboto-BoldItalic.eot?#iefix') format('embedded-opentype'),
    url('fonts/Roboto-BoldItalic.woff2') format('woff2'),
    url('fonts/Roboto-BoldItalic.woff') format('woff'),
    url('fonts/Roboto-BoldItalic.ttf') format('truetype'),
    url('fonts/Roboto-BoldItalic.svg#Roboto-BoldItalic') format('svg');
    font-weight: bold;
    font-style: italic;
    font-display: swap;
}
@font-face {
    font-family: 'Satisfy';
    src: url('fonts/Satisfy-Regular.eot');
    src: url('fonts/Satisfy-Regular.eot?#iefix') format('embedded-opentype'),
    url('fonts/Satisfy-Regular.woff2') format('woff2'),
    url('fonts/Satisfy-Regular.woff') format('woff'),
    url('fonts/Satisfy-Regular.ttf') format('truetype'),
    url('fonts/Satisfy-Regular.svg#Satisfy-Regular') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}
:root {
    --theme-color: #6b9300;
    --primary-color: #486300;
    --primary-light-color: #6b9300;
    --title-color: #2e4600;
    --body-color: #6E7070;
    --smoke-color: #dafb81;
    --smoke-color2: #e8fbb4;
    --black-color: #000000;
    --black-color2: #0D0D0C;
    --gray-color: #E1E4E5;
    --white-color: #ffffff;
    --light-color: #E1E4E5;
    --yellow-color: #FFB539;
    --success-color: #28a745;
    --error-color: #dc3545;
    --th-border-color: #E9EDF5;
    --title-font: "Manrope", sans-serif;
    --body-font: "Roboto", sans-serif;
    --style-font: "Satisfy", cursive;
    --icon-font: "Font Awesome 6 Pro";
    --main-container: 1320px;
    --container-gutters: 24px;
    --section-space: 120px;
    --section-space-mobile: 80px;
    --section-title-space: 60px;
    --ripple-ani-duration: 2s;
}
.header-logo .logo img {
    max-height:56px;
    max-width: 200px;
}
.th-btn {
    text-transform: none;
}
.header-layout1 .logo-bg {
    background-color: var(--theme-color);
}
.th-menu-wrapper .mobile-logo {
    background-color: var(--theme-color);
}
.header-layout1 .main-menu > ul > li > a:before {
    content: '';
    position: absolute;
    height: 2px;
    left: 0;
    background: var(--theme-color);
    width: 0%;
    margin-top: 30px;
    -webkit-transition: 0.4s;
    transition: 0.4s;
}

.header-layout1 .main-menu > ul > li > a:hover,
.header-layout1 .main-menu > ul > li > a.active {
    color: var(--theme-color);
}
.main-menu .current-menu-parent>a,
.main-menu .current-menu-item>a,
.main-menu .current_page_item>a {
    color: var(--theme-color);
}
/* hero-11 start -------------------------*/
.hero-11 .slider-arrow {
    --pos-x: 60px;
    --icon-size: 64px;
    top: 60%;
    background: rgba(250, 252, 244, 0.5);
    border: 1px solid transparent;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    border-radius: 36px;
    box-shadow: none;
}

.hero-11 .slider-arrow img {
    -webkit-filter: brightness(0) invert(1);
    filter: brightness(0) invert(1);
}

.hero-11 .slider-arrow:hover {
    background-color: var(--theme-color);
}

.hero-11 .slider-arrow.slider-next {
    right: var(--pos-x, -120px);
    left: auto;
}

.hero-style11 {
    padding: 296px 0 390px 0;
    text-align: center;
    max-width: 900px;
    display: block;
    margin: auto;
    /* Large devices */
    /* Extra small devices */
}

@media (max-width: 1199px) {
    .hero-style11 {
        padding: 200px 0 290px 0;
    }
}

@media (max-width: 575px) {
    .hero-style11 {
        padding: 200px 0 190px 0;
    }
}

.hero-style11 .sub-title {
    font-weight: 400;
    font-size: 48px;
    line-height: 70px;
    color: #F8BC22;
    /* Small devices */
}

@media (max-width: 767px) {
    .hero-style11 .sub-title {
        font-size: 28px;
        line-height: 40px;
    }
}

.hero-style11 .hero-title {
    font-weight: 800;
    font-size: 64px;
    text-transform: none;
    margin-bottom: 30px;
    /* Medium devices */
    /* Small devices */
}

@media (max-width: 991px) {
    .hero-style11 .hero-title {
        font-size: 50px;
    }
}

@media (max-width: 767px) {
    .hero-style11 .hero-title {
        font-size: 36px;
    }
}
.breadcumb-wrapper {
    background-position: center center;
}
.breadcumb-wrapper.th-bgimg {
    position: relative;             /* wichtig, damit ::before sich daran orientiert */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 0;
}

.breadcumb-wrapper.th-bgimg::before {
    content: "";
    position: absolute;
    inset: 0;                       /* ersetzt top/right/bottom/left: 0 */
    background: rgba(0, 0, 0, 0.2); /* 0.4 = 40% Abdunkelung */
    z-index: 1;                     /* unter Inhalt, über Hintergrund */
    pointer-events: none;           /* verhindert Klickblockade */
}

/* Damit der eigentliche Inhalt über der Abdunkelung liegt */
.breadcumb-wrapper.th-bgimg > * {
    position: relative;
    z-index: 2;
}
.sub-title {
    font-size: 32px;
    line-height: 32px;
}
/* Collage-Container Home*/
/* ===== Felsenhof: Fix für parent .img-box6 ===== */
/* Kontext-spezifisch, damit wir nur dieses Modul ändern: */
.elementor-element-b779994 .img-box6{
    /* Parent-Altlasten neutralisieren */
    position: static !important;
    min-width: 0 !important;

    /* Unser Layout */
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas: "img1 img2" "img1 img3";
}

/* --- Items auf Grid setzen und absolute Positionen killen --- */
.elementor-element-b779994 .img-box6 .img1,
.elementor-element-b779994 .img-box6 .img2,
.elementor-element-b779994 .img-box6 .img3{
    position: static !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    overflow: hidden;
    display: block !important; /* Parent blendet img2/img3 mobil aus */
    border-radius: 0 !important; /* Basis – wir setzen gleich gezielt Ecken */
}

/* Grid-Platzierung nach deinem Wunsch */
.elementor-element-b779994 .img-box6 .img1{ grid-area: img1; padding-right:24px;}
.elementor-element-b779994 .img-box6 .img2{ grid-area: img2; padding-bottom:12px;}
.elementor-element-b779994 .img-box6 .img3{ grid-area: img3; padding-top:12px;}

/* Proportionen OHNE feste Höhen – ergibt saubere Collage */
.elementor-element-b779994 .img-box6 .img1{ aspect-ratio: 2 / 3; }  /* hoch */
.elementor-element-b779994 .img-box6 .img2,
.elementor-element-b779994 .img-box6 .img3{ aspect-ratio: 4 / 3; }  /* quer */

/* Bilder füllen den Container ohne Verzerrung */
.elementor-element-b779994 .img-box6 img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Ecken wie im Screen */
.elementor-element-b779994 .img-box6 .img1{
    border-radius: 56px 0 56px 0;
}
.elementor-element-b779994 .img-box6 .img2{ border-radius: 56px 0 0 0;}
.elementor-element-b779994 .img-box6 .img3{ border-radius: 56px 0 0 0;}

/* Responsive – mobil untereinander, ohne Hide */
@media (max-width: 768px){
    .elementor-element-b779994 .img-box6{
        grid-template-columns: 1fr;
        grid-template-rows: none;
        gap: 16px;
    }
    .elementor-element-b779994 .img-box6 .img1,
    .elementor-element-b779994 .img-box6 .img2,
    .elementor-element-b779994 .img-box6 .img3{
        aspect-ratio: 4 / 3;
        border-radius: 28px;
    }
}
.about-item {
    max-width: 100%;
}
.category-card.style3 .box-img img {
    border-radius: 14px;
}
.destination-item {
    background-color: var(--th-border-color);
}
.destination-item .destination-content {
    padding: 24px 10px 10px;
}
.elementor-element-7e828d8 li::marker {
    color: #fff; /* beliebige Farbe */
    font-size: 1.2em; /* optional: Markergröße */
}
.h1,
h1 {
    font-size: 80px;
    line-height: 1.18;
}

.h2,
h2 {
    font-size: 36px;
    line-height: 1.327;
}

.h3,
h3 {
    font-size: 28px;
    line-height: 1.278;
}

.h4,
h4 {
    font-size: 24px;
    line-height: 1.333;
}

.h5,
h5 {
    font-size: 20px;
    line-height: 1.417;
}

.h6,
h6 {
    font-size: 18px;
    line-height: 1.5;
}

/* Large devices */
@media (max-width: 1199px) {
    .h1,
    h1 {
        font-size: 54px;
        line-height: 1.3;
    }
    .h2,
    h2 {
        font-size: 26px;
        line-height: 1.3;
    }
    .h3,
    h3 {
        font-size: 20px;
    }
    .h4,
    h4 {
        font-size: 18px;
    }
    .h5,
    h5 {
        font-size: 16px;
    }
    .h6,
    h6 {
        font-size: 15px;
    }
}

/* Small devices */
@media (max-width: 767px) {
    .h1,
    h1 {
        font-size: 40px;
    }
    .h2,
    h2 {
        font-size: 26px;
        line-height: 1.3;
    }
    .h3,
    h3 {
        font-size: 20px;
    }
    .h4,
    h4 {
        font-size: 18px;
    }
    .h5,
    h5 {
        font-size: 16px;
    }
    .h6,
    h6 {
        font-size: 15px;
    }
}

/* Extra small devices */
@media (max-width: 575px) {
    .h1,
    h1 {
        font-size: 34px;
        line-height: 1.35;
    }
    .h2,
    h2 {
        font-size: 24px;
    }
}

/* Extra small devices */
@media (max-width: 375px) {
    .h1,
    h1 {
        font-size: 32px;
    }
}
/*FW Titel*/
h2.drei-sterne::after {
    content: "";
    display: inline-block;
    width: 100px;
    height: 32px;
    margin-left: 0.5em; /* statt padding-left */
    background-image: url("img/drei-sterne.png");
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
}
/*FW gallerie*/
/*gallery one*/
.gallery-fh .box-img.global-img { aspect-ratio: 4 / 2; }  /* quer */
.gallery-fh .col-lg-6 .box-img.global-img { aspect-ratio: 8 / 6.2; }  /* quer */
.gallery-fh .gallery-card:nth-child(3) {
    margin-top: 17px;
}

/*gallery three*/
.gallery-fh .gallery-img.global-img { aspect-ratio: 4 / 3.13; }  /* quer */
.gallery-fh .col-lg-5 .gallery-img.global-img { aspect-ratio: 8 / 5; }  /* quer */
.gallery-fh .col-lg-3 .gallery-img.global-img { aspect-ratio: 5 / 5.4; }  /* hoch */

/* Bilder füllen den Container ohne Verzerrung */
.gallery-fh .gallery-img.global-img img,
.gallery-fh .box-img.global-img img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.gallery-fh .gallery-box.style2:hover .gallery-img {
    -webkit-transform: scale(1.02);
    -ms-transform: scale(1.02);
    transform: scale(1.02);
}
@media (max-width: 768px) {
    .testi-image-wrapp .testi-img img {
        border-radius: 50px 0 50px 0;
    }
}
.copyright-wrap a {
    color: #fff;
}
.copyright-wrap a:hover {
    color: var(--smoke-color);
}