.elementor-31 .elementor-element.elementor-element-c990789{--display:flex;--min-height:700px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--overlay-opacity:0.25;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:0px;--padding-left:100px;--padding-right:100px;}.elementor-31 .elementor-element.elementor-element-c990789::before, .elementor-31 .elementor-element.elementor-element-c990789 > .elementor-background-video-container::before, .elementor-31 .elementor-element.elementor-element-c990789 > .e-con-inner > .elementor-background-video-container::before, .elementor-31 .elementor-element.elementor-element-c990789 > .elementor-background-slideshow::before, .elementor-31 .elementor-element.elementor-element-c990789 > .e-con-inner > .elementor-background-slideshow::before, .elementor-31 .elementor-element.elementor-element-c990789 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-31 .elementor-element.elementor-element-c990789:hover::before, .elementor-31 .elementor-element.elementor-element-c990789:hover > .elementor-background-video-container::before, .elementor-31 .elementor-element.elementor-element-c990789:hover > .e-con-inner > .elementor-background-video-container::before, .elementor-31 .elementor-element.elementor-element-c990789 > .elementor-background-slideshow:hover::before, .elementor-31 .elementor-element.elementor-element-c990789 > .e-con-inner > .elementor-background-slideshow:hover::before{background-color:var( --e-global-color-accent );--background-overlay:'';}.elementor-31 .elementor-element.elementor-element-c990789::before{filter:brightness( 121% ) contrast( 131% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg );}.elementor-31 .elementor-element.elementor-element-c990789:hover{--overlay-opacity:1;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), poppins;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-31 .elementor-element.elementor-element-3347d06{padding:0px 0px 0px 0px;text-align:left;}.elementor-31 .elementor-element.elementor-element-3347d06 .elementor-heading-title{font-size:59px;font-weight:800;color:var( --e-global-color-astglobalcolor4 );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), poppins;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-31 .elementor-element.elementor-element-677be36{padding:0px 0px 0px 0px;text-align:left;font-size:22px;font-weight:400;line-height:31px;letter-spacing:0.7px;word-spacing:4px;color:var( --e-global-color-astglobalcolor4 );}.elementor-31 .elementor-element.elementor-element-2edf525{--display:flex;--min-height:700px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--overlay-opacity:0.25;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:0px;--padding-left:100px;--padding-right:100px;}.elementor-31 .elementor-element.elementor-element-2edf525::before, .elementor-31 .elementor-element.elementor-element-2edf525 > .elementor-background-video-container::before, .elementor-31 .elementor-element.elementor-element-2edf525 > .e-con-inner > .elementor-background-video-container::before, .elementor-31 .elementor-element.elementor-element-2edf525 > .elementor-background-slideshow::before, .elementor-31 .elementor-element.elementor-element-2edf525 > .e-con-inner > .elementor-background-slideshow::before, .elementor-31 .elementor-element.elementor-element-2edf525 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-31 .elementor-element.elementor-element-2edf525:hover::before, .elementor-31 .elementor-element.elementor-element-2edf525:hover > .elementor-background-video-container::before, .elementor-31 .elementor-element.elementor-element-2edf525:hover > .e-con-inner > .elementor-background-video-container::before, .elementor-31 .elementor-element.elementor-element-2edf525 > .elementor-background-slideshow:hover::before, .elementor-31 .elementor-element.elementor-element-2edf525 > .e-con-inner > .elementor-background-slideshow:hover::before{background-color:var( --e-global-color-d560500 );--background-overlay:'';}.elementor-31 .elementor-element.elementor-element-2edf525::before{filter:brightness( 121% ) contrast( 131% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg );}.elementor-31 .elementor-element.elementor-element-2edf525:hover{--overlay-opacity:1;}.elementor-31 .elementor-element.elementor-element-0becaad{padding:0px 0px 0px 0px;text-align:left;}.elementor-31 .elementor-element.elementor-element-0becaad .elementor-heading-title{font-size:59px;font-weight:800;color:var( --e-global-color-astglobalcolor4 );}.elementor-31 .elementor-element.elementor-element-af91171{padding:0px 0px 0px 0px;text-align:left;font-size:22px;font-weight:400;line-height:31px;letter-spacing:0.7px;word-spacing:4px;color:var( --e-global-color-astglobalcolor4 );}.elementor-31 .elementor-element.elementor-element-86733ae{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--justify-content:center;}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), poppins;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-31 .elementor-element.elementor-element-81a0074 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(50px/2);}.elementor-31 .elementor-element.elementor-element-81a0074 .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(50px/2);}.elementor-31 .elementor-element.elementor-element-81a0074 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(50px/2);}.elementor-31 .elementor-element.elementor-element-81a0074 .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-50px/2);}.elementor-31 .elementor-element.elementor-element-81a0074 .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-50px/2);}.elementor-31 .elementor-element.elementor-element-81a0074 .elementor-icon-list-icon i{color:var( --e-global-color-26ae075 );transition:color 0.3s;}.elementor-31 .elementor-element.elementor-element-81a0074 .elementor-icon-list-icon svg{fill:var( --e-global-color-26ae075 );transition:fill 0.3s;}.elementor-31 .elementor-element.elementor-element-81a0074{--e-icon-list-icon-size:46px;--icon-vertical-offset:0px;}.elementor-31 .elementor-element.elementor-element-81a0074 .elementor-icon-list-icon{padding-inline-end:10px;}.elementor-31 .elementor-element.elementor-element-81a0074 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-31 .elementor-element.elementor-element-81a0074 .elementor-icon-list-item > a{font-size:24px;font-weight:400;}.elementor-31 .elementor-element.elementor-element-81a0074 .elementor-icon-list-text{color:var( --e-global-color-astglobalcolor6 );transition:color 0.3s;}.elementor-31 .elementor-element.elementor-element-fab26f3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--z-index:99;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-31 .elementor-element.elementor-element-c990789{--padding-top:5%;--padding-bottom:5%;--padding-left:5%;--padding-right:5%;}.elementor-31 .elementor-element.elementor-element-3347d06 .elementor-heading-title{font-size:36px;}.elementor-31 .elementor-element.elementor-element-2edf525:not(.elementor-motion-effects-element-type-background), .elementor-31 .elementor-element.elementor-element-2edf525 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://rheinwege.de/wp-content/uploads/2025/12/Screenshot-2025-12-23-161126-2048x1015.png");background-position:center center;background-size:cover;}.elementor-31 .elementor-element.elementor-element-2edf525{--padding-top:5%;--padding-bottom:5%;--padding-left:5%;--padding-right:5%;}.elementor-31 .elementor-element.elementor-element-0becaad .elementor-heading-title{font-size:36px;}}@media(max-width:767px){.elementor-31 .elementor-element.elementor-element-3347d06 .elementor-heading-title{font-size:24px;}.elementor-31 .elementor-element.elementor-element-2edf525{--min-height:700px;}.elementor-31 .elementor-element.elementor-element-0becaad .elementor-heading-title{font-size:24px;}}/* Start custom CSS for html, class: .elementor-element-193927e *//* =========================
   JOB FILTER – CLEAN DESIGN
