/* =====================================================================
   CLS Global Styles – aufgeräumt & gruppiert (möglichst non-breaking)
   Stand: vereinheitlicht Cards/Carousel für Industry + Karriere + Geschäftsbereiche
   ===================================================================== */

/* =====================================================================
   0) Helper / Defaults
   ===================================================================== */

/* Optional: bessere Box-Sizing Hygiene (falls nicht schon global gesetzt)
*, *::before, *::after { box-sizing: border-box; }
*/


/* =====================================================================
   1) Filter & Sortierung (Mietpark / Sales)
   ===================================================================== */

body::before { content:"CLS GLOBAL LOADED"; display:none; }


.mietpark-filter, .sales-filter { margin-bottom: 20px; }

.filter-button-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 25px;
}

.filter-button {
  font-family: 'montserrat', sans-serif;
  font-size: .7em;
  background: transparent;
  color: #04152D;
  border: 2px solid #04152D;
  padding: 10px 15px;
  margin: 2px;
  cursor: pointer;
  transition: 0.3s;
  border-radius: 0;
  font-weight: 600;
  text-transform: uppercase;
}
.filter-button:hover,
.filter-button.active {
  background: #04152D;
  color: #fff;
  border: 2px solid #04152D;
}

/* Sortierung */
.sortierung-label {
  font-size: 0.75em;
  font-weight: 500;
  margin-right: 5px;
  color: #555;
}
.sortierung-select {
  padding: 6px 10px;
  font-size: 0.9em;
  border-radius: 6px;
  border: 1px solid #ccc;
  width: 250px;
  background-color: #fff;
}

/* Wrapper rund um Mietpark-Listen (Loader darin zentriert) */
.mietpark-wrapper {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
.mietpark-content { position: relative; min-height: 300px; }

#mietpark-loader {
  position: absolute; inset: 0;
  background-color: rgba(255, 255, 255, 0.8);
  display: flex; align-items: center; justify-content: center;
  z-index: 10;
}

/* Loader-Spinner */
.spinner {
  width: 40px; height: 40px;
  border: 5px solid rgba(0, 0, 0, 0.2);
  border-top: 5px solid #000;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  display: inline-block;
}
@keyframes spin { from { transform: rotate(0); } to { transform: rotate(360deg); } }

/* Numerische Filter-Kacheln */
.gewicht-filter, .arbeitsbreite-filter {
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  background: #f9f9f9; padding: 10px 15px; border-radius: 5px;
  box-shadow: 0 2px 5px rgba(0,0,0,.1);
  margin-top: 10px;
}
.gewicht-filter label, .arbeitsbreite-filter label {
  font-size: .9rem; font-weight: 600; color: #333; white-space: nowrap;
}
.gewicht-filter input[type="number"], .arbeitsbreite-filter input[type="number"] {
  width: 80px; padding: 6px; font-size: .9rem;
  border: 1px solid #ccc; border-radius: 3px; text-align: center; outline: none;
  transition: border .2s ease-in-out;
}
.gewicht-filter input[type="number"]:focus,
.arbeitsbreite-filter input[type="number"]:focus { border-color: #04152D; }

#gewicht-filter-button, #arbeitsbreite-filter-button {
  background: #04152D; color: #fff; font-size: .9rem; font-weight: 600;
  border: none; padding: 8px 12px; border-radius: 3px; cursor: pointer;
  transition: background .2s ease-in-out;
}
#gewicht-filter-button:hover, #arbeitsbreite-filter-button:hover { background: #333; }