========================= */

.job-filter-container {
    background: #ffffff;
    border-radius: 18px;
    padding: 26px;
    box-shadow: 0 8px 28px rgba(0,0,0,0.08);
    margin-bottom: 40px;
}

.job-filter-wrapper {
    display: grid;
    gap: 18px;
}

/* Reihen */
.job-filter-wrapper .filter-row {
    width: 100%;
}

/* Grid Layouts */
.job-filter-wrapper .grid-3 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 14px;
}

.job-filter-wrapper .grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

/* Inputs & Selects */
.job-filter-wrapper input,
.job-filter-wrapper select {
    width: 100%;
    height: 52px;
    padding: 0 16px;
    border-radius: 14px;
    border: 1px solid #dcdcdc;
    font-size: 15px;
    background: #fff;
    transition: all .2s ease;
}

.job-filter-wrapper input::placeholder {
    color: #999;
}

.job-filter-wrapper input:focus,
.job-filter-wrapper select:focus {
    border-color: #00331F;
    box-shadow: 0 0 0 4px rgba(0,51,31,0.12);
    outline: none;
}

/* Radius Box */
.radius-box {
    position: relative;
}

.radius-box span {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
    color: #777;
    pointer-events: none;
}

/* Filter Button */
.filter-btn {
    width: 100%;
    height: 54px;
    background: #00331F;
    color: #fff;
    border: none;
    border-radius: 14px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: all .25s ease;
}