/* Range-Filter-Container */
.filter-ranges-container {
  display: flex; flex-wrap: wrap; gap: 20px;
  background: #f9f9f9; padding: 10px 15px; border-radius: 5px;
}
.filter-range-wrapper { flex: 1; min-width: 250px; margin: 10px; }
.filter-range-wrapper label { font-size: .85em; margin-bottom: 10px; display: block; }
.range-values { font-size: .85em; color: #333; margin-top: 5px; text-align: center; }

/* jQuery UI Slider */
.ui-slider { background: #404040; border-radius: 4px; height: 6px; position: relative; }
.ui-slider-range { background-color: #2273B8 !important; border: none; }
.ui-slider .ui-slider-handle {
  width: 18px; height: 18px; background: #2273B8; border: 2px solid #fff;
  border-radius: 50%; cursor: pointer; top: -7px; position: absolute;
}

/* Mobile Anpassungen Filter */
@media (max-width: 768px) {
  .filter-button-row { justify-content: flex-start; align-items: flex-start; flex-direction: column; }
  .filter-button { padding: 7px 11px; }
  .sortierung-filter { margin-top: 20px; }
  .gewicht-filter, .arbeitsbreite-filter { flex-direction: column; align-items: flex-start; gap: 5px; }
  .gewicht-filter input[type="number"], .arbeitsbreite-filter input[type="number"] { width: 100%; }
  #gewicht-filter-button, #arbeitsbreite-filter-button { width: 100%; }
  .filter-ranges-container { flex-direction: column; }
}


/* =====================================================================
   2) „Personal“-Popup & Optionen (Übersichtskarten)
   ===================================================================== */

.mietanfrageliste-options {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 10px;
  flex-direction: column;
  justify-content: flex-end;
}

.menge-label, .personal-label { font-size: .85em; }
.menge-input-uebersicht { width: 60px; padding: 4px; }
.personal-checkbox-uebersicht { margin-right: 5px; }
.personal-toggle-container { margin-top: 8px; text-align: center; font-size: .8em; color:#555; }
.personal-toggle { margin-right: 5px; }

.personal-auswahl-popup {
  position: absolute; top: 110%; left: 0; background: #fff; border: 3px solid #ddd;
  padding: 12px; z-index: 999; box-shadow: 0 4px 10px rgba(0,0,0,.1); min-width: 220px;
  opacity: 0; transform: translateY(10px); pointer-events: none;
  transition: opacity .25s ease, transform .25s ease;
  font-size: 13px; color: #1d1e1c;
}
.personal-auswahl-popup.visible { opacity: 1; transform: translateY(0); pointer-events: auto; }
.personal-auswahl-popup::before {
  content: ""; position: absolute; top: -20px; right: 20px;
  border-width: 9px; border-style: solid; border-color: transparent transparent #ddd transparent;
}
.personal-auswahl-popup button {
  margin: 5px 10px 0 0; padding: 6px 12px; font-size: 12px; border: none; cursor: pointer;
  border-radius: 3px; transition: background-color .2s; font-weight: 500;
}
.personal-auswahl-popup .personal-ja { background-color: #2273B8; color: #1d1e1c; }
.personal-auswahl-popup .personal-nein { background-color: #1d1e1c; color: #fff; }
.personal-auswahl-popup button:hover { opacity: .8; }

@media (max-width: 600px) {
  .personal-auswahl-popup { width: 90%; left: 5%; right: 5%; }
}


/* =====================================================================
   3) Übersichten (Mietpark / Sales / Industry) – Listen/Grids
   ===================================================================== */

.mietpark-uebersicht { display: flex; flex-wrap: wrap; gap: 20px; justify-content: flex-start; }
.sales-uebersicht, .industry-uebersicht { display: flex; flex-wrap: wrap; gap: 20px; justify-content: flex-start; }


/* =====================================================================
   4) Cards – Basis (Mietpark/Sales – unverändert, Industry/Karriere/GB – unified)
   ===================================================================== */

/* -------- 4.1 Mietpark/Sales Card (bestehende Logik beibehalten) -------- */

.mietpark-item, .sales-item {
  background: #fff;
  border-radius: 0;
  box-shadow: 0 4px 10px rgba(0,0,0,.1);
  overflow: visible;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: all .3s ease;
}

.mietpark-item { max-width: calc(25% - 20px); }
.sales-item   { max-width: calc(25% - 20px); }

/* Thumbnails (Mietpark/Sales fix-height, wie vorher) */
.mietpark-item-thumbnail,
.sales-item-thumbnail {
  width: 100%;
  height: 200px;
  overflow: hidden;
  position: relative;
  padding: 5px;
}
.mietpark-item-thumbnail img,
.sales-item-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .3s ease;
}
.mietpark-item-thumbnail:hover img,
.sales-item-thumbnail:hover img { transform: scale(1.07); }

/* Content */
.mietpark-item-content, .sales-item-content {
  position: relative;
  overflow: visible;
  padding: 15px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  width: 100%;
  justify-content: space-between;
}

/* Links in Karten (Mietpark/Sales) */
.mietpark-item-content .weiterlesen-link,
.sales-item-content .weiterlesen-link { color: #2273B8 !important; }
.mietpark-item-content .weiterlesen-link:hover,
.sales-item-content .weiterlesen-link:hover { text-decoration: none !important; font-weight: 600 !important; }

/* Titel in Karten (Mietpark/Sales) */
.mietpark-item-content h2, .sales-item-content h2 {
  font-size: 1.4rem; font-weight: 700; color: #000; margin-bottom: 10px;
}
.mietpark-item-content h2 a, .sales-item-content h2 a {
  color: #000; text-decoration: none;
}

/* Divider (falls genutzt) */
.mietpark-divider, .sales-divider { height: 3px; width: 40px; background: #2273B8; margin-bottom: 4px; }

/* Excerpts */
.mietpark-item-content .mietpark-excerpt,
.sales-item-content .sales-excerpt { font-size: 1rem; color: #555; margin-bottom: 20px; }
.sales-item-content .sales-excerpt ul li,
.mietpark-item-content .mietpark-excerpt ul li { margin-bottom: 0; line-height: 1.5; font-size: .85em; list-style-type: none; }

/* Button-Row */
.mietpark-button-row { display: flex; gap: 15px; flex-wrap: wrap; align-items: flex-end; }
.mietanfrageliste-options, .single-button-group { display: flex; flex-direction: column; gap: 5px; }

/* Responsive Karten-Grid (Mietpark/Sales) */
@media (max-width: 1200px) {
  .sales-item, .mietpark-item { max-width: calc(33% - 13.33px); }
}
@media (max-width: 1024px) {
  .mietpark-uebersicht, .sales-uebersicht { display: flex; }
  .mietpark-item, .sales-item { flex-direction: column; align-items: stretch; max-width: calc(50% - 20px); }
  .mietpark-item-thumbnail, .sales-item-thumbnail { width: 100%; height: 250px; }
  .mietpark-item-content, .sales-item-content { width: 100%; }
}
@media (max-width: 768px) {
  .mietpark-uebersicht, .sales-uebersicht { display: grid; grid-template-columns: 1fr; }
  .mietpark-item, .sales-item { flex-direction: column; max-width: 100%; }
  .mietpark-item-thumbnail, .sales-item-thumbnail { width: 100%; height: 200px; }
  .mietpark-item-content, .sales-item-content { width: 100%; }
}


/* -------- 4.2 Unified Card-System: Industry + Karriere + Geschäftsbereiche --------
   Gilt für Slider + Grid (Cards sind gleich, nur Layout unterscheidet sich)
--------------------------------------------------------------------------- */

:root{
  /* Falls deine Variablen global existieren, brauchst du das hier nicht.
     Es bleibt absichtlich leer, damit nichts überschrieben wird. */
}

/* Card Basis */
.industry-item,
.karriere-item,
.geschaeftsbereiche-item{
  width: 100%;
  background: #fff;
  padding: 7px;
  border-radius: 0;
  box-shadow: 0 4px 10px rgba(0,0,0,.10);
  transition:
     transform .55s cubic-bezier(.22,.61,.36,1),
    box-shadow .35s ease;
  display: flex;
  flex-direction: column;
  position: relative;
}

.industry-item:hover,
.karriere-item:hover,
.geschaeftsbereiche-item:hover{
  transform: translateY(-15px);
  box-shadow:
    0 12px 24px rgba(0,0,0,.18),
    0 2px 6px rgba(0,0,0,.12);
}

/* Thumbnail – immer quadratisch (überschreibt alte 200px Regeln gezielt) */
.industry-item-thumbnail,
.karriere-item-thumbnail,
.geschaeftsbereiche-item-thumbnail{
  height: auto !important;            /* killt alte fixed heights */
  padding: 0 !important;
  aspect-ratio: 1 / 1 !important;     /* Quadrat erzwingen */
  overflow: hidden;
  width: 100%;
}

.industry-item-thumbnail img,
.karriere-item-thumbnail img,
.geschaeftsbereiche-item-thumbnail img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
  /* Desaturation default */
  filter: saturate(.50) contrast(.90);
  transition: filter .35s ease, transform .5s ease;
}

/* Hover: volle Farbe */
.industry-item:hover .industry-item-thumbnail img,
.karriere-item:hover .karriere-item-thumbnail img,
.geschaeftsbereiche-item:hover .geschaeftsbereiche-item-thumbnail img{
  filter: saturate(1) contrast(1);
}


/* Karriere: egal welche Thumbnail-Klasse am Ende genutzt wird */
.karriere-item .industry-item-thumbnail img,
.karriere-item .karriere-item-thumbnail img{
  filter: none !important;
}

.karriere-item:hover .industry-item-thumbnail img,
.karriere-item:hover .karriere-item-thumbnail img{
  filter: none !important;
}


/* Content */
.industry-item-content,
.karriere-item-content{
  position: relative;
  overflow: visible;
  padding: 0 15px 15px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  width: 100%;
}

/* Titel – Border nur EINMAL und über volle Breite */
.industry-item-content h2,
.karriere-item-title{
  display: block;
  width: 100%;
  color: var(--str-darkblue);
  font-weight: 700;
  font-size: 1.1rem;
  margin: 0;
  padding: 20px 0;
  
}

.industry-item-content h2 a,
.karriere-item-title a{
  color: inherit;
  text-decoration: none;
}

/* Meta (Industry: Kategorie/Zeitraum) */
.industry-meta-category{ font-size: .8em; font-weight: 600; font-style: italic; color: var(--str-darkblue); margin-top: 10px; }
.industry-meta-period  { font-size: .7em; font-weight: 500; color: var(--str-darkblue); margin-top: 2px; }

/* Karriere Meta (Beschäftigungsart) */
.karriere-meta-employment{
  font-size: .8em;
  font-weight: 600;
  font-style: italic;
  color: var(--str-darkblue);
  padding: 10px 0 0;
}

/* Teaser / Kurzbeschreibung */
.industry-card-kurzbeschreibung,
.karriere-card-teaser{
  color: var(--str-darkblue);
  font-weight: 400;
  font-size: .85rem;
  line-height: 1.35;
  padding: 30px 0 ;
  border: solid var(--str-bluegrey17);
  border-width: 1px 0 0;

}

/* CTA als Button (einheitlich) */
.industry-item-content .weiterlesen-link,
.industry-item-content .industry-weiterlesen-link,
.karriere-weiterlesen-link,
.geschaeftsbereiche-weiterlesen-link{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  margin-top:20px;
  padding: 10px 14px;
  border: 2px solid var(--str-darkblue);
  background: transparent;

  color: var(--str-darkblue) !important;
  text-decoration: none !important;

  font-weight: 600;
  font-size: .85rem;
  text-transform: uppercase;
  letter-spacing: .02em;

  transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}

.industry-item-content .weiterlesen-link:hover,
.industry-item-content .industry-weiterlesen-link:hover,
.karriere-weiterlesen-link:hover,
.geschaeftsbereiche-weiterlesen-link:hover{
  background: var(--str-darkblue);
  color: var(--str-purewhite) !important;
  border-color: var(--str-darkblue);
  transform: translateY(-1px);
}





.karriere-description{
  font-size:1.05rem;
   color:#333;
  font-weight: 500;
  padding-right: 15px;
   margin-bottom:5em;

}

.karriere-description p{
 
}



.bewerbung-kontakt {
  margin-top: 7%;
  background-color: var(--str-darkblue);
  padding: 20px;
  color:var(--str-purewhite);
   text-align: center;
}

.bewerbung-kontakt a {
  font-size: 1.1em;
  color:var(--std-purewhite);
  
    }

.bewerbung-kontakt a:hover  {
    font-size: 1.2em;
    color:var(--std-purewhite);
}
.bewerbung-kontakt h3 {
  
  color:var(--str-purewhite);
}


/* =====================================================================
   5) Carousel (Industry / Karriere / Geschäftsbereiche)
   ===================================================================== */

.industry-carousel{
  position: relative;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;

  --gap: 20px;
  --per-view: 3;
  --arrow-outset: clamp(28px, 4vw, 140px);

  --arrow-color: var(--str-darkblue);
  --arrow-hover: var(--str-signalblue);
  --arrow-disabled: var(--str-bluegrey17);

  --arrow-size: 56px;
  --arrow-hit: 72px;

  overflow: visible;
  isolation: isolate;
}

.industry-carousel{
  --per-view: 3;
}

/* Track */
.industry-carousel-track{
  padding: 24px 0;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: auto !important;  /* JS animiert */
  scroll-snap-type: none !important;
  -webkit-overflow-scrolling: touch;
  cursor: grab;
  touch-action: pan-y;
}
.industry-carousel-track.is-dragging{
  cursor: grabbing;
  user-select: none;
  -webkit-user-select: none;
}
.industry-carousel-track::-webkit-scrollbar{ display: none; }
.industry-carousel-track{
  scrollbar-width: none;
  -ms-overflow-style: none;
}

/* Slides Layout */
.industry-carousel .carousel-list{
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc((100% - (var(--gap)*(var(--per-view) - 1))) / var(--per-view));
  gap: var(--gap);
  margin: 0;
  padding: 0;
}

/* Arrows */
.carousel-arrow{
  position: absolute;
  top: 50%;
  width: var(--arrow-hit);
  height: var(--arrow-hit);
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
  color: var(--arrow-color);
  z-index: 9999;
  transform: translateY(-50%);
  transition: .2s;
}

.carousel-arrow svg{
  width: var(--arrow-size);
  height: var(--arrow-size);
  pointer-events: none;
}
.carousel-arrow svg path{ fill: currentColor; }

.carousel-arrow:hover{ color: var(--arrow-hover); }

.carousel-arrow:disabled{
  color: var(--arrow-disabled);
  opacity: 1;
  cursor: default;
}

/* Pfeile außerhalb Container */
.carousel-arrow.prev{ left: calc(-1 * var(--arrow-outset)); }
.carousel-arrow.next{ right: calc(-1 * var(--arrow-outset)); }

/* Responsive Carousel */
@media (max-width: 1024px){
  .industry-carousel{ --per-view: 2; }
}
@media (max-width: 640px){
  .industry-carousel{
    --per-view: 1;
    --arrow-outset: 10px;
  }

  .industry-item:hover,
  .karriere-item:hover,
  .geschaeftsbereiche-item:hover{
    transform: none;
    box-shadow: 0 4px 10px rgba(0,0,0,.10);
  }
}


/* =====================================================================
   6) Grids: Industry + Karriere
   ===================================================================== */

/* Industry Grid View */
.industry-grid{
  display: grid;
  grid-template-columns: repeat(var(--industry-cols, 3), minmax(0, 1fr));
  gap: 24px;
}
@media (max-width: 1200px){
  .industry-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1024px){
  .industry-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px){
  .industry-grid{ grid-template-columns: 1fr; }
}

/* Karriere Grid – Layout only (Card-Design kommt aus Unified Card-System) */
.karriere-uebersicht{
  margin-bottom: 200px;
  display: grid;
  grid-template-columns: repeat(var(--karriere-cols, 3), minmax(0, 1fr));
  gap: 24px;
  justify-content: flex-start;
}
@media (max-width: 1200px){
  .karriere-uebersicht{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1024px){
  .karriere-uebersicht{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px){
  .karriere-uebersicht{ grid-template-columns: 1fr; }
}


/* =====================================================================
   7) Industry Features (Basis – in Single weiter unten überschrieben)
   ===================================================================== */

.industry-features {
  list-style: none;
  padding-left: 0;
  margin: .75rem 0 0;
  --feature-font-size: 16px;
  --feature-icon-size: 18px;
}

.industry-features li {
  position: relative;
  padding-left: 0;
  line-height: 2;
  font-size: 1em;
  font-weight: 500;
  border-bottom: 1px dotted #ccc;
}

/* (Icons waren auskommentiert – sauber ohne kaputte Klammern)
.industry-features li::before {
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  left: 0;
  top: .15em;
  font-size: var(--feature-icon-size);
  line-height: 1;
  color: #2273B8;
}
*/


/* =====================================================================
   8) Single-Seiten: Sales & Mietpark (unverändert)
   ===================================================================== */

.sales-single-top, .mietpark-single-top {
  display: flex; flex-wrap: wrap; gap: 40px; justify-content: space-between;
}
.sales-title-box, .mietpark-title-box {
  margin-top: 35px; order: 1; flex: 1 1 100%;
}
.sales-tech-details, .mietpark-tech-details {
  flex: 1 1 20%; padding: 2% 0; order: 2;
}
.cpt-image-sales, .cpt-image-mietpark {
  flex: 1 1 45%; max-width: 500px; order: 3;
}
.sales-tech-details h1, .mietpark-tech-details h1 { font-size: 1.8em; margin-bottom: 15px; }
.sales-tech-details ul, .mietpark-tech-details ul { padding-left: 0; list-style: none; }
.sales-tech-details li, .mietpark-tech-details li { border-bottom: 1px dotted #ddd; padding: 5px 0; }
.sales-tech-details li:last-child, .mietpark-tech-details li:last-child { border-bottom: none; }

@media screen and (max-width: 700px) {
  .sales-single-top, .mietpark-single-top { flex-direction: column; }
  .sales-tech-details, .mietpark-tech-details { order: 2; margin-bottom: 50px; }
  .cpt-image-sales, .cpt-image-mietpark { order: 1; margin: 20px 0; }
}

/* Bilder in Beiträgen (Sales/Mietpark) */
.cpt-image-mietpark, .cpt-image-sales { max-width: 800px; margin: 0 auto; }

/* Preise / Nummern */
.sales-angebot-nummer { font-size: 15px; font-weight: 500; color: #333; margin: 20px 0 0; }
.mietpark-angebot-nummer { font-size: 15px; font-weight: 500; color: #333; margin: 0 0 54px; }
.sales-preisdetails-lable { font-size: 15px; font-weight: 500; color: #333; display: block; float: left; }
.sales-verkaufspreis, .sales-preisdetails { font-size: 20px; font-weight: 700; color: #2273B8; margin-bottom: 20px; }


/* =====================================================================
   9) Single Industry – Grid-Layout & Meta
   ===================================================================== */

.industry-single-top {
  display: grid !important;
  grid-template-columns: minmax(260px,1fr) minmax(360px,1.4fr);
  grid-template-areas:
    "title    title"
    "meta     image"
    "features image";
  column-gap: 40px; row-gap: 24px; align-items: start;
}
.industry-single-top > * { order: 0 !important; flex: none !important; }

.industry-title-box       { grid-area: title;    margin-top: 35px; }
.industry-meta-single     { grid-area: meta;     padding: 2% 0; }
.industry-features-single { grid-area: features; padding: 2% 0; }
.cpt-image-industry       { grid-area: image;    max-width: 800px; justify-self: end; }

@media (max-width: 700px) {
  .industry-single-top {
    grid-template-columns: 1fr;
    grid-template-areas: "title" "image" "meta" "features";
    gap: 20px;
  }
  .cpt-image-industry { justify-self: start; max-width: 100%; }
}

/* Meta-Block unter Titel */
.industry-meta-single {
  margin-top: 8px;
  display: grid;
  gap: .35rem;
  font-size: .95rem;
  line-height: 1.35;
}
.industry-meta-category-single { font-weight: 600; font-style: italic; color: #222; }
.industry-meta-period-single   { color: #666; font-size: .9em; }
.industry-card-kurzbeschreibung-single { margin-top: .25rem; color: #333; }

/* Features in Single wie Sales-Details (ohne Icons) */
.industry-features-single .industry-features { padding-left: 0; list-style: none; margin: 0; }
.industry-features-single .industry-features li {
  border-bottom: 1px dotted #ddd;
  padding: 5px 0;
  line-height: 1.4;
  font-weight: 400;
  padding-left: 0;
}
.industry-features-single .industry-features li:last-child { border-bottom: none; }
.industry-features-single .industry-features li::before { content: none !important; }
.industry-features-single { margin-top: 10px; }


/* =====================================================================
   10) Pagination & Spacers
   ===================================================================== */

.pagination { text-align: center; margin: 20px 0; }
.pagination .page-numbers {
  display: inline-block; padding: 10px 20px; margin: 0 5px;
  background: #f1f1f1; color: #333; text-decoration: none; border-radius: 4px;
}
.pagination .page-numbers:hover, .pagination .current { background: #333; color: #fff; }

.single-industry-spacer { height: 120px; }
.industry-template-spacer { height: 80px; }


/* =====================================================================
   11) Floating Buttons (Miet-/Sale-Anfrageliste) + Tooltip
   ===================================================================== */

#to-mietanfrageliste-wrapper,
#to-saleanfrageliste-wrapper {
  position: fixed; right: 0; z-index: 1000; background: transparent; border: none;
  width: 60px; height: 60px; display: flex; align-items: center; justify-content: right;
}
#to-mietanfrageliste-wrapper { top: 20%; }
#to-saleanfrageliste-wrapper { top: calc(20% + 50px); }

#to-mietanfrageliste-button {
  background:#1D1E1C; width: 45px; height: 45px; display: flex; align-items: center; justify-content: center;
  cursor: pointer; color: #2273B8; border-radius: 3px 0 0 3px; border: none; transition: all .3s ease;
}
#to-mietanfrageliste-button:hover { color: #1D1E1C; background:#2273B8; }
#to-mietanfrageliste-button::before {
  content: attr(data-count);
  position: absolute; top: -10px; left: -4px;
  background: #2273B8; color: #1D1E1C; width: 25px; height: 25px; padding: 13px;
  font-size: 14px; font-weight: 700; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  opacity: 0; transition: opacity .3s ease-in-out; border: 3px solid #fff;
}
#to-mietanfrageliste-button.has-items::before { opacity: 1; }

#to-saleanfrageliste-button {
  background:#2273B8; width: 45px; height: 45px; display: flex; align-items: center; justify-content: center;
  cursor: pointer; color: #1D1E1C; border-radius: 3px 0 0 3px; border: none; transition: all .3s ease;
}
#to-saleanfrageliste-button:hover { color: #2273B8; background:#1D1E1C; }
#to-saleanfrageliste-button::before {
  content: attr(data-count);
  position: absolute; top: -10px; left: -4px;
  background: #2273B8; color: #1D1E1C; width: 25px; height: 25px; padding: 13px;
  font-size: 14px; font-weight: 700; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  opacity: 0; transition: opacity .3s ease-in-out; border: 3px solid #fff;
}
#to-saleanfrageliste-button.has-items::before { opacity: 1; }

/* Tooltip */
#tooltip {
  display: flex; align-items: center; justify-content: center;
  position: absolute; left: -111px; top: 50%; transform: translateY(-50%);
  background: rgba(245,245,245,1); height: 45px; color: #000; padding: 8px 12px; border-radius: 0;
  font-size: 12px; white-space: nowrap; opacity: 0; visibility: hidden; transition: opacity .4s, transform .4s;
}
#to-mietanfrageliste-link:hover #tooltip,
#to-saleanfrageliste-link:hover #tooltip { opacity: 1; visibility: visible; transform: translateY(-50%) translateX(-10px); }


/* =====================================================================
   12) Tabsystem (Single Seiten)
   ===================================================================== */

.sales-tabs { margin: 2em 0; border-bottom: 0; }
.tab-buttons {
  display: flex; gap: 0; border-bottom: 1px solid #ccc; margin-bottom: 1em;
}
.tab-button {
  padding: 10px 20px; background: #f8f8f8; border: 1px solid #ccc; border-bottom: none;
  border-radius: 0; margin-right: 2px; font-weight: 600; font-size: 14px; color: #333;
  cursor: pointer; transition: background-color .2s ease;
}
.tab-button:hover { background-color: #eaeaea; }
.tab-button.active {
  background: #fff; border-bottom: 2px solid #fff; color: #000; position: relative; top: 1px; z-index: 1;
}
.tab-content { display: none; background: #fff; padding: 20px 0 0 0; }
.tab-content.active { display: block; }


/* =====================================================================
   13) Anfragelisten-Ansichten (Seiten)
   ===================================================================== */

#mietanfrageliste-container, #saleanfrageliste-container {
  max-width: 900px; margin: 0 auto; padding: 20px;
}

.mietanfrageliste-item, .saleanfrageliste-item {
  display: flex; align-items: center; justify-content: space-between;
  border-bottom: 1px solid #ddd; padding: 12px 20px; margin: 5% 0; transition: all .3s ease;
}
.mietanfrageliste-item-thumbnail img, .saleanfrageliste-item-thumbnail img { width: 150px; height: auto; }

.mietanfrageliste-item-details, .saleanfrageliste-item-details {
  flex-grow: 1; display: flex; flex-direction: column; justify-content: center; margin-right: 10px;
}
.mietanfrageliste-item-details p, .saleanfrageliste-item-details p { margin: 5px 0; font-size: 16px; line-height: 1.4; }
.mietanfrageliste-item-details p strong, .saleanfrageliste-item-details p strong { font-weight: 700; color: #333; }

.menge-container { display: flex; align-items: center; justify-content: flex-start; gap: 10px; }
.menge-input {
  width: 60px; height: 37px; padding: 5px; font-size: 14px; border: 1px solid #ccc; border-radius: 4px;
  text-align: center; margin-top: 1px;
}

.remove-from-mietanfrageliste,
.remove-from-saleanfrageliste,
.update-menge {
  background: transparent; color: #1D1E1C; border: 3px solid #1D1E1C;
  padding: 8px 15px; cursor: pointer; font-size: 14px; border-radius: 0; transition: background-color .3s;
}
.remove-from-mietanfrageliste:hover,
.remove-from-saleanfrageliste:hover,
.update-menge:hover {
  background: #1D1E1C; color: #fff; border-color: #1D1E1C;
}

.mietanfrageliste-button, .saleanfrageliste-button {
  background: #04152D; color: #fff; border: none; padding: 10px; cursor: pointer;
  font-size: 12px; border-radius: 0; transition: background-color .3s; font-weight: 500;
}
.mietpark-button-row .mietanfrageliste-button { min-height: 40px; margin-top: 5px; }
.mietpark-button-row #single-zurueck-button { min-height: 40px; margin-bottom: 10px; }

.mietanfrageliste-button.active, .saleanfrageliste-button.active { background: #2273B8; color: #1D1E1C; }
.mietanfrageliste-button:hover, .saleanfrageliste-button:hover { background: #2273B8; color: #fff; }

.mietanfrage-after, .saleanfrage-after { display: flex; flex-direction: row; justify-content: right; }

/* Zurück-Buttons */
.single-button-group { display: flex; flex-direction: row; justify-content: flex-start; }

#Zurueck-button,
#single-zurueck-button {
  background: transparent; color: #1D1E1C; border: 3px solid #04152D;
  padding: 10px; margin: 0 10px; cursor: pointer; font-size: 12px; font-weight: 600;
  border-radius: 0; transition: background-color .3s;
}
#Zurueck-button .active { background: #04152D; color: #fff; }
#Zurueck-button:hover, #single-zurueck-button:hover { background: #04152D; color: #fff; }

/* Leere-Listen-Hinweis */
#mietanfrageliste-container p, #saleanfrageliste-container p { text-align: center; font-size: 18px; color: #555; }

/* Responsives Verhalten Anfragelisten */
@media (max-width: 1024px) {
  #mietanfrageliste-container, #saleanfrageliste-container { padding: 15px; }
  .mietanfrageliste-item, .saleanfrageliste-item { padding: 10px 15px; }
  .menge-input { width: 50px; }
  .remove-from-mietanfrageliste, .remove-from-saleanfrageliste, .update-menge { font-size: 13px; }
}
@media (max-width: 600px) {
  .mietanfrageliste-item, .saleanfrageliste-item {
    flex-direction: column; align-items: center; text-align: center; padding: 10px;
  }
  .mietanfrageliste-item-thumbnail, .saleanfrageliste-item-thumbnail { margin-bottom: 10px; }
  .mietanfrageliste-item-details, .saleanfrageliste-item-details { margin-bottom: 10px; font-size: 14px; }
  .menge-container { flex-direction: column; gap: 5px; margin-top: 10px; align-items: center; }
  .menge-input { width: 50px; }
  .remove-from-mietanfrageliste, .remove-from-saleanfrageliste, .update-menge { width: 100%; padding: 10px; }
  .mietanfrageliste-button, .saleanfrageliste-button { width: 100%; padding: 12px; }
}
@media (max-width: 480px) {
  .mietanfrageliste-item-details p, .saleanfrageliste-item-details p { font-size: 14px; }
  .remove-from-mietanfrageliste, .remove-from-saleanfrageliste { font-size: 12px; }
  .mietanfrageliste-button, .saleanfrageliste-button { padding: 10px; font-size: 14px; }
  .menge-input { width: 50px; }
}


/* =====================================================================
   14) Karriere Single Boxen (Bullets)
   ===================================================================== */

.karriere-box .karriere-bullets{
  padding-left: 1.1rem;
  margin: 0;
}
.karriere-box .karriere-bullets li{
  margin-bottom: .35rem;
}


/* =====================================================================
   15) Kleinkram
   ===================================================================== */

.mschine-box h3 { color: #0073aa; margin-bottom: 5px; }








/* =====================================================
   Page Gallery (Geschäftsbereiche) – Shortcode [page-gallery]
   ===================================================== */

.cls-page-gallery-grid{
  --gap: 20px;
  --cols: var(--cls-page-gallery-cols, 4);
  display: grid;
  grid-template-columns: repeat(var(--cols), minmax(0, 1fr));
  gap: var(--gap);
  padding: 5% 0;
}

@media (max-width: 1024px){
  .cls-page-gallery-grid{ --cols: 3; }
}
@media (max-width: 768px){
  .cls-page-gallery-grid{ --cols: 2; }
}
@media (max-width: 480px){
  .cls-page-gallery-grid{ --cols: 1; }
}

.cls-page-gallery-item{
  display:block;
  background:#fff;
  padding:0px;
  box-shadow:0 4px 10px rgba(0,0,0,.10);
  transition: transform .28s cubic-bezier(.22,.61,.36,1), box-shadow .28s ease;
  text-decoration:none;
}

.cls-page-gallery-item:hover{
  transform: translateY(-6px);
  box-shadow:
    0 12px 24px rgba(0,0,0,.18),
    0 2px 6px rgba(0,0,0,.12);
}

/* Quadratisch */
.cls-page-gallery-img{
  width:100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display:block;

  /* wie Karten: desaturated + Hover */
  filter: saturate(.65) contrast(.90);
  transition: filter .35s ease;
}

.cls-page-gallery-item:hover .cls-page-gallery-img{
  filter: saturate(1) contrast(1);
}


/* =====================================================
   Page Video – Shortcode [page-video]
   ===================================================== */

.cls-pagevideo-outer-container{
  padding: 3% 0 7%;
}
.cls-page-video-wrap{
  width:100%;
  
}

.cls-page-video{
  width:100%;
  height:auto;
  display:block;
}


.cls-page-video-wrap{
  position:relative;
  display:block;
}

.cls-page-video{
  width:100%;
  height:auto;
  display:block;
}

/* =====================================================
   Page Video – Overlay + Playbutton
   ===================================================== */

/* Wrapper muss Position-Context sein */
.cls-page-video-wrap{
  position: relative;
}

/* Overlay (klickbar) */
.cls-video-overlay{
  position: absolute;
  inset: 0;
  z-index: 5;                 /* wichtig: über dem Video */
  display: flex;
  align-items: center;
  justify-content: center;

  background: rgba(0,0,0,.45);
  opacity: 1;

  cursor: pointer;
  pointer-events: auto;       /* wichtig: Hover/Click erlauben */

  transition: opacity .35s ease, background .25s ease;
}

/* Hover Feedback */
.cls-video-overlay:hover{
  background: rgba(0,0,0,.6);
}

/* Playbutton */
.cls-video-playbtn{
  width: 84px;
  height: 84px;
  border-radius: 50%;
  background: rgba(255,255,255,.15);
  backdrop-filter: blur(6px);
  position: relative;
  transition: transform .25s ease, background .25s ease;
}

.cls-video-playbtn::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  transform: translate(-40%,-50%);
  border-style: solid;
  border-width: 14px 0 14px 22px;
  border-color: transparent transparent transparent #fff;
}

.cls-video-overlay:hover .cls-video-playbtn{
  transform: scale(1.12);
  background: rgba(255,255,255,.35);
}

/* Wenn Video spielt: Overlay weg + keine Klicks */
.cls-page-video-wrap.is-playing .cls-video-overlay{
  opacity: 0;
  pointer-events: none;
}



/* ============================================
   SALES Tabs – zurück zum ursprünglichen Look
   (Bootstrap .btn/.btn-outline-secondary neutralisieren)
   ============================================ */

.sales-tabs { margin: 2em 0; border-bottom: 0; }

.sales-tabs .btn-group{
  /*display: flex;*/
  gap: 0;
  border-bottom: 1px solid #ccc;
  margin-bottom: 1em;
  flex-wrap: wrap;
}

/* Bootstrap-Einflüsse für diese Tabs killen */
.sales-tabs .btn-group .btn.tab-button{
  /* reset/neutralize */
  --bs-btn-padding-x: initial;
  --bs-btn-padding-y: initial;
  --bs-btn-font-size: initial;
  --bs-btn-font-weight: initial;
  --bs-btn-line-height: initial;
  --bs-btn-border-width: initial;
  --bs-btn-border-radius: 0;
  --bs-btn-color: initial;
  --bs-btn-bg: initial;
  --bs-btn-border-color: initial;
  --bs-btn-hover-color: initial;
  --bs-btn-hover-bg: initial;
  --bs-btn-hover-border-color: initial;
  --bs-btn-active-color: initial;
  --bs-btn-active-bg: initial;
  --bs-btn-active-border-color: initial;
  --bs-btn-focus-shadow-rgb: 0,0,0;

  /* dein ursprüngliches Design */
  padding: 10px 20px;
  background: #f8f8f8;
  border: 1px solid #ccc;
  border-bottom: none;
  border-radius: 0;
  margin-right: 2px;
  font-weight: 600;
  font-size: 14px;
  line-height: normal;
  color: #333;
  cursor: pointer;
  transition: background-color .2s ease;

  /* Bootscore/Bootstrap Extras sicher aus */
  box-shadow: none;
  text-decoration: none;
}

.sales-tabs .btn-group .btn.tab-button:hover{
  background-color: #eaeaea;
  color: #333;
}

/* Active-Tab */
.sales-tabs .btn-group .btn.tab-button.active{
  background: #fff;
  border-color: #ccc;
  border-bottom: 2px solid #fff;
  color: #000;
  position: relative;
  top: 1px;
  z-index: 1;
}

/* Focus-Ring entfernen (optional; nur wenn du es so hattest) */
.sales-tabs .btn-group .btn.tab-button:focus,
.sales-tabs .btn-group .btn.tab-button:focus-visible{
  outline: none;
  box-shadow: none;
}

.sales-tabs .tab-content { display: none; background: #fff; padding: 20px 0 0 0; }
.sales-tabs .tab-content.active { display: block; }