.filter-btn:hover {
    background: #005C35;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(0,0,0,0.15);
}

/* Mobile */
@media (max-width: 900px) {
    .job-filter-wrapper .grid-3,
    .job-filter-wrapper .grid-2 {
        grid-template-columns: 1fr;
    }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-55c6f20 */.apply-popup {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.6);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

.apply-popup.active {
  display: flex;
}

.apply-popup-inner {
  background: #fff;
  max-width: 640px;
  width: 95%;
  max-height: 90vh;
  overflow-y: auto;
  padding: 28px;
  border-radius: 14px;
  position: relative;
}

.popup-close {
  position: absolute;
  top: 10px;
  right: 14px;
  font-size: 26px;
  border: none;
  background: none;
  cursor: pointer;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-1badb97 *//* --- FILTER WRAPPER STYLE --- */
.job-filter-wrapper {
    width: 100%;
    background: #ffffff;
    padding: 25px;
    border-radius: 14px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.06);
    border: 1px solid #e8e8e8;
    margin-bottom: 35px;
}

/* --- GENERELLE INPUT + SELECT STYLES --- */
.job-filter-wrapper input,
.job-filter-wrapper select {
    width: 100%;
    height: 52px; /* Einheitliche Höhe */
    padding: 0 16px; /* Kein vertical padding → bessere Mitte */
    border-radius: 12px;
    border: 1px solid #d5d5d5;
    background: #fafafa;
    font-size: 16px;
    line-height: 52px; /* Perfekte vertikale Zentrierung */
    color: #333;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    box-sizing: border-box;
}

/* --- FOCUS STATE --- */
.job-filter-wrapper input:focus,
.job-filter-wrapper select:focus {
    border-color: #3a7afe;
    background: #fff;
    outline: none;
    box-shadow: 0 0 0 3px rgba(58,122,254,0.18);
}

/* --- DROPDOWN TEXT BUG FIX --- */
.job-filter-wrapper select option {
    font-size: 16px;
    line-height: normal;
}

/* --- GRID SPALTEN --- */
.grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
}

.grid-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
}

/* --- RADIUS BOX (PLZ + KM) --- */
.radius-box {
    position: relative;
}

.radius-box input {
    padding-right: 40px !important;
}

.radius-box span {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: #777;
    font-size: 15px;
    pointer-events: none;
}

/* --- BUTTON --- */
.filter-btn {
    width: 100%;
    height: 54px;
    border-radius: 12px;
    border: none;
    background: #000;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    cursor: pointer;
    transition: 0.2s ease;
}

.filter-btn:hover {
    background: #222;
    transform: translateY(-2px);
}

/* --- RESPONSIVE --- */
@media(max-width: 768px) {
    .grid-3,
    .grid-2 {
        grid-template-columns: 1fr;
    }
}
/* Mehr Abstand zwischen den Filter-Elementen */
.job-filter-wrapper .filter-row {
    margin-bottom: 18px; /* vorher 18px – jetzt größer */
}/* End custom CSS */
/* Start custom CSS */.job-grid {
    display: grid;
    gap: 26px;
    grid-template-columns: 1fr;
}

/* Desktop: 2 Spalten */
@media (min-width: 900px) {
    .job-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.job-card {
    background: #fff;
    border-radius: 14px;
    padding: 24px;
    border: 1px solid #e9e9e9;
    box-shadow: 0 4px 18px rgba(0,0,0,0.05);
    transition: all .25s ease;
}

.job-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 6px 26px rgba(0,0,0,0.10);
}

/* Badge */
.job-card-header {
    margin-bottom: 10px;
}

.job-badge {
    display: inline-block;
    background: #00331F;
    color: #ffffff;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}

/* Titel */
.job-title {
    font-size: 20px;
    margin: 6px 0 14px;
    font-weight: 700;
    color: #1c1c1c;
}

/* Meta */
.job-meta {
    margin-bottom: 14px;
}

.meta-item {
    font-size: 14px;
    color: #444;
    margin-bottom: 3px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.meta-item i {
    font-size: 14px;
    color: #888;
}

/* Beschreibung */
.job-desc {
    font-size: 14px;
    line-height: 1.5;
    color: #4d4d4d;
    margin-bottom: 20px;
}

/* Button */
.job-btn {
    width: 100%;
    padding: 12px 0;
    background: #000;
    color: #fff;
    border: none;
    border-radius: 10px;
    font-size: 15px;
    cursor: pointer;
    transition: background .25s ease;
}

.job-btn:hover {
    background: #333;
}
.job-desc {
    display: -webkit-box;
    -webkit-line-clamp: 3;     /* Anzahl der angezeigten Zeilen */
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
    line-height: 1.5;
    max-height: calc(1.5em * 3); /* 3 Zeilen berechnet */
}
.job-full {
    display: none;
    margin-top: 10px;
    line-height: 1.6;
    font-size: 14px;
    color: #444;
}

/* WENN JOBCARD GEÖFFNET IST → GANZE ZEILE EINNEHMEN */
.job-card.open {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    padding: 32px !important;
    box-shadow: 0 12px 28px rgba(0,0,0,0.15);
}

/* OPTIONAL: Animation beim Öffnen */
.job-card {
    transition: all 0.35s ease;
}


/* Versteckte lange Beschreibung */
.job-full {
    display: none;
    margin-top: 10px;
    font-size: 14px;
    line-height: 1.6;
    color: #444;
}

/* Wenn Karte geöffnet ist */
.job-card.open .job-full {
    display: block;
}

/* Optional: Karte größer mit Schatten beim Öffnen */
.job-card.open {
    box-shadow: 0 10px 26px rgba(0,0,0,0.15);
}
.job-buttons {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 10px;
}

/* Details Button */
.details-btn {
    flex: 1;
    background: #000;
    color: #fff;
    padding: 12px;
    border-radius: 10px;
    border: none;
    cursor: pointer;
    text-align: center;
    transition: background .25s ease;
}

.details-btn:hover {
    background: #333;
}

/* Bewerben Button */
.apply-btn {
    flex: 1;
    background: #00331F !important; /* dein dunkleres Blau */
    color: #fff !important; /* Schrift bleibt weiß */
    padding: 12px;
    border-radius: 10px;
    text-align: center;
    text-decoration: none;
    font-weight: 600;
    transition: all .25s ease;
}

.apply-btn:hover {
    background: #00631F !important; /* etwas dunkler für Hover */
    color: #fff !important; /* bleibt weiß */
    text-decoration: none !important;
}
.job-card.open .job-desc {
    display: none !important;
}

.job-card.open .job-full {
    display: block !important;
}

.job-full {
    display: none;
}
/* ✅ Grid soll volle Breite im Elementor-Container nutzen */
#jobResults,
#jobResults .job-grid{
  width: 100% !important;
  max-width: 100% !important;
}

/* ✅ Falls ein Parent zentriert: Grid trotzdem links + volle Breite */
#jobResults{
  display: block !important;
}

/* ✅ 2 Spalten ab Desktop, Cards strecken sich sauber */
#jobResults .job-grid{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 26px !important;
  align-items: stretch !important;
}

/* Mobile 1 Spalte */
@media (max-width: 899px){
  #jobResults .job-grid{
    grid-template-columns: 1fr !important;
  }
}

/* ✅ Cards sollen die Spalte komplett ausfüllen */
#jobResults .job-card{
  width: 100% !important;
  min-width: 0 !important;
}

/* ✅ Wenn eine Karte geöffnet ist: volle Zeile */
#jobResults .job-card.open{
  grid-column: 1 / -1 !important;
}/* End custom CSS */