/**
 * @file
 * Subtheme specific CSS.
 */

/* ========================================
   TABLE OF CONTENTS
   ========================================

   1. FONT FACES
      - Oxygen Font Family
      - Play Font Family
      - Material Icons

   2. TYPOGRAPHY
      - Headings (h1-h6)
      - Page Titles
      - Block Headings
      - Animations

   3. LAYOUT
      - Body & Base Elements
      - Containers & Regions
      - Grid Systems
      - Spacing & Alignment

   4. HEADER & NAVIGATION
      - Top Region & Language Switcher
      - Site Branding
      - Navbar Main
      - Main Menu
      - Secondary Menu
      - Highlighted Region

   5. FOOTER

   6. BLOCKS - FRONTPAGE
      - Geomap Front
      - Hauptkategorien Cards (block-3, block-5, block-6)
      - Front Basisinfo Cards (block-6)
      - Top Angebote Grid
      - Top Arbeitgeber Grid

   7. BLOCKS - BASISINFO
      - Basisinfo Sidebar (block-4, block-8)
      - Basisinfo Main Content (block-1, block-8)
      - Basisinfo Fullnode
      - Basisinfo Taxonomy

   8. BLOCKS - STELLENANGEBOTE
      - Alle Angebote Grid (block-1, block-2)
      - Angebote Suche Page
      - Top Attachment Layout
      - Exposed Filters

   9. BLOCKS - TAXONOMY TERM
      - Sidebar (col-sm-3)
      - Main Area (col-sm-9)
      - Hierarchical Menu

   10. COMPONENTS
       - Cards
       - Tables
       - Forms & Webforms
       - Buttons & Links
       - Search Components

   11. CONTENT TYPES
       - Fullnode Stellenangebot
       - Fullnode Basisinfo
       - Basic Page (Für Arbeitgeber)

   12. UTILITIES
       - Edit Node Icons
       - Bootstrap Overrides
       - Select2 Styling
       - Responsive Grid Helpers
       - Helper Classes

   ======================================== */


/* ========================================
   1. FONT FACES
   ======================================== */

/* --- Oxygen Font Family --- */

/* oxygen-regular - latin-ext_latin */
@font-face {
  font-family: 'Oxygen';
  font-style: normal;
  font-weight: 400;
  src: url('../css/fonts/oxygen-v15-latin-ext_latin/oxygen-v15-latin-ext_latin-regular.eot');
  /* IE9 Compat Modes */
  src: local(''),
    url('../css/fonts/oxygen-v15-latin-ext_latin/oxygen-v15-latin-ext_latin-regular.eot?#iefix') format('embedded-opentype'),
    /* IE6-IE8 */
    url('../css/fonts/oxygen-v15-latin-ext_latin/oxygen-v15-latin-ext_latin-regular.woff2') format('woff2'),
    /* Super Modern Browsers */
    url('../css/fonts/oxygen-v15-latin-ext_latin/oxygen-v15-latin-ext_latin-regular.woff') format('woff'),
    /* Modern Browsers */
    url('../css/fonts/oxygen-v15-latin-ext_latin/oxygen-v15-latin-ext_latin-regular.ttf') format('truetype'),
    /* Safari, Android, iOS */
    url('../css/fonts/oxygen-v15-latin-ext_latin/oxygen-v15-latin-ext_latin-regular.svg#Oxygen') format('svg');
  /* Legacy iOS */
}

/* oxygen-700 - latin-ext_latin */
@font-face {
  font-family: 'Oxygen';
  font-style: normal;
  font-weight: 700;
  src: url('../css/fonts/oxygen-v15-latin-ext_latin/oxygen-v15-latin-ext_latin-700.eot');
  /* IE9 Compat Modes */
  src: local(''),
    url('../css/fonts/oxygen-v15-latin-ext_latin/oxygen-v15-latin-ext_latin-700.eot?#iefix') format('embedded-opentype'),
    /* IE6-IE8 */
    url('../css/fonts/oxygen-v15-latin-ext_latin/oxygen-v15-latin-ext_latin-700.woff2') format('woff2'),
    /* Super Modern Browsers */
    url('../css/fonts/oxygen-v15-latin-ext_latin/oxygen-v15-latin-ext_latin-700.woff') format('woff'),
    /* Modern Browsers */
    url('../css/fonts/oxygen-v15-latin-ext_latin/oxygen-v15-latin-ext_latin-700.ttf') format('truetype'),
    /* Safari, Android, iOS */
    url('../css/fonts/oxygen-v15-latin-ext_latin/oxygen-v15-latin-ext_latin-700.svg#Oxygen') format('svg');
  /* Legacy iOS */
}

/* Oxygen: Haceks auf t/d/l (ť ď ľ) ragen ueber die Zeichenbreite hinaus und fressen das Leerzeichen
   danach ("schopnosťnadchnúťhostí"). Nur diese Buchstaben kommen aus einer Systemschrift mit
   passender Zeichenbreite (2026-10-20); alle anderen Zeichen bleiben Oxygen. */
@font-face {
  font-family: Oxygen;
  font-style: normal;
  font-weight: 400;
  src: local(Arial), local(ArialMT), local(Helvetica Neue), local(Helvetica), local(Segoe UI);
  unicode-range: U+010E-010F, U+013D-013E, U+0164-0165;
}
@font-face {
  font-family: Oxygen;
  font-style: normal;
  font-weight: 700;
  src: local(Arial Bold), local(Arial-BoldMT), local(Helvetica Neue Bold), local(HelveticaNeue-Bold), local(Helvetica-Bold), local(Segoe UI Bold);
  unicode-range: U+010E-010F, U+013D-013E, U+0164-0165;
}

/* --- Play Font Family --- */

/* play-regular - latin-ext_latin */
@font-face {
  font-family: 'Play';
  font-style: normal;
  font-weight: 400;
  src: url('../css/fonts/play-v17-latin-ext_latin/play-v17-latin-ext_latin-regular.eot');
  /* IE9 Compat Modes */
  src: local(''),
    url('../css/fonts/play-v17-latin-ext_latin/play-v17-latin-ext_latin-regular.eot?#iefix') format('embedded-opentype'),
    /* IE6-IE8 */
    url('../css/fonts/play-v17-latin-ext_latin/play-v17-latin-ext_latin-regular.woff2') format('woff2'),
    /* Super Modern Browsers */
    url('../css/fonts/play-v17-latin-ext_latin/play-v17-latin-ext_latin-regular.woff') format('woff'),
    /* Modern Browsers */
    url('../css/fonts/play-v17-latin-ext_latin/play-v17-latin-ext_latin-regular.ttf') format('truetype'),
    /* Safari, Android, iOS */
    url('../css/fonts/play-v17-latin-ext_latin/play-v17-latin-ext_latin-regular.svg#Play') format('svg');
  /* Legacy iOS */
}

/* play-700 - latin-ext_latin */
@font-face {
  font-family: 'Play';
  font-style: normal;
  font-weight: 700;
  src: url('../css/fonts/play-v17-latin-ext_latin/play-v17-latin-ext_latin-700.eot');
  /* IE9 Compat Modes */
  src: local(''),
    url('../css/fonts/play-v17-latin-ext_latin/play-v17-latin-ext_latin-700.eot?#iefix') format('embedded-opentype'),
    /* IE6-IE8 */
    url('../css/fonts/play-v17-latin-ext_latin/play-v17-latin-ext_latin-700.woff2') format('woff2'),
    /* Super Modern Browsers */
    url('../css/fonts/play-v17-latin-ext_latin/play-v17-latin-ext_latin-700.woff') format('woff'),
    /* Modern Browsers */
    url('../css/fonts/play-v17-latin-ext_latin/play-v17-latin-ext_latin-700.ttf') format('truetype'),
    /* Safari, Android, iOS */
    url('../css/fonts/play-v17-latin-ext_latin/play-v17-latin-ext_latin-700.svg#Play') format('svg');
  /* Legacy iOS */
}

/* --- Material Icons --- */

@font-face {
  font-family: 'Material Icons';
  font-weight: 400;
  font-style: normal;
  src: local('Material Icons'), local('MaterialIcons-Regular'),
    url('../css/fonts/MaterialIcons-Regular.ttf') format('truetype');
}

.material-icons {
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased;
  /*color: #8dc157;  /* INTERPRACE Grün für alle Material Icons */
  color: var(--ip-gruen, #8dc157);  /* Mit Variable + Fallback */
}


/* ========================================
   2. TYPOGRAPHY
   ======================================== */

/* --- Page Title h1 --- */

.block-field-blocknodepagetitle h1 {
  color: var(--text-ueberschrift);
  margin-bottom: 20px;
  font-family: 'play', sans-serif;
  position: relative;
  padding-bottom: 10px;
}

/* Animated border-bottom for h1 */
.block-field-blocknodepagetitle h1::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 5px;
  background: #8bc34a;
  animation: borderGrow 2.8s ease-out 0.6s forwards;
}

@keyframes borderGrow {
  from { width: 0; }
  to { width: 100%; }
}

/* --- Block Headings h2 --- */

.block-views-blockfront-block-3 h2,
.block-views-blockfront-block-1 h2,
.block-views-blockfront-block-5 h2,
.block-views-blockfront-block-6 h2,
.block-views-blockvbo-end-datum-check-block-2 h2,
.block-views-blockpressemonitor-block-1 h2,
.block-views-blockpressemonitor-block-2 h2,
.block-views-blockpressemonitor-block-3 h2,
.block-views-blockpressemonitor-block-4 h2,
.block-views-blockpressemonitor-block-8 h2,
.block-views-blockpressemonitor-block-9 h2,
.pressemonitor-page-title,
.block-inline-blockcustom-block:has(+ .block-views-blockpressemonitor-block-1) h2 {
  color: var(--text-ueberschrift);
  margin: 48px 0 40px;
  font-family: 'play', sans-serif;
  position: relative;
  padding-bottom: 10px;
}

/* Pressemonitor: Sektions-h2 unter dem h1 (Hierarchie h1 > h2) */
.region--top .block-views-blockpressemonitor-block-9 h2,
.region--top .block-views-blockpressemonitor-block-8 h2 {
  font-size: 1.75rem;
  margin: 64px 0 24px;
  padding: 0 0 12px;
  text-align: left;
  border-bottom: 0; /* grüner Balken aus .region--top h2 entfällt, Akzent = ::after */
}

.region--top .block-views-blockpressemonitor-block-9 h2 {
  margin-top: 0; /* erster Abschnitt direkt unter dem h1 */
}

.region--top .block-views-blockpressemonitor-block-9 h2::after,
.region--top .block-views-blockpressemonitor-block-8 h2::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 48px;
  height: 3px;
  background: var(--text-ueberschrift); /* Blau wie die Überschriften */
}

@media (max-width: 767.98px) {
  .region--top .block-views-blockpressemonitor-block-9 h2,
  .region--top .block-views-blockpressemonitor-block-8 h2 {
    font-size: 1.35rem !important; /* schlägt h2 {1.4em !important} in media-queries.css */
    margin: 40px 0 16px;
    padding: 0 0 10px;
  }

  .region--top .block-views-blockpressemonitor-block-9 h2 {
    margin-top: 0;
  }
}

.block-views-blockfront-block-3 h1,
.block-views-blockfront-block-3 h2 {
  margin: 0 0 40px;
  position: relative;
  padding-bottom: 10px;
}

.block-views-blockfront-block-3 h1::after,
.block-views-blockfront-block-3 h2::after,
.block-views-blockfront-block-1 h2::after,
.block-views-blockfront-block-5 h2::after,
.block-views-blockfront-block-6 h2::after,
.block-views-blockvbo-end-datum-check-block-2 h2:after,
.block-views-blockpressemonitor-block-1 h2:after,
.block-views-blockpressemonitor-block-2 h2:after,
.block-views-blockpressemonitor-block-3 h2:after,
.block-views-blockpressemonitor-block-4 h2:after,
.pressemonitor-page-title::after,
.block-inline-blockcustom-block:has(+ .block-views-blockpressemonitor-block-1) h2:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 5px;
  background: #8bc34a;
  animation: borderGrow 2.8s ease-out 0.6s forwards;
}

/* --- General Headings --- */

h1, h2 {
  font-size: 2.5rem;
}

h3 {
  font-size: 1.5rem;
}

/* --- Region Top h2 --- */

.region--top h2 {
  margin: 0;
  padding: 0;
  text-align: center;
  border-bottom: 5px solid #8bc34a;
  border-radius: 0;
  font-family: 'play', sans-serif;
}

.block-views-blockbasisinfo-block-7.block-system-main-block h2 {
  padding: 0;
  border-radius: 0;
  font-family: 'play', sans-serif;
}


/* ========================================
   3. LAYOUT
   ======================================== */

/* --- Body & Base Elements --- */

body {
  background-color: #ddd;
  font-family: 'Oxygen', sans-serif;
}

a,
.link {
  color: #0071b3;
  text-decoration: none;
}

.node__content {
  font-size: 1.2em;
  line-height: 1.5;
  color: #333;
}

.views-field-body {
  font-size: 1em;
}

.views-field-body h3 {
  font-weight: 500;
  font-size: 1.8rem;
  padding-top: 5px;
}

.views-field-body h4 {
  font-weight: 400;
  font-size: 1.2em;
  padding: 0;
}

/* --- Main Content Region --- */

.block-system-main-block {
  margin: 5% 0;
}

/* Fullnode-Seiten (body.path-node): kein vertikaler Abstand am Main-Block */
body.path-node .block-system-main-block {
  margin: 0;
}

/* --- Columns & Spacing --- */

.col-sm-3 {
  flex: 0 0 auto;
  width: 25%;
}


/* ========================================
   4. HEADER & NAVIGATION
   ======================================== */

/* --- Top Region & Language Switcher --- */

.region-top-region {
  background-color: #eee;
  border-bottom: 1px solid #ddd;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-right: 15px;
}

.region-top-region .block-language-blocklanguage-interface,
.region-top-region .nav-link {
  margin: 0;
  display: inline-flex;
}

.region-top-region .nav-link {
  color: #fff;
  background: #8dc157;
}

.region-top-region .block-language-blocklanguage-interface .nav-link {
  background-color: #fff;
}

.region-top-region .block-language-blocklanguage-interface .nav-link .is-active {
  color: lightblue;
}

/* --- Secondary Menu - positioned left of language switcher --- */
#block-boot-sub-sekundarmenu {
  background: transparent;
  display: inline-flex !important;
  align-items: center;
  width: auto !important;
  flex-shrink: 0;
}

#block-boot-sub-sekundarmenu .nav {
  margin-bottom: 0;
}

/* Button Style für Sekundärmenü */
#block-boot-sub-sekundarmenu .nav-item a {
  background-color: #8dc155;
  color: #fff !important;
  padding: 8px 20px;
  border-radius: 4px;
  text-decoration: none;
  font-weight: 500;
  transition: all 0.3s ease;
  border: none;
  margin: 0;
}

#block-boot-sub-sekundarmenu .nav-item a:hover {
  background-color: #7ab045;
  text-decoration: none;
  border: none;
  padding-bottom: 8px;
  margin-bottom: 0;
}

#block-boot-sub-sekundarmenu .nav-item a.active {
  background-color: #032373;
  color: #fff;
  border: none;
  padding-bottom: 8px;
  margin-bottom: 0;
}

/* Language switcher - keep inline */
#block-boot-sub-sprachumschalteranzeigesprachederwebsite {
  display: inline-flex !important;
  align-items: center;
  width: auto !important;
  flex-shrink: 0;
}

/* --- Navbar Top --- */

#navbar-top {
  display: flex !important;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  gap: 20px;
  flex-wrap: nowrap;
}

#navbar-top .container {
  display: flex !important;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  gap: 20px;
  flex-wrap: nowrap;
}

/* Fix the region-top-header-form to display items horizontally */
.region-top-header-form.row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 20px;
  width: auto !important;
  margin: 0 !important;
}

/* Force direct children to be inline */
.region-top-header-form.row > * {
  display: inline-flex !important;
  width: auto !important;
  flex: 0 0 auto !important;
  max-width: none !important;
}

/* Navbar form wrapper should also be flex */
#navbar-top .navbar-form {
  display: flex !important;
  align-items: center;
  width: auto !important;
}

/* Make all direct children of navbar-top display inline */
#navbar-top > *,
#navbar-top .region,
#navbar-top > div,
#navbar-top .container > * {
  flex-shrink: 0;
  display: inline-flex !important;
  align-items: center;
}

#navbar-top .nav-link.is-active:not(.language-link) {
  color: #8dc157;
  border-bottom: 2px dotted #8dc155;
}

.nav-link--de-fuer-arbeitgeber-stellenanzeigen-tschechien-schalten.is-active,
.nav-link--cs-pro-zamestnavatele-inzerce.is-active {
  color: #8dc157;
  border-bottom: 2px solid #8dc157;
}

/* --- Site Branding --- */

.navbar-brand .img-fluid {
  max-width: 90%;
  height: auto;
}

.navbar .site-name-slogan {
  display: block;
  font-family: 'Play', sans-serif;
  margin-left: -20px;
  margin-right: 0;
  margin-bottom: 0;
  font-size: 1.3em;
  color: var(--site-name-slogan-color);
  float: left;
  padding: 10px;
  margin-top: -10px;
  text-align: center;
}

/* --- Navbar Main --- */

#navbar-main {
  padding-left: 50px;
}

/* --- Main Menu --- */

#block-boot-sub-main-menu {
  margin-left: auto;
  display: flex;
  justify-content: flex-end;
}

#block-boot-sub-main-menu .navbar-nav .nav-item a {
  color: #032373;
  font-size: 1.2em;
  font-family: 'Play';
  padding: 0 10px;
  margin-right: 20px;
}

#block-boot-sub-main-menu .navbar-nav .nav-item a.active {
  color: #dddddd;
  border-bottom: 2px solid #8dc155;
  padding-bottom: 5px;
  margin-bottom: -7px;
}

#block-boot-sub-main-menu .navbar-nav .nav-item a:hover {
  text-decoration: none;
  border-bottom: 2px solid #032373;
  padding-bottom: 5px;
  margin-bottom: -7px;
}

/* --- Secondary Menu (Für Arbeitgeber) --- */
/* Styles moved to top of file for better organization */

/* --- Highlighted Region --- */

.region-highlighted {
  background-color: #032373;
  border-top: 8px solid #82bb46;
  width: 100vw;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  box-sizing: border-box;
  padding: 30px 40px;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

/* Flag block – shrink-wrap around images */
.region-highlighted #block-boot-sub-views-block-hauptkategorien-cards-block-3 {
  flex: 0 0 auto;
}

.region-highlighted .view-hauptkategorien-cards .views-view-grid {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0;
}

.region-highlighted .view-hauptkategorien-cards .views-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
}

/* Override inline width on .views-col */
.region-highlighted .view-hauptkategorien-cards .views-col {
  width: auto !important;
  display: flex;
  align-items: center;
}

/* Flag images */
.region-highlighted .view-hauptkategorien-cards .views-view-grid img {
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: 8px;
  border: 2px solid rgba(255, 255, 255, 0.25);
  transition: transform 0.2s ease, border-color 0.2s ease;
}

.region-highlighted .view-hauptkategorien-cards .views-view-grid a:hover img {
  transform: scale(1.1);
  border-color: #8bc34a;
}

/* Search form block – grow to fill remaining space */
.region-highlighted #block-boot-sub-exposedformangebote-suchepage-1 {
  flex: 1 1 260px;
  max-width: 350px;
}

/* Form row: input + button side by side, no gap */
.region-highlighted .views-exposed-form .d-flex {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 0 !important;
}

/* Wrapper divs: remove margins/padding */
.region-highlighted .views-exposed-form .js-form-item {
  flex: 1 1 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  align-self: stretch !important;
  height: 44px !important;
}

.region-highlighted .views-exposed-form .form-actions {
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  align-self: stretch !important;
  height: 44px !important;
}

/* Search input – left half of pill */
.region-highlighted .views-exposed-form input[name="search_api_fulltext"] {
  background-color: #fff !important;
  border: none !important;
  border-radius: 8px 0 0 8px !important;
  padding: 0 16px !important;
  height: 44px !important;
  font-size: 1em !important;
  width: 100% !important;
  outline: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  display: block !important;
  color: #333 !important;
  line-height: 44px !important;
}

.region-highlighted .views-exposed-form input[name="search_api_fulltext"]:focus {
  box-shadow: 0 0 0 3px rgba(139, 195, 74, 0.35);
}

/* Submit button – right half of pill */
.region-highlighted .views-exposed-form input[type="submit"] {
  background-color: #8bc34a !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 8px 8px 0 !important;
  padding: 0 22px !important;
  height: 44px !important;
  width: auto !important;
  font-size: 1em !important;
  font-weight: 600 !important;
  cursor: pointer;
  white-space: nowrap !important;
  transition: background-color 0.2s ease;
  margin: 0 !important;
  box-sizing: border-box !important;
  line-height: 44px !important;
  display: block !important;
}

.region-highlighted .views-exposed-form input[type="submit"]:hover {
  background-color: #7cb342 !important;
}


/* ========================================
   5. FOOTER
   ======================================== */

/* ========================================
   FOOTER CSS VARIABLES (Zentrale Steuerung)
   ========================================

   Bearbeiten Sie diese Variablen um:
   - Schriftgrößen anzupassen
   - Farben zu ändern
   - Hintergründe zu modifizieren
   - Spaltenbreiten zu steuern
   ======================================== */

:root {
  /* Schriftgrößen */
  --footer-font-size-base: 20px;
  --footer-font-size-heading: 24px;
  --footer-font-size-small: 14px;
  /* Farben */
  --footer-text-color: #555555;
  --footer-heading-color: #032373;
  --footer-link-color: #0071b3;
  --footer-link-hover-color: #8dc157;

  /* Hintergründe */
   --footer-bg-top: #f5f7fa;
   --footer-bg-bottom: #f5f7fa;;

  /* Spaltenbreiten (Footer Columns) */
  --footer-column-1-width: 40%;
  --footer-column-2-width: 25%;
  --footer-column-3-width: 35%;
  --footer-column-4-width: 0%;

  /* Abstände */
  --footer-padding-top: 0px;
  --footer-padding-bottom: 40px;
  --footer-block-margin-bottom: 40px;

  /* ========================================
     DOMAIN CARDS VARIABLES
     ======================================== */

  /* Domain Cards - Farben */
  --domain-card-bg: #ffffff;
  --domain-card-border-color: #8dc157;
  --domain-card-title-color: #00266E;
  --domain-card-description-color: #666666;
  --domain-logo-green: #8dc157;
  --domain-logo-navy: #00266E;
  --domain-jobtranzit-yellow: #FDB913;

  /* Domain Cards - Typography */
  --domain-title-font-size: 20px;
  --domain-description-font-size: 13px;
  --domain-logo-font-size: 28px;
  --domain-country-font-size: 14px;

  /* Domain Cards - Spacing */
  --domain-grid-gap: 40px;
  --domain-card-padding-v: 30px;
  --domain-card-padding-h: 20px;
  --domain-logo-margin-bottom: 8px;
  --domain-title-margin-top: 15px;
  --domain-title-margin-bottom: 10px;

  /* Domain Cards - Layout */
  --domain-card-border-radius: 8px;
  --domain-card-border-width: 4px;
  --domain-grid-max-width: 1200px;
  --domain-logo-max-width: 200px;
  --domain-logo-max-height: 45px;
  --domain-flag-width: 32px;

  /* Domain Cards - Effects */
  --domain-card-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  --domain-card-shadow-hover: 0 4px 16px rgba(0, 0, 0, 0.15);
  --domain-card-hover-lift: -5px;
}

/* ========================================
   FOOTER REGION - Hauptcontainer
   ======================================== */

.site-footer__top {
  background: linear-gradient(180deg, var(--footer-bg-top) 0%, var(--footer-bg-bottom) 100%);
  padding-top: var(--footer-padding-top);
  padding-bottom: var(--footer-padding-bottom);
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

/* Top Border Accent (Green Gradient - wie Domain Navigation) */
.site-footer__top::before {
  content: '';
  display: block;
  width: 100%;
  height: 5px;
  background: linear-gradient(90deg, #8dc155 0%, #82bb46 100%);
  margin-bottom: 40px;
}

/* ========================================
   FOOTER SPALTEN - Individuelle Breiten
   ======================================== */

.region-footer-first {
  flex: 0 0 var(--footer-column-1-width);
  max-width: var(--footer-column-1-width);
  padding: 0 15px;
}

.region-footer-second {
  flex: 0 0 var(--footer-column-2-width);
  max-width: var(--footer-column-2-width);
  padding: 0 15px;
}

.region-footer-third {
  flex: 0 0 var(--footer-column-3-width);
  max-width: var(--footer-column-3-width);
  padding: 0 15px;
}

.region-footer-fourth {
  flex: 0 0 var(--footer-column-4-width);
  max-width: var(--footer-column-4-width);
  padding: 0 15px;
}

/* Spalten-Separatoren (Subtile Navy-Border) */
.region-footer-first,
.region-footer-second,
.region-footer-third {
  border-right: 1px solid rgba(3, 35, 115, 0.1);
}

/* ========================================
   FOOTER TYPOGRAFIE
   ======================================== */

/* Footer Überschriften */
.site-footer__top h2,
.site-footer__top h3,
.site-footer__top h4,
.site-footer__top .block-title {
  font-size: var(--footer-font-size-heading);
  color: var(--footer-heading-color);
  font-weight: 700;
  margin-bottom: 15px;
  font-family: 'Play', sans-serif;
}

/* Footer Text */
.site-footer__top p,
.site-footer__top li,
.site-footer__top .block-content {
  font-size: var(--footer-font-size-base);
  color: var(--footer-text-color);
  line-height: 1.6;
}

/* Footer Links */
.site-footer__top a {
  color: var(--footer-link-color);
  text-decoration: none;
  transition: color 0.3s ease;
}

.site-footer__top a:hover,
.site-footer__top a:focus {
  color: var(--footer-link-hover-color);
  text-decoration: none;
}

/* Footer Listen */
.site-footer__top ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.site-footer__top li {
  margin-bottom: 8px;
}

/* ========================================
   FOOTER BLOCKS - Allgemeine Styles
   ======================================== */

.site-footer__top .block {
  margin-bottom: var(--footer-block-margin-bottom);
}

.site-footer__top .block:last-child {
  margin-bottom: 0;
}

/* ========================================
   DOMAIN SWITCHER - Spezifische Styles
   ======================================== */

.region-footer-third .item-list ul {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.region-footer-third .item-list li {
  margin-bottom: 0;
}
.region-footer-third .item-list li a{

  color: #444
}
.site-footer__top .content li a {
  display: block;
  border-bottom: 1px solid #555;
  border-color: rgba(255, 255, 255, 0.15);
  line-height: 1.2;
  padding: 0.8em 2px 0.8em 20px; /* LTR */
  text-indent: -15px;
  color: #444
}
.site-footer__top .content li a:hover {
  
  color: green
}
/* ========================================
   RESPONSIVE DESIGN
   ======================================== */

/* Tablet (768px - 991px) */
@media (max-width: 991px) {
  :root {
    --footer-column-1-width: 50%;
    --footer-column-2-width: 50%;
    --footer-column-3-width: 50%;
    --footer-column-4-width: 50%;
  }

  .site-footer__top {
    gap: 15px;
  }

  /* Remove column separators auf Tablet/Mobile */
  .region-footer-first,
  .region-footer-second,
  .region-footer-third {
    border-right: none;
  }
}

/* Mobile (unter 768px) */
@media (max-width: 767px) {
  :root {
    --footer-column-1-width: 100%;
    --footer-column-2-width: 100%;
    --footer-column-3-width: 100%;
    --footer-column-4-width: 100%;
    --footer-padding-top: 30px;
    --footer-padding-bottom: 30px;
  }

  .site-footer__top {
    flex-direction: column;
    gap: 25px;
  }

  .region-footer-first,
  .region-footer-second,
  .region-footer-third,
  .region-footer-fourth {
    padding: 0;
  }
}


/* ========================================
   6. BLOCKS - FRONTPAGE
   ======================================== */

/* --- Facebook Banner (Horizontal) - IP Branding --- */
#fb-iframe .fb-banner {display:none}
.fb-banner {
  max-width: 800px;
  margin: 30px auto;
  background: #fff;
  border: 3px solid #8dc155;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(3, 35, 115, 0.15);
  position: relative;
}

/* Grüner Streifen oben */
.fb-banner::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 8px;
  background: linear-gradient(90deg, #8dc155 0%, #82bb46 100%);
  z-index: 10;
}

.fb-banner-header {
  width: 100%;
  overflow: hidden;
  max-height: 100px;
  background: linear-gradient(135deg, #032373 0%, #0a3d8f 100%);
  padding: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 3px solid #8dc155;
  color: #fff;
  font-weight: 600;
}

.fb-banner-header img {
  max-width: 100%;
  max-height: 70px;
  height: auto;
  display: block;
  object-fit: contain;
  filter: brightness(1.1);
}

.fb-banner iframe {
  display: block;
  width: 100%;
  background: #fff;
  padding: 10px 0;
}

.fb-fallback {
  padding: 15px 25px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  background: linear-gradient(180deg, #f8f9fa 0%, #fff 100%);
  margin: 0;
  font-size: 14px;
  font-family: 'Play', sans-serif;
  color: #032373;
  border-top: 2px solid #8dc155;
}

.fb-fallback br {
  display: none;
}

.fb-fallback a {
  color: #8dc155;
  text-decoration: none;
  font-weight: 700;
  font-size: 16px;
  transition: all 0.3s ease;
  display: inline-block;
  padding: 5px 10px;
  border-radius: 4px;
}

.fb-fallback a:hover {
  background-color: #8dc155;
  color: #fff;
  text-decoration: none;
  transform: translateY(-2px);
}

/* IP Logo/Branding Akzent */
.fb-banner::after {
  content: 'INTERPRACE';
  position: absolute;
  bottom: 5px;
  right: 10px;
  font-size: 9px;
  color: #8dc155;
  font-weight: 700;
  letter-spacing: 1px;
  opacity: 0.6;
  font-family: 'Play', sans-serif;
}

/* Responsive: Volle Breite auf mobilen Geräten */
@media (max-width: 768px) {
  .fb-banner {
    max-width: 100%;
    margin: 20px 10px;
  }

  .fb-banner-header {
    padding: 10px;
  }

  .fb-banner-header img {
    max-height: 50px;
  }
}

/* --- Facebook Follower Badge (Static - No API) --- */



/* --- Geomap Front --- */

.featured-top__inner {
  width: 100%;
  max-width: 100%;
  margin: 0px;
  padding: 0;
}

.featured-top__inner .block-views-blockfront-block-2 {
  border-top: 1px solid #fff;
}

/* --- Hauptkategorien Cards --- */

.hauptkategorien {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 10px 10px 0 10px;
  height: 100%;
  box-sizing: border-box;
  z-index: 1;
}

.hauptkategorien .card {
  height: 100% !important;
  border-bottom: 5px solid #8bc34a;
  position: relative;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  overflow: hidden;
  transition: all 0.3s ease;
}

.hauptkategorien .card:hover {
  border-color: #8bc34a;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  transform: translateY(-3px);
}

/* Responsive images with consistent sizing */
.hauptkategorien .card img,
.hauptkategorien .card-img-top {
  width: 100%;
  height: 180px;
  object-fit: cover;
  object-position: center;
}

.hauptkategorien .card-body {
  margin: 0;
  text-align: center;
  padding: 10px;
  position: absolute;
  background-color: rgba(255,255,255, 0.9);
  width: 100%;
  bottom: 0;
  left: 0;
}

.hauptkategorien .card-text {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  max-height: 4.5em;
  line-height: 1.2;
}

/* Card link improvements */
.hauptkategorien .card a,
.block-views-blockbasisinfo-block-5 .card a,
.block-views-blockfront-block-6 .card a {
  color: #032373;
  font-weight: 500;
  text-decoration: none;
  display: block;
  transition: all 0.2s ease;
}

/* Fokus-Rahmen nur bei Tastaturbedienung (:focus-visible), nicht mehr beim Mausklick */
.hauptkategorien .card a:focus-visible,
.block-views-blockbasisinfo-block-5 .card a:focus-visible,
.block-views-blockfront-block-6 .card a:focus-visible {
  outline: 2px solid #8dc155;
  outline-offset: -2px;
}

/* Basisinfo cards */
#block-boot-sub-views-block-basisinfo-block-5 .card-text {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  max-height: 4.5em;
}

/* --- Front Block 3: Top Angebote Grid --- */
/* View: front (Block 3) - Top Stellenangebote Grid */

.block-views-blockfront-block-3 .views-view-responsive-grid__item,
.front-grid .views-view-responsive-grid__item,
.top-attachment .views-view-responsive-grid__item {
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  padding: 0;
  display: flex;
  flex-direction: column;
  transition: all 0.2s ease;
  overflow: hidden;
  position: relative;
}

.block-views-blockfront-block-3 .views-view-responsive-grid__item:hover,
.front-grid .views-view-responsive-grid__item:hover,
.top-attachment .views-view-responsive-grid__item:hover,
.block-views-blockfront-block-5 .views-view-responsive-grid__item:hover {
  border-color: #e9ecef;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* Block 3 only: overflow visible, damit der TOP-Tab oben aus der Karte herausragen kann
   (geteilte Regel oben setzt overflow:hidden fuer block_3/.front-grid/.top-attachment gemeinsam) */
.block-views-blockfront-block-3 .views-view-responsive-grid__item {
  overflow: visible;
}

/* Header: Flag + Category */
.block-views-blockfront-block-3 .views-field-nothing,
.front-grid .views-field-nothing,
.top-attachment .views-field-nothing {
  display: flex;
  align-items: center;
  gap: 6px;
  background: #F4F8FF;
  padding: 8px 12px;
  padding-right: 32px;
  border-bottom: 2px solid #e9ecef;
  font-size: 0.8em;
  color: #555;
  order: -10 !important;
  width: 100%;
  box-sizing: border-box;
}

/* Check icon top right absolute */
.block-views-blockfront-block-3 .views-field-field-top-angebot,
.front-grid .views-field-field-top-angebot,
.top-attachment .views-field-field-top-angebot {
  position: absolute !important;
  top: 6px;
  right: 8px;
  order: 0;
  z-index: 10;
}

.block-views-blockfront-block-3 .views-field-field-top-angebot .material-icons,
.front-grid .views-field-field-top-angebot .material-icons,
.top-attachment .views-field-field-top-angebot .material-icons {
  color: #8bc34a;
  font-size: 1.2em;
}

/* Title: Large and prominent */
.block-views-blockfront-block-3 .views-field-title,
.front-grid .views-field-title,
.top-attachment .views-field-title {
  order: 10 !important;
  padding: 12px;
  flex: 1;
  display: block;
  width: 100% !important;
  box-sizing: border-box;
}

/* Subtitle: After title, before logo */
.block-views-blockfront-block-3 .views-field-field-untertitel,
.front-grid .views-field-field-untertitel,
.top-attachment .views-field-field-untertitel {
  order: 15 !important;
  padding: 0 12px 12px 12px;
  width: 100% !important;
  box-sizing: border-box;
  color: #6c757d;
  font-size: 1rem;
  line-height: 1.4;
}

.block-views-blockfront-block-3 .views-field-title .field-content,
.block-views-blockfront-block-3 .views-field-title h3,
.block-views-blockfront-block-3 .views-field-title h4,
.block-views-blockfront-block-3 .views-field-title h5,
.front-grid .views-field-title .field-content,
.front-grid .views-field-title h4,
.front-grid .views-field-title h5,
.top-attachment .views-field-title .field-content,
.top-attachment .views-field-title h3,
.top-attachment .views-field-title h4,
.top-attachment .views-field-title h5 {
  font-size: 1.4rem;
  font-weight: 400;
  color: var(--text-ueberschrift);
  margin: 0;
  padding: 0 !important;
  line-height: 1.4;
  width: 100% !important;
  /* Max 3 lines with ellipsis */
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.block-views-blockfront-block-3 .views-field-title h3 a,
.block-views-blockfront-block-3 .views-field-title h4 a,
.block-views-blockfront-block-3 .views-field-title h5 a,
.front-grid .views-field-title h4 a,
.front-grid .views-field-title h5 a,
.top-attachment .views-field-title h3 a,
.top-attachment .views-field-title h4 a,
.top-attachment .views-field-title h5 a {
  color: var(--text-ueberschrift);
  text-decoration: none;
  transition: color 0.2s ease;
}

.block-views-blockfront-block-3 .views-view-responsive-grid__item:hover .views-field-title h3 a,
.block-views-blockfront-block-3 .views-view-responsive-grid__item:hover .views-field-title h4 a,
.block-views-blockfront-block-3 .views-view-responsive-grid__item:hover .views-field-title h5 a,
.front-grid .views-view-responsive-grid__item:hover .views-field-title h4 a,
.front-grid .views-view-responsive-grid__item:hover .views-field-title h5 a,
.top-attachment .views-view-responsive-grid__item:hover .views-field-title h3 a,
.top-attachment .views-view-responsive-grid__item:hover .views-field-title h4 a,
.top-attachment .views-view-responsive-grid__item:hover .views-field-title h5 a {
  color: #0071b3;
}

/* Inner container: Flexbox for logo positioning */
.block-views-blockfront-block-3 .views-view-responsive-grid__item-inner,
.front-grid .views-view-responsive-grid__item-inner,
.top-attachment .views-view-responsive-grid__item-inner {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

/* Logo: Bottom edge, centered (all aligned) */
.block-views-blockfront-block-3 .views-field-field-logo,
.block-views-blockfront-block-3 .views-field-field-logo-url,
.front-grid .views-field-field-logo,
.front-grid .views-field-field-logo-url,
.top-attachment .views-field-field-logo {
  order: 20 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 8px 12px 12px;
  width: 100%;
  box-sizing: border-box;
  margin-top: auto !important;
}

.block-views-blockfront-block-3 .views-field-field-logo img,
.block-views-blockfront-block-3 .views-field-field-logo-url img,
.front-grid .views-field-field-logo img,
.front-grid .views-field-field-logo-url img,
.top-attachment .views-field-field-logo img {
  max-width: 80px;
  max-height: 80px;
  width: auto;
  height: auto;
  object-fit: contain;
}

/* Block 3 only: restructure card bottom into a Firma footer (logo + company name together, centered) */
.block-views-blockfront-block-3 .views-view-responsive-grid__item-inner {
  display: grid !important;
  grid-template-rows: auto auto 1fr auto !important;
  grid-template-columns: 1fr auto auto 1fr !important;
  height: 100% !important;
  position: relative;
}

.block-views-blockfront-block-3 .views-view-responsive-grid__item-inner::after {
  content: "";
  grid-row: 4;
  grid-column: 1 / -1;
  background: #eaf2fb;
  border-top: 1px solid #cfe0f4;
}

.block-views-blockfront-block-3 .views-field-nothing {
  grid-column: 1 / -1;
  flex-wrap: nowrap !important;
}

/* Der innere .field-content-Wrapper ist selbst ein eigener Flex-Container.
   Die geteilte Regel ".view-front .views-field-nothing .field-content"
   (Zeile ~2797, fuer .top-attachment/andere View-front-Bloecke gedacht)
   setzt flex-wrap:wrap mit gleicher Spezifitaet und gewinnt durch spaetere
   Position in der Kaskade - ohne !important hier bricht die Kopfzeile bei
   schmalen Karten auf zwei Zeilen um, auch wenn .views-field-nothing selbst
   schon nowrap hat. min-width:0 erlaubt dem Flex-Item .category-truncate,
   unter seine content-basierte Breite zu schrumpfen. */
.block-views-blockfront-block-3 .views-field-nothing .field-content {
  flex-wrap: nowrap !important;
  min-width: 0;
}

/* Kategorie in der Kopfzeile: waechst flexibel in den verfuegbaren Platz
   zwischen Land/Punkt und Datum/TOP-Badge (statt fester max-width), kuerzt
   per Ellipsis nur wenn wirklich kein Platz mehr da ist. min-width:0 ist
   noetig, damit text-overflow innerhalb eines Flex-Items greift. */
.block-views-blockfront-block-3 .views-field-nothing .category-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: inline-block;
  flex: 1 1 auto;
  min-width: 0;
  vertical-align: bottom;
}

.block-views-blockfront-block-3 .views-field-nothing .ct-dot {
  flex-shrink: 0;
}

/* field_datum muss vor "nothing" in der Views-Feldreihenfolge stehen, damit
   {{ field_datum }} im nothing-Rewrite verfuegbar ist (Views-Token-Regel) -
   das eigenstaendige Feld-Element selbst wird nicht gebraucht, nur als Token. */
.block-views-blockfront-block-3 .views-field-field-datum {
  display: none;
}

/* Startdatum in der Kopfzeile, rechtsbuendig vor dem TOP-Tab */
.block-views-blockfront-block-3 .views-field-nothing .card-date {
  margin-left: auto;
  flex-shrink: 0;
  color: #6c757d;
  font-size: 0.95em;
  white-space: nowrap;
}

/* TOP-Tab: Reiter, der oben rechts aus der Karte herausragt (statt Inline-Pill in der Kopfzeile) */
.block-views-blockfront-block-3 .views-field-nothing .badge-top {
  position: absolute;
  top: 1px;
  right: 16px;
  transform: translateY(-100%);
  margin-left: 0;
  padding: 4px 14px 5px;
  font-weight: 700;
  font-size: 0.78em;
  letter-spacing: 0.07em;
  line-height: 1.4;
  color: #fff;
  background: #8dc157;
  border-radius: 6px 6px 0 0;
  box-shadow: 0 -1px 3px rgba(0,0,0,0.08);
  z-index: 5;
}

.block-views-blockfront-block-3 .views-field-title,
.block-views-blockfront-block-3 .views-field-field-untertitel {
  grid-column: 1 / -1;
}

.block-views-blockfront-block-3 .views-field-title {
  grid-row: 2;
}

.block-views-blockfront-block-3 .views-field-field-untertitel {
  grid-row: 3;
  align-self: start;
}

.block-views-blockfront-block-3 .views-field-field-logo,
.block-views-blockfront-block-3 .views-field-field-logo-url {
  grid-column: 2;
  grid-row: 4;
  order: initial !important;
  justify-content: flex-start !important;
  padding: 8px 4px 8px 0 !important;
  margin-top: 0 !important;
  width: auto;
  z-index: 1;
}

.block-views-blockfront-block-3 .views-field-field-logo img,
.block-views-blockfront-block-3 .views-field-field-logo-url img {
  max-width: 50px !important;
  max-height: 50px !important;
}

.block-views-blockfront-block-3 .views-field-field-firma-name {
  grid-column: 3;
  grid-row: 4;
  display: flex;
  align-items: center;
  padding: 8px 0 8px 4px;
  z-index: 1;
}

.block-views-blockfront-block-3 .views-field-field-firma-name .field-content {
  font-size: 0.85em;
  font-weight: 600;
  color: var(--text-ueberschrift);
  line-height: 1.3;
}

.block-views-blockfront-block-3 .views-field-field-logo:empty,
.block-views-blockfront-block-3 .views-field-field-logo-url:empty {
  display: none !important;
}
.block-views-blockfront-block-3 .views-view-responsive-grid__item-inner:has(.views-field-field-logo:empty, .views-field-field-logo-url:empty) .views-field-field-firma-name,
.block-views-blockfront-block-3 .views-view-responsive-grid__item-inner:not(:has(.views-field-field-logo, .views-field-field-logo-url)) .views-field-field-firma-name {
  grid-column: 1 / -1;
}

/* Fallback fuer angebot_stelle: field_firma_name/field_logo sind direkte Node-Felder und
   nur bei stellenangebot befuellt. Bei angebot_stelle kommen Firmenname/Logo stattdessen
   ueber die field_anbieter_firma-Relationship (field_firma_name_1/field_logo_1/field_logo_link
   auf dem referenzierten anbietr_firma-Node). Die _1/_link-Variante nur zeigen, wenn das
   direkte Feld leer ist, sonst wuerde bei stellenangebot die Firmenzeile doppelt erscheinen. */
.block-views-blockfront-block-3 .views-field-field-firma-name-1,
.block-views-blockfront-block-3 .views-field-field-logo-1,
.block-views-blockfront-block-3 .views-field-field-logo-link {
  display: none;
}

.block-views-blockfront-block-3 .views-view-responsive-grid__item-inner:has(.views-field-field-firma-name .field-content:empty) .views-field-field-firma-name-1 {
  display: flex;
  grid-column: 3;
  grid-row: 4;
  align-items: center;
  padding: 8px 0 8px 4px;
  z-index: 1;
}

.block-views-blockfront-block-3 .views-field-field-firma-name-1 .field-content {
  font-size: 0.85em;
  font-weight: 600;
  color: var(--text-ueberschrift);
  line-height: 1.3;
}

.block-views-blockfront-block-3 .views-view-responsive-grid__item-inner:not(:has(.views-field-field-logo img, .views-field-field-logo-url img)) .views-field-field-logo-1,
.block-views-blockfront-block-3 .views-view-responsive-grid__item-inner:not(:has(.views-field-field-logo img, .views-field-field-logo-url img)) .views-field-field-logo-link {
  display: flex;
  grid-column: 2;
  grid-row: 4;
  justify-content: flex-start;
  padding: 8px 4px 8px 0;
  z-index: 1;
}

.block-views-blockfront-block-3 .views-field-field-logo-1 img,
.block-views-blockfront-block-3 .views-field-field-logo-link img {
  max-width: 50px !important;
  max-height: 50px !important;
}

/* Wenn field_logo_1 UND field_logo_link beide befuellt sind (beide ueber dieselbe
   Relationship), nur field_logo_1 (echtes Bildfeld) zeigen, field_logo_link ausblenden */
.block-views-blockfront-block-3 .views-view-responsive-grid__item-inner:has(.views-field-field-logo-1 img) .views-field-field-logo-link {
  display: none;
}

.block-views-blockfront-block-3 .views-view-responsive-grid__item-inner:not(:has(.views-field-field-logo img, .views-field-field-logo-url img, .views-field-field-logo-1 img, .views-field-field-logo-link img)) .views-field-field-firma-name-1 {
  grid-column: 1 / -1;
}

/* Firmenname im Footer kommt aus Content: Titel der Firma (Relationship, Feld title_1).
   Nur wenn keine Firma referenziert ist (Altbestand stellenangebot), bleibt das eigene
   field_firma_name als Fallback sichtbar. Logo + Name stehen in einer Zeile (Spalte 2/3, Zeile 4). */
.block-views-blockfront-block-3 .views-field-title-1 {
  display: flex;
  grid-column: 3;
  grid-row: 4;
  align-items: center;
  padding: 8px 0 8px 4px;
  z-index: 1;
}
.block-views-blockfront-block-3 .views-field-title-1:empty {
  display: none;
}
.block-views-blockfront-block-3 .views-field-title-1 a {
  font-size: 0.85em;
  font-weight: 600;
  color: var(--text-ueberschrift);
  line-height: 1.3;
  text-decoration: none;
}
.block-views-blockfront-block-3 .views-view-responsive-grid__item-inner:has(.views-field-title-1 a) .views-field-field-firma-name {
  display: none;
}
.block-views-blockfront-block-3 .views-view-responsive-grid__item-inner:not(:has(.views-field-field-logo img, .views-field-field-logo-url img, .views-field-field-logo-1 img, .views-field-field-logo-link img)) .views-field-title-1 {
  grid-column: 1 / -1;
}

/* --- Front Block 5: Top Arbeitgeber Grid (Firmenkarten-Design) --- */
/* View: front (Block 5) - eigenstaendig, NICHT mit Block 6 teilen (Block 6 = Basisinfo-Fotokarten, anderer Anwendungsfall) */

.block-views-blockfront-block-5 .views-view-responsive-grid__item {
  background: #eaf2fb;
  border: 1px solid #cfe0f4;
  border-radius: 8px;
  padding: 0;
  display: flex;
  flex-direction: column;
  transition: all 0.2s ease;
  overflow: hidden;
  position: relative;
}

/* Header: Flag + Land + Kategorie (Kopfzeile) */
.block-views-blockfront-block-5 .views-field-nothing {
  display: flex;
  align-items: center;
  gap: 6px;
  background: #fff;
  padding: 8px 12px;
  padding-right: 32px;
  border-bottom: 1px solid #cfe0f4;
  font-size: 0.8em;
  color: #555;
  width: 100%;
  box-sizing: border-box;
}

/* Land (field_firmensitz_land, sichtbares Feld statt Twig-Token - siehe Doku:
   der Token-Ansatz ueber field_anbieter_firma-Relationship im nothing-Rewrite
   war im echten Block-Renderpfad nicht deterministisch, deshalb als eigenes
   sichtbares Feld gelöst und hier per CSS optisch in die Kopfzeile eingereiht.
   Sitzt im DOM VOR .views-field-nothing, bekommt dieselbe Optik, aber ohne
   eigenen unteren Rand (den traegt .views-field-nothing bereits). */
.block-views-blockfront-block-5 .views-field-field-firmensitz-land {
  display: flex;
  align-items: center;
  background: #fff;
  padding: 8px 0 0 12px;
  font-size: 0.8em;
  color: #555;
  width: 100%;
  box-sizing: border-box;
}

.block-views-blockfront-block-5 .views-field-field-firmensitz-land + .views-field-nothing {
  padding-top: 0;
  border-top: none;
}

/* Firmenname: prominent, mittig.
   min-height reserviert konstant Platz fuer 2 Zeilen (line-height 1.3 * 2 * font-size 1.1em),
   damit 1-zeilige und 2-zeilige Namen (z.B. WELOG vs. "MAERZ Garten-, Landschafts- ...")
   nicht zu unterschiedlichen Kartenhoehen fuehren. */
.block-views-blockfront-block-5 .views-field-field-anbieter-firma {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  box-sizing: border-box;
  padding: 4px 16px 12px;
  min-height: 3.15em;
}

.block-views-blockfront-block-5 .views-field-field-anbieter-firma .field-content {
  font-size: 1.1em;
  font-weight: 600;
  color: #0c447c;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.block-views-blockfront-block-5 .views-field-field-anbieter-firma .field-content a {
  color: #0c447c;
  text-decoration: none;
}

.block-views-blockfront-block-5 .views-field-field-anbieter-firma .field-content a:hover {
  text-decoration: underline;
}

/* Check icon top right absolute */
.block-views-blockfront-block-5 .views-field-field-top-angebot {
  position: absolute !important;
  top: 6px;
  right: 8px;
  z-index: 10;
}

.block-views-blockfront-block-5 .views-field-field-top-angebot .material-icons {
  color: #8bc34a;
  font-size: 1.2em;
}

/* Inner container: Flexbox for logo positioning */
.block-views-blockfront-block-5 .views-view-responsive-grid__item-inner {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

/* Logo: top of card, centered, badge-style.
   Feste Hoehe auf den Container (nicht nur max-height am img), damit schmale/breite
   Logos (MAERZ, Seebauer) und quadratische (WELOG) optisch gleich viel Platz einnehmen -
   sonst wirken die Karten durch unterschiedliche Logo-Seitenverhaeltnisse unruhig. */
.block-views-blockfront-block-5 .views-field-field-image {
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 28px 12px 8px;
  width: 100%;
  height: 110px;
  box-sizing: border-box;
}

.block-views-blockfront-block-5 .views-field-field-image img {
  max-width: 150px;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  background: #fff;
  border: 1px solid #cfe0f4;
  border-radius: 8px;
  padding: 6px;
  box-sizing: border-box;
}

/* Title: small, muted, job link at bottom of card */
.block-views-blockfront-block-5 .views-field-title {
  padding: 10px 12px 12px;
  display: block;
  width: 100% !important;
  box-sizing: border-box;
  text-align: center;
  margin-top: auto !important;
  border-top: 1px solid #cfe0f4;
}

.block-views-blockfront-block-5 .views-field-title .field-content,
.block-views-blockfront-block-5 .views-field-title h3,
.block-views-blockfront-block-5 .views-field-title h4,
.block-views-blockfront-block-5 .views-field-title h5 {
  font-size: 1rem !important;
  font-weight: 400;
  color: #185fa5 !important;
  margin: 0;
  padding: 0 !important;
  line-height: 1.4;
  width: 100% !important;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.block-views-blockfront-block-5 .job-label {
  display: block;
  font-size: 1rem;
  font-weight: 500;
  color: #888780;
  margin-bottom: 2px;
}

.block-views-blockfront-block-5 .views-field-title h3 a,
.block-views-blockfront-block-5 .views-field-title h4 a,
.block-views-blockfront-block-5 .views-field-title h5 a {
  font-size: 1rem !important;
  color: #185fa5 !important;
  text-decoration: underline;
  transition: color 0.2s ease;
}

.block-views-blockfront-block-5 .views-view-responsive-grid__item:hover .views-field-title h4 a,
.block-views-blockfront-block-5 .views-view-responsive-grid__item:hover .views-field-title h5 a {
  color: #0071b3 !important;
}

/* Override: block_5 teilt die .front-grid-Klasse mit block_3/.top-attachment,
   deren order-Regeln (Zeile ~1250) sonst auch hier greifen wuerden.
   block_5 soll stattdessen der Views-Feldreihenfolge folgen (kein order). */
.block-views-blockfront-block-5 .views-field-nothing,
.block-views-blockfront-block-5 .views-field-title,
.block-views-blockfront-block-5 .views-field-field-untertitel {
  order: initial !important;
}

/* --- Front Block 6: Basisinfo Cards (Foto-Karten, eigener unveraenderter Stil) --- */
/* View: front (Block 6) - Uses same .front-grid layout as Block 3, urspruengliches Design beibehalten */

.block-views-blockfront-block-6 .views-view-responsive-grid__item {
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  padding: 0;
  display: flex;
  flex-direction: column;
  transition: all 0.2s ease;
  overflow: hidden;
  position: relative;
}

.block-views-blockfront-block-6 .views-view-responsive-grid__item:hover {
  border-color: #8bc34a;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.block-views-blockfront-block-6 .views-field-field-top-angebot {
  position: absolute !important;
  top: 6px;
  right: 8px;
  z-index: 10;
}

.block-views-blockfront-block-6 .views-field-field-top-angebot .material-icons {
  color: #8bc34a;
  font-size: 1.2em;
}

.block-views-blockfront-block-6 .views-view-responsive-grid__item-inner {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

.block-views-blockfront-block-6 .views-field-field-z-kladn-informacee {
  order: -20 !important;
  width: 100%;
  box-sizing: border-box;
  border-top: 3px solid #8bc34a;
  margin-bottom: 0;
  /* Padding/Hintergrund am Wrapper, damit line-clamp keine dritte Zeile im Padding durchscheinen laesst */
  padding: 8px 12px;
  background: #f2f8ea;
  border-bottom: 2px solid #dcebc8;
}

.block-views-blockfront-block-6 .views-view-responsive-grid__item-inner .views-field-field-z-kladn-informacee .field-content {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  background: none;
  border: 0;
  padding: 0;
  font-size: 0.8em;
  line-height: 1.3;
  color: #4a6b2a;
}

.block-views-blockfront-block-6 .views-field-field-image {
  order: -10 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  box-sizing: border-box;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  margin-top: -8px;
}

.block-views-blockfront-block-6 .views-field-field-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
}

.block-views-blockfront-block-6 .views-field-title {
  order: 10 !important;
  padding: 12px;
  flex: 1;
  display: block;
  width: 100% !important;
  box-sizing: border-box;
}

.block-views-blockfront-block-6 .views-field-title .field-content, .block-views-blockfront-block-6 .views-field-title h4, .block-views-blockfront-block-6 .views-field-title h5 {
  font-size: 1.2rem !important;
  font-weight: 400;
  color: #185fa5 !important;
  margin: 0;
  padding: 0 !important;
  line-height: 1.2;
  width: 100% !important;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.block-views-blockfront-block-6 .views-field-title h4 a,
.block-views-blockfront-block-6 .views-field-title h5 a {
  color: #185fa5 !important;
  text-decoration: none;
  transition: color 0.2s ease;
}

.block-views-blockfront-block-6 .views-view-responsive-grid__item:hover .views-field-title h4 a,
.block-views-blockfront-block-6 .views-view-responsive-grid__item:hover .views-field-title h5 a {
  color: #0071b3 !important;
}

.block-views-blockfront-block-6 .views-field-field-untertitel {
  order: 15 !important;
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  min-height: 3.15em;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  background: #f7fbf1;
  border-top: 1px solid #e2efd0;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.3;
  color: #3d6b14;
}

.block-views-blockfront-block-6 .views-field-field-logo {
  order: 20 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 8px 12px 12px;
  width: 100%;
  box-sizing: border-box;
  margin-top: auto !important;
}

.block-views-blockfront-block-6 .views-field-field-logo img {
  max-width: 80px;
  max-height: 80px;
  width: auto;
  height: auto;
  object-fit: contain;
}

/* Front Block 5 & 6: Full width for title */
.block-views-blockfront-block-5 .views-view-responsive-grid__item-inner > .views-field-title,
.block-views-blockfront-block-6 .views-view-responsive-grid__item-inner > .views-field-title {
  padding-right: 12px !important;
}

/* --- Front Block 6: Basisinfo Cards --- */

.block-views-blockbasisinfo-block-6 .card {
  height: 225px !important;
  border-bottom: 5px solid #8bc34a;
  margin: 0 10px;
}

.block-views-blockfront-block-6 .card-title,
.card-text {
  font-size: .9em;
}

.block-views-blockfront-block-6 .card-title {
  border-bottom: 1px solid #eee;
  padding-bottom: 10px;
}




/* ========================================
   7. BLOCKS - BASISINFO
   ======================================== */

/* --- Basisinfo Sidebar (col-sm-3) --- */

/* Exposed filter (block-8) */
#views-exposed-form-basisinfo-block-8 {
  background-color: #f8f9fa;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 15px;
  border-radius: 8px;
  margin-bottom: 15px;
  border: 1px solid #e9ecef;
}

#views-exposed-form-basisinfo-block-8 .form-select {
  background-color: #fff;
  width: 100%;
  box-sizing: border-box;
  padding: 10px 12px;
  border: 1px solid #ddd;
  border-radius: 5px;
  font-size: 0.9em;
}

#views-exposed-form-basisinfo-block-8 .form-type-select {
  margin: 0;
}

#views-exposed-form-basisinfo-block-8 .form-type-select label {
  color: #666;
  font-size: 0.75em;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 4px;
  display: block;
}

/* Basisinfo sidebar cards (block-4) */
.block-views-blockbasisinfo-block-4 .views-view-responsive-grid__item {
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 15px;
  transition: all 0.3s ease;
}

.block-views-blockbasisinfo-block-4 .views-view-responsive-grid__item:hover {
  border-color: #8bc34a;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* Image */
.block-views-blockbasisinfo-block-4 .views-field-field-bild {
  width: 100%;
  display: block;
}

.block-views-blockbasisinfo-block-4 .views-field-field-bild img {
  width: 100% !important;
  height: 140px;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Text area */
.block-views-blockbasisinfo-block-4 .views-view-responsive-grid__item-inner {
  display: flex;
  flex-direction: column;
}

.block-views-blockbasisinfo-block-4 .views-field-title {
  padding: 12px 12px 0 !important;
}

.block-views-blockbasisinfo-block-4 .views-field-title h4 {
  font-size: 1.1em;
  font-weight: 600;
  color: var(--text-ueberschrift);
  margin: 0;
  line-height: 1.3;
}

.block-views-blockbasisinfo-block-4 .views-field-title h4 a {
  color: var(--text-ueberschrift);
  text-decoration: none;
  transition: color 0.2s ease;
}

.block-views-blockbasisinfo-block-4 .views-view-responsive-grid__item:hover .views-field-title h4 a {
  color: #8bc34a;
}

.block-views-blockbasisinfo-block-4 .views-field-field-untertitel {
  padding: 8px 12px 12px !important;
}

.block-views-blockbasisinfo-block-4 .views-field-field-untertitel h5 {
  font-size: 0.85em;
  color: #777;
  margin: 0;
  font-weight: 400;
  line-height: 1.4;
  /* Max 3 lines */
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Full-width images for block 4 */
.block-views-blockbasisinfo-block-4 img,
.block-views-blockbasisinfo-block-4 .views-field img,
.block-views-blockbasisinfo-block-4 .card-img,
.block-views-blockbasisinfo-block-4 .card-img-top {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  object-fit: cover !important;
}

.block-views-blockbasisinfo-block-4 .card {
  overflow: hidden !important;
}

.block-views-blockbasisinfo-block-4 .card-body {
  padding: 15px !important;
}

.block-views-blockbasisinfo-block-4 .views-field-field-bild {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
}

.block-views-blockbasisinfo-block-4 .views-view-responsive-grid__item-inner > .views-field-field-bild img,
.block-views-blockbasisinfo-block-4 .views-field-field-bild img {
  width: 100% !important;
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
}

/* Basisinfo Block 4: Sidebar - no logo padding */
.block-views-blockbasisinfo-block-4 .views-view-responsive-grid__item-inner > .views-field-title,
.block-views-blockbasisinfo-block-4 .views-view-responsive-grid__item-inner > .views-field-field-untertitel {
  padding-right: 12px !important;
}

/* --- Basisinfo Main Content (block-8) --- */

/* Grid container */
.block-views-blockbasisinfo-block-8 .views-view-responsive-grid {
  gap: 15px;
}

/* Individual cards */
.block-views-blockbasisinfo-block-8 .views-view-responsive-grid__item {
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  overflow: hidden;
  transition: all 0.25s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.block-views-blockbasisinfo-block-8 .views-view-responsive-grid__item:hover {
  border-color: #8bc34a;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}

/* Inner container */
.block-views-blockbasisinfo-block-8 .views-view-responsive-grid__item-inner {
  padding: 0;
  display: flex;
  flex-direction: column;
}

/* Header (flag + category) */
.block-views-blockbasisinfo-block-8 .views-field-nothing,
.basisinfo-main .views-field-nothing {
  background: #f0f7e8;
  padding: 10px 15px;
  border-bottom: 1px solid #e9ecef;
  font-size: 0.85rem;
  color: #666;
  display: flex;
  align-items: center;
  gap: 8px;
}

.block-views-blockbasisinfo-block-8 .views-field-nothing img {
  width: 24px;
  height: 16px;
  object-fit: cover;
  border-radius: 2px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.1);
}

/* Title */
.block-views-blockbasisinfo-block-8 .views-field-title {
  padding: 15px 15px 8px 15px;
}

.block-views-blockbasisinfo-block-8 .views-field-title a {
  color: var(--text-ueberschrift);
  font-size: 1.1rem;
  font-weight: 600;
  text-decoration: none;
  line-height: 1.4;
  display: block;
  transition: color 0.2s ease;
}

.block-views-blockbasisinfo-block-8 .views-field-title a:hover {
  color: #8bc34a;
}

/* Subtitle */
.block-views-blockbasisinfo-block-8 .views-field-field-untertitel {
  padding: 0 15px 15px 15px;
  color: #6c757d;
  font-size: 0.9rem;
  line-height: 1.5;
}

/* Edit link */
.block-views-blockbasisinfo-block-8 .views-field-edit-node {
  position: absolute;
  top: 10px;
  right: 10px;
}

/* Card relative for absolute elements */
.block-views-blockbasisinfo-block-8 .views-view-responsive-grid__item {
  position: relative;
  margin-bottom: 10px;
}

/* Basisinfo Block 8: Main column - no logo padding */
.block-views-blockbasisinfo-block-8 .views-view-responsive-grid__item-inner > .views-field-title,
.block-views-blockbasisinfo-block-8 .views-view-responsive-grid__item-inner > .views-field-field-untertitel {
  padding-right: 15px !important;
}

/* Basisinfo exposed form: Desktop styling */
.views-exposed-form.views-exposed-form-basisinfo-block-8,
.block-views-blockbasisinfo-block-8 .views-exposed-form,
form#views-exposed-form-basisinfo-block-8 {
  background: #f0f7e8 !important;
  padding: 20px !important;
  margin: 20px 0 25px 0 !important;
  border-radius: 8px !important;
  border: 1px solid #d4e8c9 !important;
  display: flex !important;
  gap: 15px !important;
  align-items: flex-end !important;
  flex-wrap: wrap !important;
}

.views-exposed-form.views-exposed-form-basisinfo-block-8 .form-item,
.block-views-blockbasisinfo-block-8 .views-exposed-form .form-item,
form#views-exposed-form-basisinfo-block-8 .form-item {
  flex: 1 !important;
  min-width: 200px !important;
  margin: 0 !important;
}

.views-exposed-form.views-exposed-form-basisinfo-block-8 label,
.block-views-blockbasisinfo-block-8 .views-exposed-form label,
form#views-exposed-form-basisinfo-block-8 label {
  display: block !important;
  font-weight: 600 !important;
  font-size: 0.85em !important;
  color: #333 !important;
  margin-bottom: 6px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

.views-exposed-form.views-exposed-form-basisinfo-block-8 select,
.block-views-blockbasisinfo-block-8 .views-exposed-form select,
form#views-exposed-form-basisinfo-block-8 select {
  width: 100% !important;
  padding: 10px 12px !important;
  font-size: 1em !important;
  background: white !important;
  border: 1px solid #8dc157 !important;
  border-radius: 6px !important;
  color: #333 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%238dc157' d='M6 8L0 0h12z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 12px center !important;
  background-size: 12px !important;
  padding-right: 35px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.views-exposed-form.views-exposed-form-basisinfo-block-8 select:hover,
.views-exposed-form.views-exposed-form-basisinfo-block-8 select:focus,
.block-views-blockbasisinfo-block-8 .views-exposed-form select:hover,
.block-views-blockbasisinfo-block-8 .views-exposed-form select:focus,
form#views-exposed-form-basisinfo-block-8 select:hover,
form#views-exposed-form-basisinfo-block-8 select:focus {
  border-color: #7ab046 !important;
  box-shadow: 0 0 0 3px rgba(141, 193, 87, 0.1) !important;
  outline: none !important;
}

.views-exposed-form.views-exposed-form-basisinfo-block-8 .form-actions,
.block-views-blockbasisinfo-block-8 .views-exposed-form .form-actions,
form#views-exposed-form-basisinfo-block-8 .form-actions {
  margin: 0 !important;
}

/* --- Basisinfo Block 1: Body Text --- */

.block-views-blockbasisinfo-block-1 .views-field-body {
  line-height: 1.7;
  font-size: 1rem;
  color: #3b3b3b;
  padding: 0 4px;
}

/* Restore paragraph spacing (Materia sets p margin to 0) */
.block-views-blockbasisinfo-block-1 .views-field-body p {
  margin-top: 0;
  margin-bottom: 1em;
}

/* Inline <strong> as visual sub-headings */
.block-views-blockbasisinfo-block-1 .views-field-body strong {
  display: block;
  margin-top: 1.2em;
  margin-bottom: 0.3em;
  font-size: 1.05em;
  color: var(--text-ueberschrift);
}

/* --- Basisinfo Fullnode --- */

.node--type-basisinfo .views-field-nothing {
  background-color: rgb(237, 244, 230);
  margin: 20px 0;
  padding: 0 10px;
}

.node--type-basisinfo .views-field-field-untertitel h4 {
  color: #ccc;
  font-size: 1.2em;
  margin-bottom: 20px;
}

.node--type-basisinfo .views-field-nothing-1 {
  font-size: .8em;
  margin-bottom: 20px;
  border-bottom: 1px solid;
}

.node--type-basisinfo .col-sm-3 {
  background-color: #edf4e6;
  padding: 10px;
}

/* --- Basisinfo Taxonomy --- */

.vocabulary-z-kladn-informace .views-field-nothing {
  background-color: rgb(237, 244, 230);
  margin: 20px 0;
  padding: 0 10px;
}

.vocabulary-z-kladn-informace .col-sm-3 {
  background-color: rgb(237, 244, 230);
  padding: 10px;
}

.col-sm-9 .view-id-basisinfo .views-field-nothing {
  background-color: rgb(237, 244, 230);
}


/* ========================================
   8. BLOCKS - STELLENANGEBOTE
   ======================================== */

/* --- Alle Angebote Block 1: Main Grid --- */

/* Views grid layout for angebote */
#views-bootstrap-alle-angebote-block-1 .views-row {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  position: relative;
  margin-bottom: 20px;
  padding: 10px;
  background-color: #fff;
  border-radius: 5px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

#views-bootstrap-alle-angebote-block-1 .views-field-field-logo {
  flex: 0 0 150px;
  max-width: 150px;
  margin-left: 10px;
  align-self: center;
  text-align: center;
}

#views-bootstrap-alle-angebote-block-1 .views-field-field-logo img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

#views-bootstrap-alle-angebote-block-1 .views-field-title,
#views-bootstrap-alle-angebote-block-1 .views-field-field-untertitel {
  padding-right: 160px;
}

#views-bootstrap-alle-angebote-block-1 .views-field-title h3 {
  margin-top: 8px;
  margin-bottom: 8px;
}

#views-bootstrap-alle-angebote-block-1 .views-field-field-untertitel {
  margin-bottom: 10px;
}

/* Responsive adjustment for small screens */
@media (max-width: 767px) {
  #views-bootstrap-alle-angebote-block-1 .views-row {
    flex-direction: column;
  }

  #views-bootstrap-alle-angebote-block-1 .views-field-field-logo {
    flex: none;
    max-width: 100%;
    margin: 15px 0 0;
    order: 2;
  }

  #views-bootstrap-alle-angebote-block-1 .views-field-title,
  #views-bootstrap-alle-angebote-block-1 .views-field-field-untertitel {
    padding-right: 0;
  }
}

/* Geolocation Map Wrapper – explizite Höhe nötig damit Leaflet initialisiert */
.geolocation-map-wrapper {
  height: 400px;
}

/* --- Alle Angebote Block 2: Taxonomy Grid --- */
/* View: alle_angebote (Block 2) - Taxonomy term pages (main column col-sm-9) */

#views-bootstrap-alle-angebote-block-2 .geolocation-map-container,
.alle-angebote-grid .geolocation-map-container {
  margin: 0 0 20px;
  border: 1px solid #90cbf9;
  border-radius: 0.4rem;
  box-shadow: 0 4px 6px rgba(79, 144, 200, 0.25);
}

#views-bootstrap-alle-angebote-block-2 .views-field-title h3,
.alle-angebote-grid .views-field-title h3 {
  margin: 10px 0;
}

/* Titel-Typografie an die top-attachment-Karten angleichen (font + Farbe) */
#views-bootstrap-alle-angebote-block-2 .views-field-title .field-content,
#views-bootstrap-alle-angebote-block-2 .views-field-title h3,
#views-bootstrap-alle-angebote-block-2 .views-field-title h3 a,
.alle-angebote-grid .views-field-title .field-content,
.alle-angebote-grid .views-field-title h3,
.alle-angebote-grid .views-field-title h3 a {
  font-size: 1.4rem;
  font-weight: 400;
  color: var(--text-ueberschrift);
}

#views-bootstrap-alle-angebote-block-2 .views-field-field-untertitel h4,
.alle-angebote-grid .views-field-field-untertitel h4 {
  color: inherit;
  font-size: 1em;
}

#views-bootstrap-alle-angebote-block-2 .views-field-field-untertitel h5,
.alle-angebote-grid .views-field-field-untertitel h5 {
  font-weight: 400;
}

#views-bootstrap-alle-angebote-block-2 .views-label.views-label-field-bran-e-profese,
.alle-angebote-grid .views-label.views-label-field-bran-e-profese {
  float: left;
  padding-right: 5px;
}

#views-bootstrap-alle-angebote-block-2 .views-field-field-bran-e-profese,
.alle-angebote-grid .views-field-field-bran-e-profese {
  font-size: 1em;
  color: #c1c1c1;
  margin-left: 15px;
}

#views-bootstrap-alle-angebote-block-2 .view-header h2,
.alle-angebote-grid .view-header h2 {
  margin-bottom: 20px;
  border-bottom: 5px solid #8bc34a;
  font-family: 'play', sans-serif;
}

#views-bootstrap-alle-angebote-block-2 .views-field-field-logo,
.block-views-blockalle-angebote-block-2 .views-field-field-logo,
.alle-angebote-grid .views-field-field-logo {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  right: 15px !important;
  left: auto !important;
  max-width: 100px !important;
  border: 0 !important;
  padding: 5px !important;
  display: block !important;
  float: none !important;
  margin: 0 !important;
  text-align: right !important;
}

/* Show only first image if multiple exist */
#views-bootstrap-alle-angebote-block-2 .views-field-field-logo .field-content,
.block-views-blockalle-angebote-block-2 .views-field-field-logo .field-content,
.alle-angebote-grid .views-field-field-logo .field-content {
  display: flex;
  justify-content: flex-end;
}

#views-bootstrap-alle-angebote-block-2 .views-field-field-logo img,
.block-views-blockalle-angebote-block-2 .views-field-field-logo img,
.alle-angebote-grid .views-field-field-logo img {
  max-width: 100% !important;
  max-height: 50px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: inline-block !important;
}

/* Hide additional images if present */
#views-bootstrap-alle-angebote-block-2 .views-field-field-logo img:not(:first-child),
.block-views-blockalle-angebote-block-2 .views-field-field-logo img:not(:first-child),
.alle-angebote-grid .views-field-field-logo img:not(:first-child) {
  display: none !important;
}

#views-bootstrap-alle-angebote-block-2 .card,
#views-bootstrap-alle-angebote-block-2 .views-row,
#views-bootstrap-alle-angebote-block-2 .views-view-responsive-grid__item,
#views-bootstrap-alle-angebote-block-2 .views-view-responsive-grid__item-inner,
.block-views-blockalle-angebote-block-2 .card,
.block-views-blockalle-angebote-block-2 .views-row,
.block-views-blockalle-angebote-block-2 .views-view-responsive-grid__item,
.block-views-blockalle-angebote-block-2 .views-view-responsive-grid__item-inner,
.alle-angebote-grid .card,
.alle-angebote-grid .views-row,
.alle-angebote-grid .views-view-responsive-grid__item,
.alle-angebote-grid .views-view-responsive-grid__item-inner {
  position: relative;
}

#views-bootstrap-alle-angebote-block-2 .views-field-field-untertitel,
.alle-angebote-grid .views-field-field-untertitel {
  max-width: 90%;
}

#views-bootstrap-alle-angebote-block-2 .views-field-nothing,
.alle-angebote-grid .views-field-nothing {
  background-color: #f4f8ff;
  border-bottom: 3px solid #8dc157;
  margin-top: 30px;
  padding: 10px 15px;
  border-radius: 10px 10px 0 0;
}

#views-bootstrap-alle-angebote-block-2 .view-id-basisinfo .views-field-nothing,
.alle-angebote-grid .view-id-basisinfo .views-field-nothing {
  background-color: rgb(237, 244, 230);
}

/* Override: alle-angebote-block-2 - logo absolute positioned right center */
.block-views-blockalle-angebote-block-2 .views-view-responsive-grid__item-inner > .views-field-field-logo {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  right: 15px !important;
  left: auto !important;
  max-width: 100px !important;
  text-align: right !important;
}

/* Fallback fuer angebot_stelle: field_logo ist ein direktes Node-Feld und nur
   bei stellenangebot befuellt. angebot_stelle bezieht Logo stattdessen ueber
   die field_anbieter_firma-Relationship (field_logo_1 = Bildfeld, field_logo_link
   = Text-URL-Feld, als <img> gerendert). Gleiche Positionierung wie field_logo,
   aber nur sichtbar wenn field_logo leer ist; field_logo_link nur wenn zusaetzlich
   field_logo_1 kein Bild hat (Prioritaet: field_logo > field_logo_1 > field_logo_link).
   Alle drei Selektor-Praefixe noetig wie bei der field_logo-Basisregel oben -
   je nach Kartentyp traegt der View-Wrapper .alle-angebote-grid,
   #views-bootstrap-alle-angebote-block-2 ODER .block-views-blockalle-angebote-block-2. */
#views-bootstrap-alle-angebote-block-2 .views-view-responsive-grid__item-inner > .views-field-field-logo-1,
#views-bootstrap-alle-angebote-block-2 .views-view-responsive-grid__item-inner > .views-field-field-logo-link,
.block-views-blockalle-angebote-block-2 .views-view-responsive-grid__item-inner > .views-field-field-logo-1,
.block-views-blockalle-angebote-block-2 .views-view-responsive-grid__item-inner > .views-field-field-logo-link,
.alle-angebote-grid .views-view-responsive-grid__item-inner > .views-field-field-logo-1,
.alle-angebote-grid .views-view-responsive-grid__item-inner > .views-field-field-logo-link {
  display: none;
}

#views-bootstrap-alle-angebote-block-2 .views-view-responsive-grid__item-inner:not(:has(> .views-field-field-logo img)) > .views-field-field-logo-1,
.block-views-blockalle-angebote-block-2 .views-view-responsive-grid__item-inner:not(:has(> .views-field-field-logo img)) > .views-field-field-logo-1,
.alle-angebote-grid .views-view-responsive-grid__item-inner:not(:has(> .views-field-field-logo img)) > .views-field-field-logo-1 {
  display: block;
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  right: 15px !important;
  left: auto !important;
  max-width: 100px !important;
  text-align: right !important;
}

#views-bootstrap-alle-angebote-block-2 .views-view-responsive-grid__item-inner:not(:has(> .views-field-field-logo img, > .views-field-field-logo-1 img)) > .views-field-field-logo-link,
.block-views-blockalle-angebote-block-2 .views-view-responsive-grid__item-inner:not(:has(> .views-field-field-logo img, > .views-field-field-logo-1 img)) > .views-field-field-logo-link,
.alle-angebote-grid .views-view-responsive-grid__item-inner:not(:has(> .views-field-field-logo img, > .views-field-field-logo-1 img)) > .views-field-field-logo-link {
  display: block;
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  right: 15px !important;
  left: auto !important;
  max-width: 100px !important;
  text-align: right !important;
}

#views-bootstrap-alle-angebote-block-2 .views-field-field-logo-1 img,
#views-bootstrap-alle-angebote-block-2 .views-field-field-logo-link img,
.block-views-blockalle-angebote-block-2 .views-field-field-logo-1 img,
.block-views-blockalle-angebote-block-2 .views-field-field-logo-link img,
.alle-angebote-grid .views-field-field-logo-1 img,
.alle-angebote-grid .views-field-field-logo-link img {
  max-width: 100% !important;
  max-height: 50px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: inline-block !important;
}

/* Der top-attachment-Grid (View alle_angebote / attachment_3) liegt zwar im
   Block-Container block-2, soll aber das Front-Block-3-Karten-Design nutzen.
   Die block-2-spezifischen !important-Regeln oben werden hier zurueckgenommen. */
/* [entfernt 2026-09-07: Logo-static-Regeln fuer .top-attachment - Attachment nutzt
   jetzt die Normal-Block-Optik mit Logo absolut rechts, s. Badge-Block unten] */

.block-views-blockalle-angebote-block-2 .top-attachment .views-field-nothing {
  border-bottom: 2px solid #e9ecef !important;
  border-radius: 0 !important;
  margin-top: 0 !important;
  padding: 8px 12px !important;
  padding-right: 32px !important;
}

.block-views-blockalle-angebote-block-2 .top-attachment .views-field-field-untertitel {
  max-width: 100% !important;
}

/* --- Alle Angebote Block 3: Geomap --- */

.block-views-blockalle-angebote-block-3 .geolocation-map-container {
  margin-top: 0;
  border-radius: 12px;
  border: 1px solid #90cbf9;
  box-shadow: 0 4px 6px rgba(79, 144, 200, 0.25);
}

/* --- Alle Angebote Block 4: Top Angebote --- */

#views-bootstrap-alle-angebote-block-4 .views-field-nothing {
  background: #edf4e6;
  font-family: 'Play';
}

/* --- Angebote Suche Page --- */
/* View: angebote_suche (Page 1) */

.angebote-suche .geolocation-map-container {
  margin: 0 0 20px;
  border: 1px solid #90cbf9;
  border-radius: 0.4rem;
  box-shadow: 0 4px 6px rgba(79, 144, 200, 0.25);
}

/* Row/card – positioning context for logo */
.angebote-suche .card,
.angebote-suche .views-row,
.angebote-suche .views-view-responsive-grid__item,
.angebote-suche .views-view-responsive-grid__item-inner {
  position: relative;
}

/* Type tab: Stellenangebot / Basisinfo */
.angebote-suche .views-field-type {
  margin-top: 30px;
  margin-bottom: 0;
  padding-left: 12px;
}

.angebote-suche .views-field-type .field-content {
  display: inline-block;
  background-color: #9ec871; /* Default: ip-grün (basisinfo) */
  color: #fff;
  padding: 3px 10px;
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  border-radius: 4px 4px 0 0;
  position: relative;
  z-index: 1;
}

/* ip-blau for stellenangebot + angebot_stelle */
.angebote-suche .views-field-type .field-content:has(.type--stellenangebot),
.angebote-suche .views-field-type .field-content:has(.type--angebot_stelle) {
  background-color: #032373;
}

/* Row header (views-field-nothing) */
.angebote-suche .views-field-nothing {
  background-color: #f4f8ff;
  border-bottom: 3px solid #8dc157;
  margin-top: 0;
  padding: 10px 15px;
  border-radius: 10px 10px 0 0;
}

.angebote-suche .views-field-nothing .field-content {
  font-size: 1em;
}

/* Show only one flag per listing (Search API indexes parent terms) */
.angebote-suche .views-field-nothing img.image-style-flagge-20x10:not(:first-of-type) {
  display: none !important;
}

/* View header */
.angebote-suche .view-header h2 {
  margin-bottom: 20px;
  border-bottom: 5px solid #8bc34a;
  font-family: 'play', sans-serif;
}

/* Title */
.angebote-suche .views-field-title h3 {
  margin: 10px 0;
  font-weight: 700;
}

/* Subtitle */
.angebote-suche .views-field-field-untertitel {
  max-width: 90%;
}

.angebote-suche .views-field-field-untertitel h4 {
  color: inherit;
  font-size: 1em;
}

.angebote-suche .views-field-field-untertitel h5 {
  font-weight: 400;
}

/* Profession / category label */
.angebote-suche .views-label.views-label-field-bran-e-profese {
  float: left;
  padding-right: 5px;
}

.angebote-suche .views-field-field-bran-e-profese {
  font-size: 1em;
  color: #c1c1c1;
  margin-left: 15px;
}

/* Company logo – absolute right, vertically centered */
.angebote-suche .views-field-field-logo {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  right: 15px !important;
  left: auto !important;
  max-width: 100px !important;
  border: 0 !important;
  padding: 5px !important;
  display: block !important;
  float: none !important;
  margin: 0 !important;
  text-align: right !important;
}

.angebote-suche .views-field-field-logo .field-content {
  display: flex;
  justify-content: flex-end;
}

.angebote-suche .views-field-field-logo img {
  max-width: 100% !important;
  max-height: 50px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: inline-block !important;
}

/* Show only first logo image */
.angebote-suche .views-field-field-logo img:not(:first-child) {
  display: none !important;
}

/* --- Top Attachment Layout ---
   Der Block (View alle_angebote / attachment_3, .top-attachment) rendert als
   Responsive Grid und erbt das Karten-Design von Front Block 3 (siehe dort).
   Die frueheren Zeilen-Layout-Regeln (altes views-view-grid-Markup) sind
   entfallen. Nur die attachment-spezifische Top-Angebot-Kennzeichnung bleibt. */

/* Abstand zur Map darueber */
.top-attachment {
  margin-top: 60px;
}

.top-attachment .topp {
  float: right;
  margin-right: 20px;
  color: #032373;
}

.top-attachment .topp .material-icons {
  color: #8dc155;
  font-size: 1.5em;
}

/* --- Top-Angebot-Badge (.badge-top aus dem nothing-Rewrite von alle_angebote/attachment_1 und front/block_3) ---
   Die Kopfzeile .views-field-nothing ist bereits Flex (siehe Regel ~Z1229).
   .field-content ist ihr einziges Flex-Item -> es muss volle Breite bekommen
   und selbst Flex werden, damit .badge-top per margin-left:auto rechts landet. */
.top-attachment .views-field-nothing,
.view-front .views-field-nothing {
  border-top: 3px solid #8dc157;
}

.top-attachment .views-field-nothing .field-content,
.view-front .views-field-nothing .field-content {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 6px;
}

.top-attachment .badge-top,
.view-front .views-field-nothing .badge-top {
  margin-left: auto;
  display: inline-block;
  padding: 1px 9px;
  font-weight: 700;
  font-size: 0.82em;
  letter-spacing: 0.07em;
  line-height: 1.6;
  color: #fff;
  background: #8dc157;
  border-radius: 3px;
}

/* --- Exposed Filters --- */

/* Angebote exposed form */
#views-exposed-form-alle-angebote-block-1 {
  background-color: #F4F8FF;
  display: flex;
  justify-content: center;
  width: 100vw;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0px 0 0;
  padding: 15px;
  border-radius: 0 0 0 0;
}

#views-exposed-form-alle-angebote-block-1 .form-select {
  background-color: #fff;
  width: 16vw;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 11px;
  border: 1px solid #ccc;
  border-radius: 5px;
}

#views-exposed-form-alle-angebote-block-1 .form-type-select {
  margin: 0 20px;
}

#views-exposed-form-alle-angebote-block-1 .form-type-select label {
  color: #999;
  font-size: .8em;
}

/* Left column sidebar */
.col-sm-3 .block-views-blockfront-block-4 h2 {
  font-size: 1.4em;
}

.col-sm-3 .block-views-blockfront-block-4 .card {
  margin-top: 20px;
  padding: 3px;
}

.col-sm-3 .block-views-blockfront-block-4 .card-title {
  font-family: 'Play';
  font-size: 1em;
  border-bottom: 1px solid #eee;
  padding-bottom: 10px;
}


/* ========================================
   9. BLOCKS - TAXONOMY TERM
   ======================================== */

/* --- Taxonomy Sidebar (col-sm-3) --- */

/* Flag – grüne Karte */
.col-sm-3 .field--name-field-flagge,
.col-sm-3 .views-field-field-flagge {
  background: rgb(237, 244, 230);
  border: 1px solid #d4e8c7;
  border-radius: 8px;
  padding: 12px 16px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}

/* Description – weiße Karte mit grünem Akzent */
.col-sm-3 .views-field-description__value {
  background: #fff;
  border: 1px solid #d4e8c7;
  border-left: 3px solid #8dc157;
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 16px;
}

.col-sm-3 .views-field-description__value .field-content {
  font-size: 1.05rem;
  color: #444;
  text-align: left;
  line-height: 1.6;
  padding: 0;
}

.col-sm-3 .views-field-field-tax-image img {
  float: right;
  border-radius: .4rem;
}

/* Fallback when the taxonomy_term "card" view mode renders directly
   inside the view-empty region (no offer in the category yet).
   Matches the same look as the views-row description/image above. */
.col-sm-3 .view-empty .taxonomy-term > h2 {
  display: none;
}

.col-sm-3 .view-empty .taxonomy-term > .content {
  padding: 0;
}

.col-sm-3 .view-empty .field--name-description {
  background: #fff;
  border: 1px solid #d4e8c7;
  border-left: 3px solid #8dc157;
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 16px;
}

.col-sm-3 .view-empty .field--name-description .text-formatted,
.col-sm-3 .view-empty .field--name-description p {
  font-size: 1.05rem;
  color: #444;
  text-align: left;
  line-height: 1.6;
}

.col-sm-3 .view-empty .field--name-field-tax-image {
  background: #fff;
  border: 1px solid #d4e8c7;
  border-radius: 8px;
  padding: 8px;
  margin-bottom: 16px;
}

.col-sm-3 .view-empty .field--name-field-tax-image img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  margin-bottom: 0;
}

/* Category image top in sidebar */
.col-sm-3 .view-taxonomy-term .views-field-field-tax-image img {
  float: none;
  width: 100%;
  height: auto;
  border-radius: 8px;
  margin-bottom: 20px;
}

/* Image as its own card, matching the description card below it */
.col-sm-3 .views-field-field-tax-image {
  background: #fff;
  border: 1px solid #d4e8c7;
  border-radius: 8px;
  padding: 8px;
  margin-bottom: 16px;
}

.col-sm-3 .views-field-field-tax-image img {
  margin-bottom: 0;
}

/* --- Taxonomy Term Block 3: Sidebar Cards --- */

.block-views-blocktaxonomy-term-block-3 .views-view-responsive-grid__item {
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 15px;
  transition: all 0.3s ease;
}


.block-views-blocktaxonomy-term-block-3 .views-view-responsive-grid__item:hover {
  border-color: #8bc34a;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

/* Inner container with flexbox for order */
.block-views-blocktaxonomy-term-block-3 .views-view-responsive-grid__item-inner {
  display: flex !important;
  flex-direction: column !important;
}

/* Header (breadcrumb) - light green, at top */
.block-views-blocktaxonomy-term-block-3 .views-view-responsive-grid__item-inner > .views-field-nothing {
  order: -100 !important;
  background: rgb(237, 244, 230) !important;
  padding: 8px 12px;
  border-bottom: 1px solid #d4e8c7;
  font-size: 1rem;
  color: #555;
  width: 100%;
  box-sizing: border-box;
}

/* Image after header */
.block-views-blocktaxonomy-term-block-3 .views-view-responsive-grid__item-inner > .views-field-field-bild {
  order: -50 !important;
}

/* Title after that */
.block-views-blocktaxonomy-term-block-3 .views-view-responsive-grid__item-inner > .views-field-title {
  order: 10 !important;
}

/* Subtitle at end */
.block-views-blocktaxonomy-term-block-3 .views-view-responsive-grid__item-inner > .views-field-field-untertitel {
  order: 20 !important;
}

/* Image */
.block-views-blocktaxonomy-term-block-3 .views-field-field-bild {
  width: 100%;
  display: block;
}

.block-views-blocktaxonomy-term-block-3 .views-field-field-bild img {
  width: 100% !important;
  height: 140px;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Text area */
.block-views-blocktaxonomy-term-block-3 .views-view-responsive-grid__item-inner {
  display: flex;
  flex-direction: column;
}

.block-views-blocktaxonomy-term-block-3 .views-field-title {
  padding: 12px 12px 0 !important;
}

.block-views-blocktaxonomy-term-block-3 .views-field-title h4 {
  font-size: 1.1em;
  font-weight: 600;
  color: var(--text-ueberschrift);
  margin: 0;
  line-height: 1.3;
}

.block-views-blocktaxonomy-term-block-3 .views-field-title h4 a {
  color: var(--text-ueberschrift);
  text-decoration: none;
  transition: color 0.2s ease;
}

.block-views-blocktaxonomy-term-block-3 .views-view-responsive-grid__item:hover .views-field-title h4 a {
  color: #8bc34a;
}

.block-views-blocktaxonomy-term-block-3 .views-field-field-untertitel {
  padding: 8px 12px 12px !important;
}

.block-views-blocktaxonomy-term-block-3 .views-field-field-untertitel h5 {
  font-size: 0.85em;
  color: #777;
  margin: 0;
  font-weight: 400;
  line-height: 1.4;
  /* Max 3 lines */
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Taxonomy Term Block 3: no logo padding */
.block-views-blocktaxonomy-term-block-3 .views-view-responsive-grid__item-inner > .views-field-title,
.block-views-blocktaxonomy-term-block-3 .views-view-responsive-grid__item-inner > .views-field-field-untertitel {
  padding-right: 12px !important;
}

/* --- Taxonomy Main Area (col-sm-9) --- */

.path-taxonomy .col-sm-9 .geolocation-map-container,
.tax-term-main .geolocation-map-container {
  margin: 0 0 20px;
  border: 1px solid #90cbf9;
  border-radius: 0.4rem;
  box-shadow: 0 4px 6px rgba(79, 144, 200, 0.25);
}

.path-taxonomy .col-sm-9 .views-field-title h3,
.tax-term-main .views-field-title h3 {
  margin: 10px 0;
}

.path-taxonomy .col-sm-9 .views-field-field-untertitel h4,
.tax-term-main .views-field-field-untertitel h4 {
  color: inherit;
  font-size: 1em;
}

.path-taxonomy .col-sm-9 .view-header h1,
.tax-term-main .view-header h1 {
  margin-bottom: 20px;
  font-family: 'play', sans-serif;
  position: relative;
  padding-bottom: 10px;
}

/* Animated border-bottom for tax-term view-header h1 */
.path-taxonomy .col-sm-9 .view-header h1::after,
.tax-term-main .view-header h1::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 5px;
  background: #8bc34a;
  animation: borderGrow 2.8s ease-out 0.6s forwards;
}

/* Grid layout on item: header top, title+subtitle left, logo right */
.path-taxonomy .col-sm-9 .views-view-responsive-grid__item-inner,
.tax-term-main .views-view-responsive-grid__item-inner {
  display: grid;
  grid-template-columns: 1fr 70px;
  grid-template-rows: auto auto auto;
  gap: 0 10px;
}

/* Header: full width, row 1 */
.path-taxonomy .col-sm-9 .views-field-nothing,
.tax-term-main .views-field-nothing {
  grid-column: 1 / -1;
  grid-row: 1;
}

/* Title: column 1, row 2 */
.path-taxonomy .col-sm-9 .views-field-title,
.tax-term-main .views-field-title {
  grid-column: 1;
  grid-row: 2;
}

/* Subtitle: column 1, row 3 */
.path-taxonomy .col-sm-9 .views-field-field-untertitel,
.tax-term-main .views-field-field-untertitel {
  grid-column: 1;
  grid-row: 3;
}

/* Logo: column 2, over title+subtitle (row 2-3), centered */
.path-taxonomy .col-sm-9 .views-field-field-logo,
.tax-term-main .views-field-field-logo {
  grid-column: 2;
  grid-row: 2 / 4;
  align-self: center;
  justify-self: center;
  position: static;
  width: 70px;
  max-height: 55px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.path-taxonomy .col-sm-9 .views-field-field-logo img,
.tax-term-main .views-field-field-logo img {
  max-width: 100%;
  max-height: 55px;
  width: auto;
  height: auto;
  object-fit: contain;
}

.path-taxonomy .col-sm-9 .views-field-nothing,
.tax-term-main .views-field-nothing {
  background-color: #F4F8FF;
  border-bottom: 3px solid #8dc157;
  margin-top: 0;
  padding: 10px 15px;
  border-radius: 10px 10px 0 0;
}

/* --- Hierarchical Taxonomy Menu --- */
/* Ebene 1 = weisse Karte mit Chevron, Ebene 2/3 = Text mit gruener Fuehrungslinie
   (keine Kaesten). Aktive Seite = hellgruener Hintergrund + gruener Streifen links.
   Der Auf-/Zuklapp-Zustand kommt vom Modul-JS: offener Ast = li.active. */

.block-hierarchical-taxonomy-menu .hierarchical-taxonomy-menu,
.block-hierarchical-taxonomy-menu .hierarchical-taxonomy-menu .menu,
.block-hierarchical-taxonomy-menu .hierarchical-taxonomy-menu .block-taxonomymenu__submenu {
  list-style: none;
  padding: 0;
  margin: 0;
}

.block-hierarchical-taxonomy-menu .hierarchical-taxonomy-menu .menu-item {
  display: block;
  margin: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  overflow: visible;
}

/* Ebene 1: weisse Karte */
.block-hierarchical-taxonomy-menu .hierarchical-taxonomy-menu > .menu-item {
  background: #fff;
  border: 1px solid #dfe9d3;
  border-radius: 8px;
  margin-bottom: 8px;
  overflow: hidden;
}

/* Links, alle Ebenen */
.block-hierarchical-taxonomy-menu .hierarchical-taxonomy-menu .block-taxonomymenu__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  position: relative;
  padding: 7px 12px;
  border-left: 3px solid transparent;
  color: #333;
  font-size: 0.88rem;
  line-height: 1.35;
  text-decoration: none;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.block-hierarchical-taxonomy-menu .hierarchical-taxonomy-menu > .menu-item > .block-taxonomymenu__link {
  padding: 11px 14px;
  color: #032373;
  font-size: 0.95rem;
  font-weight: 600;
}

.block-hierarchical-taxonomy-menu .hierarchical-taxonomy-menu .block-taxonomymenu__link:hover {
  background: #f2f8ea;
  color: #032373;
}

.block-hierarchical-taxonomy-menu .hierarchical-taxonomy-menu .block-taxonomymenu__link:focus-visible {
  outline: 2px solid #8dc157;
  outline-offset: -2px;
}

/* Untermenues: Fuehrungslinie statt Kaesten */
.block-hierarchical-taxonomy-menu .hierarchical-taxonomy-menu .block-taxonomymenu__submenu {
  margin: 0 8px 8px 14px;
  border-left: 2px solid #d9e8c4;
}

.block-hierarchical-taxonomy-menu .hierarchical-taxonomy-menu .block-taxonomymenu__submenu .block-taxonomymenu__link {
  font-size: 0.9rem;
  font-weight: 500;
  padding: 7px 10px;
}

/* Ebene 3: kleiner und gedaempfter */
.block-hierarchical-taxonomy-menu .hierarchical-taxonomy-menu .block-taxonomymenu__submenu .block-taxonomymenu__submenu {
  margin: 0 0 4px 10px;
  border-left-color: #e6efdb;
}

.block-hierarchical-taxonomy-menu .hierarchical-taxonomy-menu .block-taxonomymenu__submenu .block-taxonomymenu__submenu .block-taxonomymenu__link {
  font-size: 0.85rem;
  font-weight: 400;
  color: #5b6654;
}

/* Ast, in dem die aktive Seite liegt: Titel dunkelblau/fett */
.block-hierarchical-taxonomy-menu .hierarchical-taxonomy-menu .menu-item:has(> .block-taxonomymenu__submenu .menu-item--active) > .block-taxonomymenu__link {
  color: #032373;
  font-weight: 600;
}

/* Aktive Seite */
.block-hierarchical-taxonomy-menu .hierarchical-taxonomy-menu .menu-item--active > .block-taxonomymenu__link {
  background: #edf4e6;
  border-left-color: #8dc157;
  color: #032373;
  font-weight: 700;
}

/* Chevron fuer Eintraege mit Unterpunkten; dreht sich je nach Auf-/Zuklapp-Zustand */
.block-hierarchical-taxonomy-menu .hierarchical-taxonomy-menu .menu-item--expanded > .block-taxonomymenu__link::after {
  content: '';
  flex: 0 0 auto;
  width: 7px;
  height: 7px;
  margin-right: 2px;
  border-right: 2px solid #8dc157;
  border-bottom: 2px solid #8dc157;
  /* Standard = Ast offen (Chevron nach oben) */
  transform: rotate(-135deg) translateY(-2px);
  transition: transform 0.2s ease;
}

/* Ast zugeklappt: Klasse is-closed kommt aus global.js (Drupal.behaviors.taxMenuChevron) */
.block-hierarchical-taxonomy-menu .hierarchical-taxonomy-menu .menu-item--expanded.is-closed > .block-taxonomymenu__link::after {
  transform: rotate(45deg) translateY(-2px);
}

/* Bild links im Eintrag (falls vorhanden) */
.block-hierarchical-taxonomy-menu .hierarchical-taxonomy-menu .menu-item > .menu-item-image {
  width: 40px;
  height: 40px;
  object-fit: cover;
  border-radius: 4px;
  margin: 0;
  flex-shrink: 0;
}

/* Zaehler als Badge - nur wenn nicht leer */
.block-hierarchical-taxonomy-menu .hierarchical-taxonomy-menu .referenced-entity-count {
  background: #8bc34a;
  color: white;
  padding: 2px 8px;
  border-radius: 12px;
  font-size: 0.7rem;
  font-weight: 600;
  margin-left: 6px;
}

.block-hierarchical-taxonomy-menu .hierarchical-taxonomy-menu .referenced-entity-count:empty {
  display: none;
}


/* ========================================
   10. COMPONENTS
   ======================================== */

/* --- Search Components --- */

/* Search input used outside of region-highlighted (e.g. sidebar) */
#edit-search-api-fulltext--2 {
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 10px;
  padding: 10px;
  width: 80%;
}

/* --- Tables --- */

caption {
  font-weight: 700;
  padding-top: .5rem;
  padding-bottom: .5rem;
  color: #666;
  text-align: center;
  margin: 20px 0;
  background: #f4f8ff;
}

table {
  font-size: 1.0em;
  caption-side: top;
}

table tr th {
  background: #fff;
  border-bottom-style: none;
  border: 1px solid #eee;
  color: #666;
  text-align: right;
  padding: 10px 4px 9px;
}

tr td {
  border: 1px solid #fff;
  text-align: left;
  background: #f4f8ff;
}

/* --- Forms & Webforms --- */

/* Webform */
.block-inline-blockwebform {
  border-top: 10px solid #4F90C8;
  border-radius: 10px;
  box-shadow: 1px 1px 8px #ddd;
  margin-top: 30px;
  padding: 12px;
}

#edit-direkt-kontakt {
  background: #F4F8FF;
  border: 1px solid #ddd;
  padding: 5px;
}

/* Kontaktblock: h4-Ueberschriften */
#edit-direkt-kontakt h4 {
  font-size: 1em;
  font-weight: 700;
  color: #333;
}

/* <code> in h4-Ueberschriften des Kontaktblocks: Textfarbe statt Link-Blau (2026-10-20) */
#edit-direkt-kontakt h4 code {
  color: #333;
}

/* Firmen-Token (erstes h4) hebt sich ab: fett, dunkelblau wie Seitentitel */
#edit-direkt-kontakt h4:first-of-type code {
  color: #032373;
  font-weight: 700;
}

/* Bootstrap-Style fuer <code> im Kontaktblock ueberschreiben (IP-Style: normaler Text) */
.webform-submission-form code,
#edit-direkt-kontakt code {
  font-family: "Oxygen", sans-serif;
  font-size: inherit;
  color: #333;
  background: none;
  padding: 0;
  word-wrap: normal;
}

/* Webform - hide empty elements */
.webform-submission-form h4:empty {
  display: none;
}

/* --- Select2 Styling --- */

/* Main container – Materia underline */
.select2-container--default .select2-selection--multiple {
  background-color: transparent;
  border: none;
  border-bottom: 2px solid #90cbf9;
  border-radius: 0;
  padding: 6px 0 4px;
  min-height: 38px;
  outline: none;
  box-shadow: none;
}

.select2-container--default .select2-selection--multiple:focus,
.select2-container--default.select2-container--focus .select2-selection--multiple {
  border-bottom-color: #032373;
  box-shadow: none;
  outline: none;
}

/* Tags – brand colors */
.select2-container--default .select2-selection--multiple .select2-selection__choice {
  background-color: #032373;
  color: #fff;
  border: none;
  border-radius: 4px;
  padding: 2px 22px 2px 8px;
  margin: 2px 4px;
  font-size: 0.875em;
  position: relative;
}

/* X button on tag */
.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  color: rgba(255, 255, 255, 0.7);
  position: absolute;
  right: 6px;
  top: 2px;
  font-size: 1em;
  line-height: 1;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
  color: #fff;
}

/* Search field within widget */
.select2-container--default .select2-selection--multiple .select2-search--inline .select2-search__field {
  color: #333;
  font-size: 0.9em;
}

/* Dropdown list */
.select2-container--default .select2-dropdown {
  border: 1px solid #ddd;
  border-radius: 4px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.select2-container--default .select2-results > .select2-results__items {
  max-height: 250px;
}

/* Dropdown options */
.select2-container--default .select2-results__option {
  padding: 6px 12px;
  color: #333;
  font-size: 0.9em;
}

.select2-container--default .select2-results__option--highlighted {
  background-color: #032373;
  color: #fff;
}


/* ========================================
   11. CONTENT TYPES
   ======================================== */

/* --- Fullnode Stellenangebot --- */

.region--top {
  margin-bottom: 50px;
}

/* Fullnode (Stellenangebot + Angebot-Stelle): weniger Abstand unter dem Titelbereich (2026-10-21); Landing/Pressemonitor behalten 50px */
.node--type-stellenangebot .region--top,
.node--type-angebot-stelle .region--top {
  margin-bottom: 20px;
}

.region--top .block-field-blocknodestellenangebottitle h1 {
  margin: 15px 0 15px 0 !important;
  border-bottom: 5px solid #4f90c8 !important;
  padding-bottom: 15px;
}

.fullnode-body .views-field-field-image {
  text-align: center;
  background-color: #eaf0fc;
  margin-bottom: 50px;
  border-radius: 10px;
  overflow: hidden;
}

.fullnode-body .views-field-field-image img {
  border-radius: 10px;
  border: 1px solid #eee;
}

/* Bootstrap setzt global p { margin: 0 0 1em; } - im Fullnode-Body-Text
   unerwuenscht (zusaetzlicher Leerraum zwischen Absaetzen). */
.fullnode-body .views-field-body .field-content p {
  margin: 0;
}

/* Address box */
.col-sm-6 .fullnode-tabelle-adresse {
  padding: 20px;
  background-color: #F4F8FF;
}

.col-sm-6 .fullnode-tabelle-adresse .views-field {
  padding: 0 5px 5px 0;
}

.col-sm-6 .fullnode-tabelle-adresse .views-field-nothing-1 {
  border-top: 2px solid #8dc155;
  margin-top: 15px;
}

.col-sm-6 .fullnode-tabelle-adresse .material-icons {
  vertical-align: middle;
  color: #8dc155;
}

.col-sm-6 .fullnode-tabelle-adresse .fullnode-tabelle-adresse {
  margin: 40px 0 0;
  padding: 50px;
}

.col-sm-6 .fullnode-tabelle-adresse .views-field-field-firma-name {
  text-align: left;
  margin: 0px 0 0;
}

.col-sm-6 .fullnode-tabelle-adresse .views-field-nothing {
  border-bottom: 2px solid #8dc155;
  padding: 0 0 10px;
  margin: 0 0 10px 0;
}

.col-sm-6 .fullnode-tabelle-adresse .views-field-field-logo {
  text-align: center;
  margin: 0;
}

.col-sm-6 .fullnode-tabelle-adresse .views-field-field-logo img {
  width: 50%;
  padding: 30px;
  background: #fff;
}

/* fullnode_stellenangebot/block_3: kein eigenes Twig-Template (anders als
   fullnode_angebot/block_3), daher greift hier weiterhin die generische
   .views-field-field-logo-Regel oben (text-align:center). Logo linksbuendig
   statt zentriert, konsistent mit dem restlichen Kontaktblock-Text. */
.fullnode-tabelle-adresse.view-id-fullnode_stellenangebot .views-field-field-logo {
  text-align: left;
}
.fullnode-tabelle-adresse.view-id-fullnode_stellenangebot .views-field-field-logo img {
  width: auto;
  max-width: 220px;
  max-height: 160px;
  height: auto;
  object-fit: contain;
}

/* Geomap */
.col-sm-6 .geolocation-map-container {
  border-top: 3px solid #90cbf9;
  border-radius: 0.4rem;
  box-shadow: 0 4px 6px rgba(79, 144, 200, 0.25);
}

/* Info box */
.col-sm-6 .fullnode-tabelle-info {
  padding: 0 10px;
}

/* --- Fullnode Basisinfo --- */
/* (Already defined in section 7) */

/* --- Basic Page (Für Arbeitgeber) --- */

.block-field-blocknodepagebody .field--name-body img {
  display: flex;
  float: left;
  padding-right: 20px;
}

.block-field-blocknodepagebody h3 {
  text-align: left;
  padding: 0;
}

.block-field-blocknodepagefield-image {
  float: right;
  width: 20% !important;
  max-width: 15% !important;
}

.block-field-blocknodepagefield-image img {
  width: 100%;
  height: auto;
}


/* ========================================
   12. UTILITIES
   ======================================== */

/* --- Edit Node Icons --- */

.views-field-edit-node a,
.edit-node-icon a {
  width: 16px;
  height: 16px;
  text-indent: -9999px;
  overflow: visible;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3e%3cg%3e%3cpath fill='%235181C6' d='M14.545 3.042l-1.586-1.585c-.389-.389-1.025-.389-1.414 0l-1.293 1.293 3 3 1.293-1.293c.389-.389.389-1.026 0-1.415z'/%3e%3crect fill='%235181C6' x='5.129' y='3.8' transform='matrix(-.707 -.707 .707 -.707 6.189 20.064)' width='4.243' height='9.899'/%3e%3cpath fill='%235181C6' d='M.908 14.775c-.087.262.055.397.316.312l2.001-.667-1.65-1.646-.667 2.001z'/%3e%3c/g%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: center;
  float: right;
  padding: 15px;
  position: relative;
}

.views-field-edit-node a:hover,
.edit-node-icon a:hover {
  opacity: 0.7;
}

.views-field-edit-node a::after,
.edit-node-icon a::after {
  content: 'Bearbeiten';
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  background-color: #333;
  color: #fff;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  white-space: nowrap;
  text-indent: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease;
}

.views-field-edit-node a:hover::after,
.edit-node-icon a:hover::after {
  opacity: 1;
  visibility: visible;
}

/* --- Bootstrap Overrides --- */

/* Remove gutter padding to align content with map */
div#views-bootstrap-alle-angebote-block-2.row,
div.alle-angebote-grid.row {
  --bs-gutter-x: 0;
  margin-left: 10px;
  padding-right: 20px;
}

/* --- Responsive Grid Helpers --- */

/* Inner container is the positioning context */
.views-view-responsive-grid__item-inner {
  position: relative !important;
}

/* Logo positioning - standard for responsive grids */
.views-view-responsive-grid__item-inner > .views-field-field-logo {
  position: relative;
  max-width: 100%;
  text-align: center;
  float: none !important;
  margin: 0 !important;
  padding: 5px !important;
}

.views-view-responsive-grid__item-inner > .views-field-field-logo img {
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

/* Make space for logo (only for areas WITH logo) */
.views-view-responsive-grid__item-inner > .views-field-title,
.views-view-responsive-grid__item-inner > .views-field-field-untertitel {
  padding-right: 130px !important;
  padding-left: 14px;
}

/* Front Block 3, 5, 6 + Pressemonitor + Top-Attachment: NO logo padding - full width for title/subtitle */
.block-views-blockfront-block-3 .views-view-responsive-grid__item-inner > .views-field-title,
.block-views-blockfront-block-3 .views-view-responsive-grid__item-inner > .views-field-field-untertitel,
.block-views-blockfront-block-5 .views-view-responsive-grid__item-inner > .views-field-title,
.block-views-blockfront-block-5 .views-view-responsive-grid__item-inner > .views-field-field-untertitel,
.block-views-blockfront-block-6 .views-view-responsive-grid__item-inner > .views-field-title,
.block-views-blockfront-block-6 .views-view-responsive-grid__item-inner > .views-field-field-untertitel,
.block-views-blockpressemonitor-block-1 .views-view-responsive-grid__item-inner > .views-field-title,
.block-views-blockpressemonitor-block-1 .views-view-responsive-grid__item-inner > .views-field-field-untertitel,
.block-views-blockpressemonitor-block-8 .views-view-responsive-grid__item-inner > .views-field-title,
.block-views-blockpressemonitor-block-2 .views-view-responsive-grid__item-inner > .views-field-title,
.block-views-blockpressemonitor-block-8 .views-view-responsive-grid__item-inner > .views-field-field-untertitel,
.block-views-blockpressemonitor-block-2 .views-view-responsive-grid__item-inner > .views-field-field-untertitel,
.block-views-blockpressemonitor-block-3 .views-view-responsive-grid__item-inner > .views-field-title,
.block-views-blockpressemonitor-block-3 .views-view-responsive-grid__item-inner > .views-field-field-untertitel,
.block-views-blockpressemonitor-block-4 .views-view-responsive-grid__item-inner > .views-field-title,
.block-views-blockpressemonitor-block-4 .views-view-responsive-grid__item-inner > .views-field-field-untertitel,
.top-attachment .views-view-responsive-grid__item-inner > .views-field-title,
.top-attachment .views-view-responsive-grid__item-inner > .views-field-field-untertitel {
  padding-right: 12px !important;
}

/* ========================================
   Sticky Facebook Widget (Right Side)
   ======================================== */

.fb-sticky-widget {
  position: relative;
  transform: translateX(5px);

  /* Initially hidden */
  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  /* Smooth transitions */
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1),
              opacity 0.5s ease-in-out,
              visibility 0.5s ease-in-out;
  will-change: transform, opacity;
}

/* Visible state (triggered by JavaScript when map scrolls out) */
.fb-sticky-widget.visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.fb-sticky-widget:hover {
  transform: translateX(0);
}

.fb-sticky-widget a {
  display: flex;
  flex-direction: row;
  align-items: center;
  text-decoration: none;
  background-image: url("/sites/default/files/2026-02/fb-header-1.jpg");
  background-size: cover;
  background-position: 55% center;
  border-radius: 8px 0 0 8px;
  box-shadow: -2px 2px 12px rgba(26, 41, 100, 0.25);
  overflow: hidden;
  padding: 12px 0;
  transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  width: 65px;
}

.fb-sticky-widget:hover a {
  width: 230px;
}

.fb-sticky-initial {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  width: 60px;
}

.fb-sticky-icon {
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(10px);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-bottom: 8px;
}

.fb-sticky-icon svg {
  width: 28px;
  height: 28px;
  fill: white;
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2));
}

.fb-sticky-count {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg);
  font-size: 16px;
  font-weight: 600;
  color: white;
  letter-spacing: 0.5px;
  white-space: nowrap;
  padding: 8px 0;
}

.fb-sticky-text {
  font-size: 14px;
  font-weight: 600;
  color: white;
  white-space: nowrap;
  padding-left: 12px;
  padding-right: 16px;
  opacity: 0;
  transform: translateX(-10px);
  transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1) 0.1s,
              transform 0.4s cubic-bezier(0.4, 0, 0.2, 1) 0.1s;
}

.fb-sticky-widget:hover .fb-sticky-text {
  opacity: 1;
  transform: translateX(0);
}

/* Responsive: Hide on tablets and mobile */
@media (max-width: 1200px) {
  .fb-sticky-widget {
    display: none;
  }
}

/* Optional: Show on hover animation improvement */
@media (min-width: 1201px) {
  .fb-sticky-widget::before {
    content: '';
    position: absolute;
    left: -40px;
    top: 0;
    bottom: 0;
    width: 40px;
    cursor: pointer;
  }
}

/* ========================================
   Sticky Medialink Widget (Right Side, below FB)
   ======================================== */

.ml-sticky-widget {
  position: relative;
  transform: translateX(5px);

  /* Initially hidden */
  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  /* Smooth transitions with slight delay after FB widget */
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1) 0.3s,
              opacity 0.5s ease-in-out 0.3s,
              visibility 0.5s ease-in-out 0.3s;
  will-change: transform, opacity;
}

/* Visible state (triggered by JavaScript) */
.ml-sticky-widget.visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.ml-sticky-widget:hover {
  transform: translateX(0);
}

.ml-sticky-widget a {
  display: flex;
  flex-direction: row;
  align-items: center;
  text-decoration: none;
  background: #8dc157;
  border-radius: 8px 0 0 8px;
  box-shadow: -2px 2px 12px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  padding: 6px 0;
  height: 280px;
  transition: width 0.4s cubic-bezier(0.4, 0, 0.2, 1),
              background 0.4s ease;
  width: 65px;
}

.ml-sticky-widget:hover a {
  width: 320px;
  background: #003B7A;
}

.ml-sticky-initial {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  width: 60px;
}

.ml-sticky-icon {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  margin-bottom: 3px;

  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(10px);
}

.ml-sticky-icon svg {
  width: 36px;
  height: 36px;
}

.ml-sticky-icon img {
  width: 35px;
  height: 35px;
  object-fit: contain;
  transition: transform 0.6s ease;
}

.ml-sticky-widget:hover .ml-sticky-icon img {
  transform: rotate(180deg);
}

.ml-sticky-count {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg);
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 3px;
  white-space: nowrap;
  padding: 2px 0;
  transition: color 0.4s ease;
}

.ml-sticky-widget:hover .ml-sticky-count {
  color: white;
}

.ml-sticky-content {
  padding-left: 16px;
  padding-right: 20px;
  opacity: 0;
  transform: translateX(-10px);
  transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1) 0.1s,
              transform 0.4s cubic-bezier(0.4, 0, 0.2, 1) 0.1s;
}

.ml-sticky-widget:hover .ml-sticky-content {
  opacity: 1;
  transform: translateX(0);
}

.ml-sticky-content h3 {
  font-size: 18px;
  font-weight: 700;
  color: white;
  margin: 0 0 8px 0;
  white-space: nowrap;
}

.ml-sticky-content p {
  font-size: 13px;
  font-weight: 400;
  color: white;
  line-height: 1.4;
  margin: 0;
  max-width: 260px;
}

.ml-sticky-content .ml-contact-info {
  margin-top: 14px;
  padding: 12px 14px;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 6px;
  border-left: 4px solid #8dc157;
  line-height: 1.5;
}
.ml-sticky-content .ml-contact-intro {
  display: block;
  font-size: 12px;
  font-weight: 400;
  margin-bottom: 10px;
}
.ml-sticky-content .ml-contact-line {
  display: block;
  font-size: 17px;
  font-weight: 700;
  color: #fff;
  margin-top: 6px;
  white-space: nowrap;
}
.ml-sticky-content .ml-contact-phone {
  font-size: 19px;
  color: #c5e39a;
}

/* Responsive: Hide on tablets and mobile */
@media (max-width: 1200px) {
  .ml-sticky-widget {
    display: none;
  }
}

/* Optional: Show on hover animation improvement */
@media (min-width: 1201px) {
  .ml-sticky-widget::before {
    content: '';
    position: absolute;
    left: -40px;
    top: 0;
    bottom: 0;
    width: 40px;
    cursor: pointer;
  }
}


/* ========================================
   STICKY WIDGETS CONTAINER
   → Hier top anpassen um ALLE Widgets zu verschieben!
   ======================================== */

.sticky-widgets-container {
  position: fixed;
  right: 0;
  top: 15%;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-end;
  pointer-events: none;
}

/* Responsive: Container auf Mobile verstecken */
@media (max-width: 1200px) {
  .sticky-widgets-container {
    display: none;
  }
}

/* ========================================
   FB MOBILE BLOCK
   ======================================== */

.fb-mobile-block {
  display: none; /* Desktop: versteckt */
}

@media (max-width: 1200px) {
  .fb-mobile-block {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    margin: 16px 0;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(24, 119, 242, 0.35);
    background: linear-gradient(135deg, #1877F2 0%, #0d5dbf 100%);
    min-height: 90px;
    text-decoration: none;
  }

  .fb-mobile-block a {
    text-decoration: none;
    color: inherit;
  }

  .fb-mobile-image {
    width: 100px;
    min-width: 100px;
    background-image: url('/sites/default/files/2026-02/fb-header-1.jpg');
    background-size: cover;
    background-position: 55% center;
    flex-shrink: 0;
  }

  .fb-mobile-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 12px;
    min-width: 0;
  }

  .fb-mobile-icon {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 4px;
  }

  .fb-mobile-icon svg {
    width: 20px;
    height: 20px;
    fill: #fff;
    flex-shrink: 0;
  }

  .fb-mobile-followers {
    color: #fff;
    font-size: 0.9rem;
    font-weight: 700;
    white-space: nowrap;
  }

  .fb-mobile-text {
    color: rgba(255,255,255,0.9);
    font-size: 0.8rem;
    font-weight: 500;
    line-height: 1.3;
  }

  .fb-mobile-cta {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    min-width: 36px;
    border-radius: 50%;
    background: rgba(255,255,255,0.9);
    color: #1877F2 !important;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    margin: auto 20px;
    flex-shrink: 0;
    transition: background 0.2s ease, transform 0.2s ease;
  }

  .fb-mobile-block:hover .fb-mobile-cta {
    background: #fff;
    transform: scale(1.1);
  }

  .fb-mobile-block a:hover .fb-mobile-cta {
    background: rgba(255,255,255,0.25);
  }
}

/* Responsive: via Container gesteuert */

/* ========================================
   FOOTER - Domain Navigation Block
   ======================================== */

.site-footer {
  font-family: "play", Helvetica, Arial, sans-serif;
  padding: 35px 0 30px;
  
}
  .site-footer {
  background: #13317C; 
}
.site-footer .block {
  margin: 20px 0;
  border: none;
  padding: 10px;
}
.site-footer__bottom {
  letter-spacing: 0.2px;
  margin-top: 30px;
  border-top: none;
    border-top-color: rgb(85, 85, 85);
  border-color: rgba(255, 255, 255, 0.15);
}
/* Container für das gesamte Block */
.block-boot-sub-domainnavigation {
  background: #F8FAFF;
  padding: 60px 0 40px 0;
  margin-top: 80px;
}

/* Grid Layout: 4 gleichbreite Spalten */
.domain-nav-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--domain-grid-gap);
  max-width: var(--domain-grid-max-width);
  margin: 0 auto;
}

/* Einzelne Card */
.domain-card {
  display: block;
  background: var(--domain-card-bg);
  padding: var(--domain-card-padding-v) var(--domain-card-padding-h);
  text-align: center;
  border-radius: var(--domain-card-border-radius);
  box-shadow: var(--domain-card-shadow);
  position: relative;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  text-decoration: none;
  color: inherit;
  cursor: pointer;

  /* Grüner Border am unteren Rand */
  border-bottom: var(--domain-card-border-width) solid var(--domain-card-border-color);
}

/* Hover Effect für die Cards */
.domain-card:hover {
  transform: translateY(var(--domain-card-hover-lift));
  box-shadow: var(--domain-card-shadow-hover);
  text-decoration: none;
}

/* Logo Container */
.domain-logo {
  font-size: var(--domain-logo-font-size);
  font-weight: 300;
  margin-bottom: var(--domain-logo-margin-bottom);
  line-height: 1.2;
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Logo als Bild */
.domain-logo-img {
  max-width: var(--domain-logo-max-width);
  height: auto;
  max-height: var(--domain-logo-max-height);
  object-fit: contain;
}

/* "inter" Teil - Grün */
.logo-inter {
  color: var(--domain-logo-green);
  font-weight: 400;
}

/* "prace/práce/práca" Teil - Navy */
.logo-prace {
  color: var(--domain-logo-navy);
  font-weight: 700;
}

/* Kleine Länder-Bezeichnung im Logo */
.logo-country {
  font-size: var(--domain-country-font-size);
  color: var(--domain-logo-green);
  margin-left: 4px;
  font-weight: 400;
}

/* jobtranzit Logo - andere Farben */
.domain-logo-jobtranzit .logo-job {
  color: var(--domain-jobtranzit-yellow);
  font-weight: 700;
}

.domain-logo-jobtranzit .logo-tranzit {
  color: var(--domain-logo-navy);
  font-weight: 700;
}

/* Titel-Wrapper mit Flagge */
.domain-title-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: var(--domain-title-margin-top) 0 var(--domain-title-margin-bottom) 0;
}

/* Rechteckige Flagge */
.domain-flag-img {
  width: var(--domain-flag-width);
  height: auto;
  border: 1px solid #ddd;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* Ländername / Titel */
.domain-title {
  font-size: var(--domain-title-font-size);
  font-weight: 700;
  color: var(--domain-card-title-color);
  margin: 0;
}

/* Beschreibungstext */
.domain-description {
  font-size: var(--domain-description-font-size);
  color: var(--domain-card-description-color);
  line-height: 1.5;
  margin: 0;
}

/* Responsive: 2 Spalten auf Tablets und kleinen Laptops.
   Breakpoint 1199px statt 992px (2026-10-12): zwischen 993 und 1199px ist der Bootstrap-
   Container nur 960px breit, 4 Karten brauchen aber mind. ~1080px -> horizontaler Ueberlauf. */
@media (max-width: 1199px) {
  .domain-nav-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
}

/* Responsive: 1 Spalte auf Mobile */
@media (max-width: 576px) {
  .domain-nav-grid {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .block-boot-sub-domainnavigation {
    padding: 40px 15px 30px 15px;
  }
}

/* ============================================================
   GDPR Map Platzhalter – Bild + Cookie-Einstellungen-Button
   JS prüft EUCC-Cookie cookie-agreed-categories auf external_media.
   ============================================================ */
.gdpr-map-placeholder {
  position: relative;
  width: 100%;
  margin: 0 0 20px;
  height: 350px;
  border-radius: 0.4rem;
  overflow: hidden;
  background: #e8e8e8;
}

.gdpr-map-placeholder__img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 0.4rem;
}

.gdpr-map-placeholder__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.35);
  padding: 1.5rem;
  gap: 1rem;
}

.gdpr-map-placeholder__text {
  color: #fff;
  text-align: center;
  max-width: 420px;
  font-size: 0.9rem;
  line-height: 1.5;
  margin: 0;
  text-shadow: 0 1px 3px rgba(0,0,0,.6);
}

/* ─── Language Switcher: Round Flag Icons ─── */
#block-boot-sub-sprachumschalteranzeigesprachederwebsite .language-link {
  font-size: 0 !important;
  display: inline-block;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  overflow: hidden;
  background-size: 150%;
  background-position: center;
  background-repeat: no-repeat;
  border: 2px solid rgba(255,255,255,0.35);
  vertical-align: middle;
  transition: border-color 0.3s, transform 0.2s;
}

#block-boot-sub-sprachumschalteranzeigesprachederwebsite .language-link:hover {
  border-color: #8dc157;
  transform: scale(1.12);
}

#block-boot-sub-sprachumschalteranzeigesprachederwebsite .language-link.is-active {
  border-color: #8dc157;
  box-shadow: 0 0 0 2px #8dc157;
}

#block-boot-sub-sprachumschalteranzeigesprachederwebsite .nav-link.is-active,
#block-boot-sub-sprachumschalteranzeigesprachederwebsite .is-active:not(.language-link) {
  border-bottom: none !important;
}

#block-boot-sub-sprachumschalteranzeigesprachederwebsite .cs .language-link {
  background-image: url('/sites/default/files/styles/flagge_20x10/public/150px-flag_of_the_czech_republic.svg_0.png');
}

#block-boot-sub-sprachumschalteranzeigesprachederwebsite .de .language-link {
  background-image: url('/sites/default/files/styles/flagge_20x10/public/deutschland_flagge.jpg?itok=y5eW2jFc');
}

#block-boot-sub-sprachumschalteranzeigesprachederwebsite .pl .language-link {
  background-image: url('/sites/default/files/styles/flagge_20x10/public/flag-pl-cropped.png');
}

#block-boot-sub-sprachumschalteranzeigesprachederwebsite .sk .language-link {
  background-image: url('/sites/default/files/styles/flagge_20x10/public/flag-sk-cropped.png');
}

/* Flaggen rechteckig (Desktop und Tablet, ab 768px); Mobil bleibt rund */
@media (min-width: 768px) {
  #block-boot-sub-sprachumschalteranzeigesprachederwebsite .language-link {
    width: 30px;
    height: 20px;
    border-radius: 2px;
    background-size: cover;
    border-width: 1px;
  }
  #block-boot-sub-sprachumschalteranzeigesprachederwebsite .language-link:hover { transform: scale(1.08); }
  #block-boot-sub-sprachumschalteranzeigesprachederwebsite .language-link.is-active { box-shadow: 0 0 0 1px #8dc157; }
}
/* ==========================================================
   PRE-FOOTER (SAFE SCOPE)
   - keine globalen a-Regeln mehr
   - nur Elemente mit Klasse .ip-prefooter-btn werden Buttons
   ========================================================== */

/* Optional: Layout der Pre-Footer Region (falls du das brauchst) */
.pre-footer-region .region-pre-footer{
  /* nichts ändern, wenn bereits anders definiert */
}

/* Button-Style NUR für explizit markierte Links */
.pre-footer-region .region-pre-footer a.ip-prefooter-btn,
.pre-footer-region .region-pre-footer .btn.ip-prefooter-btn{
  display: inline-block;
  background: #8dc157;
  color: #fff !important;
  border: none;
  border-radius: 6px;
  padding: 10px 22px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s ease;
}

.pre-footer-region .region-pre-footer a.ip-prefooter-btn:hover,
.pre-footer-region .region-pre-footer a.ip-prefooter-btn:focus-visible{
  background: #6fa33e;
  color: #fff !important;
  text-decoration: none;
}


/* =========================================
   PREFOOTER CTA – RECHTS SCHIEBER CLEAN
========================================= */

.pre-footer-region .region-pre-footer .ip-prefooter-cta3{
  display:flex;
  flex-direction:column;
  gap:22px;
  align-items:flex-start;
  width:100%;
  max-width:560px;
  margin:0 auto;
}

/* ROW */
.pre-footer-region .region-pre-footer .ip-prefooter-cta3 .ip-cta-row{
  position:relative;
  display:inline-block;
}

/* MAIN */
.pre-footer-region .region-pre-footer .ip-prefooter-cta3 .ip-cta-main{
  display:flex;
  align-items:center;
  justify-content:center;

  padding:16px 28px;
  min-height:56px;
  border-radius:14px;

  font-weight:900;
  font-size:16px;
  letter-spacing:.5px;
  color:#fff;

  box-shadow:0 10px 24px rgba(0,0,0,.12);
  transition: box-shadow .2s ease, filter .2s ease;
}

/* ruhiger Hover */
.pre-footer-region .region-pre-footer .ip-prefooter-cta3 .ip-cta-row:hover .ip-cta-main{
  box-shadow:0 14px 34px rgba(0,0,0,.18);
  filter:brightness(1.02);
}

/* =========================================
   SCHUBLADEN-SCHIEBER (fix 240px, stabil)
========================================= */

.pre-footer-region .region-pre-footer .ip-prefooter-cta3{
  display:flex;
  flex-direction:column;
  gap:26px;                 /* mehr Luft zwischen Rows */
  align-items:flex-start;
  width:100%;
  max-width:560px;
  margin:0 auto;
}

/* Jede Row ist genau so breit wie der Button */
.pre-footer-region .region-pre-footer .ip-prefooter-cta3 .ip-cta-row{
  position:relative;
  width:280px;              /* FIX */
  height:56px;              /* FIX (Main-Höhe) */
}

/* MAIN */
/* MAIN */
.pre-footer-region .region-pre-footer .ip-prefooter-cta3 .ip-cta-main{
  position:absolute;
  inset:0;                  /* top/right/bottom/left = 0 */
  z-index:2;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:14px;
  font-weight:900;
  font-size:16px;
  letter-spacing:.5px;
  color:#fff;
  border: 2px solid #fff;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
  transition: box-shadow .2s ease, filter .2s ease;
}

/* SUB liegt GENAU unter MAIN, gleiche Größe */
.pre-footer-region .region-pre-footer .ip-prefooter-cta3 .ip-cta-sub{
  position:absolute;
  inset:0;                  /* exakt gleiche Box wie Main */
  z-index:1;

  display:flex;
  align-items:center;
  justify-content:center;

  border-radius:14px;
  font-weight:800;
  font-size:14px;
  text-decoration:none;
  color:#fff;
  text-align:center;

  /* Text ggf. umbrechen */
  padding: 0 14px;
  white-space:normal;
  line-height:1.2;

  box-shadow:0 14px 30px rgba(0,0,0,.18);

  /* START: komplett unter main versteckt */
  transform: translateX(0);
  pointer-events:none;
  transition: transform .26s cubic-bezier(.4,0,.2,1);
}

/* Hover: Schublade fährt TEILWEISE raus */
.pre-footer-region .region-pre-footer .ip-prefooter-cta3 .ip-cta-row:hover .ip-cta-sub,
.pre-footer-region .region-pre-footer .ip-prefooter-cta3 .ip-cta-row:focus-within .ip-cta-sub{
  transform: translateX(260px);   /* Teil-Auszug */
  pointer-events:auto;
}

/* Farben */
.pre-footer-region .region-pre-footer .ip-prefooter-cta3 .ip-cta-row--jobs .ip-cta-main{
  background:linear-gradient(135deg,#8dc157,#6fa33e);
}
.pre-footer-region .region-pre-footer .ip-prefooter-cta3 .ip-cta-row--jobs .ip-cta-sub{
  background:#9ec871;
}

.pre-footer-region .region-pre-footer .ip-prefooter-cta3 .ip-cta-row--employers .ip-cta-main{
  background:linear-gradient(135deg,#0f2c74,#0b2156);
}
.pre-footer-region .region-pre-footer .ip-prefooter-cta3 .ip-cta-row--employers .ip-cta-sub{
  background:#0071b3;
}

/* Main-Hover ruhig */
.pre-footer-region .region-pre-footer .ip-prefooter-cta3 .ip-cta-row:hover .ip-cta-main{
  box-shadow:0 14px 34px rgba(0,0,0,.18);
  filter:brightness(1.02);
}

/* Mobile: Sub sichtbar darunter (kein Hover) */
@media (max-width:768px){
  .pre-footer-region .region-pre-footer .ip-prefooter-cta3{
    align-items:center;
  }
  .pre-footer-region .region-pre-footer .ip-prefooter-cta3 .ip-cta-row{
    width:100%;
    max-width:520px;
    height:auto;
  }
  .pre-footer-region .region-pre-footer .ip-prefooter-cta3 .ip-cta-main,
  .pre-footer-region .region-pre-footer .ip-prefooter-cta3 .ip-cta-sub{
    position:static;
    transform:none;
    pointer-events:auto;
    margin-top:10px;
    height:auto;
    min-height:56px;
  }
}

/* =========================================
   SCHUBLADEN-SCHIEBER — Kopie für In-Body Custom-Block
   (block_content:39, UUID dc9fe6fb-d727-4fcf-96c1-3b8bf63f5aee)
   1:1 wie Pre-Footer-Variante oben, nur anderer Selektor-Präfix
========================================= */

.block-block-contentdc9fe6fb-d727-4fcf-96c1-3b8bf63f5aee .ip-prefooter-cta3{
  display:flex;
  flex-direction:column;
  gap:26px;
  align-items:center;
  width:100%;
  max-width:560px;
  margin:32px auto;
}

.block-block-contentdc9fe6fb-d727-4fcf-96c1-3b8bf63f5aee .ip-prefooter-cta3 .ip-cta-row{
  position:relative;
  width:280px;
  height:56px;
}

.block-block-contentdc9fe6fb-d727-4fcf-96c1-3b8bf63f5aee .ip-prefooter-cta3 .ip-cta-main{
  position:absolute;
  inset:0;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  font-weight:900;
  font-size:16px;
  letter-spacing:.5px;
  color:#fff;
  border: 2px solid #fff;
  box-shadow:0 2px 6px rgba(0,0,0,.06);
  transition: box-shadow .2s ease, filter .2s ease;
}

.block-block-contentdc9fe6fb-d727-4fcf-96c1-3b8bf63f5aee .ip-prefooter-cta3 .ip-cta-sub{
  position:absolute;
  inset:0;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:14px;
  font-weight:800;
  font-size:14px;
  text-decoration:none;
  color:#fff;
  text-align:center;
  padding: 0 14px;
  white-space:normal;
  line-height:1.2;
  box-shadow:0 4px 10px rgba(0,0,0,.10);
  transform: translateX(0);
  pointer-events:none;
  transition: transform .26s cubic-bezier(.4,0,.2,1);
}

.block-block-contentdc9fe6fb-d727-4fcf-96c1-3b8bf63f5aee .ip-prefooter-cta3 .ip-cta-row:hover .ip-cta-sub,
.block-block-contentdc9fe6fb-d727-4fcf-96c1-3b8bf63f5aee .ip-prefooter-cta3 .ip-cta-row:focus-within .ip-cta-sub{
  transform: translateX(260px);
  pointer-events:auto;
}

.block-block-contentdc9fe6fb-d727-4fcf-96c1-3b8bf63f5aee .ip-prefooter-cta3 .ip-cta-row--jobs .ip-cta-main{
  background:linear-gradient(135deg,#8dc157,#6fa33e);
}
.block-block-contentdc9fe6fb-d727-4fcf-96c1-3b8bf63f5aee .ip-prefooter-cta3 .ip-cta-row--jobs .ip-cta-sub{
  background:#9ec871;
}
.block-block-contentdc9fe6fb-d727-4fcf-96c1-3b8bf63f5aee .ip-prefooter-cta3 .ip-cta-row--employers .ip-cta-main{
  background:linear-gradient(135deg,#0f2c74,#0b2156);
}
.block-block-contentdc9fe6fb-d727-4fcf-96c1-3b8bf63f5aee .ip-prefooter-cta3 .ip-cta-row--employers .ip-cta-sub{
  background:#0071b3;
}

.block-block-contentdc9fe6fb-d727-4fcf-96c1-3b8bf63f5aee .ip-prefooter-cta3 .ip-cta-row:hover .ip-cta-main{
  box-shadow:0 4px 10px rgba(0,0,0,.10);
  filter:brightness(1.02);
}

@media (max-width:768px){
  .block-block-contentdc9fe6fb-d727-4fcf-96c1-3b8bf63f5aee .ip-prefooter-cta3{
    align-items:center;
  }
  .block-block-contentdc9fe6fb-d727-4fcf-96c1-3b8bf63f5aee .ip-prefooter-cta3 .ip-cta-row{
    width:100%;
    max-width:520px;
    height:auto;
  }
  .block-block-contentdc9fe6fb-d727-4fcf-96c1-3b8bf63f5aee .ip-prefooter-cta3 .ip-cta-main,
  .block-block-contentdc9fe6fb-d727-4fcf-96c1-3b8bf63f5aee .ip-prefooter-cta3 .ip-cta-sub{
    position:static;
    transform:none;
    pointer-events:auto;
    margin-top:10px;
    height:auto;
    min-height:56px;
  }
}

/* FAQ Accordion – ruhiger Look */
.accordion-button {
  font-weight: 600;
}

.accordion-button:not(.collapsed) {
  background-color: #f8f9fa;
  color: #0d6efd;
  box-shadow: none;
}

.accordion-button:focus {
  box-shadow: none;
}

/* Karten Hover-Effekt */
.card {
  transition: transform .2s ease, box-shadow .2s ease;
}

.card:hover {
  transform: translateY(-4px);
  box-shadow: 0 0.75rem 1.5rem rgba(0,0,0,.08);
}

/* Link-Farbe neutral halten */
.card a {
  color: inherit;
}
/* FAQ Box Container */
.faq-box {
  border-radius: 8px;
  overflow: hidden;
  border: 1px solid #e0e0e0;
  background: #ffffff;
}

/* Hellgrüne Kopfzeile */
.faq-box-header {
  background-color: #F4F8FF;  /* hellblau*/
  padding: 14px 20px;
  font-weight: 600;
  color: #2f4f2f;
  font-size: 1.1rem;
}

/* Body */
.faq-box-body {
  padding: 0;
}


/* Accordion anpassen */
.faq-box .accordion-button {
  background-color: #ffffff;
  font-weight: 700;
  font-size: .8em;
}

.faq-box .accordion-button:not(.collapsed) {
  background-color: #EDF4E6;
  color: #13317c;
  box-shadow: none;
}


.faq-box .accordion-item {
  border: none;
  border-bottom: 1px solid #eaeaea;
}

.faq-box .accordion-item:last-child {
  border-bottom: none;
}

/* =========================================
   TOPBAR CTA – kompakte Variante für top_header_form
========================================= */

.ip-topbar-cta {
  display: flex;
  align-items: center;
}

.ip-topbar-cta .ip-cta-row {
  position: relative;
  width: 160px;
  height: 36px;
}

.ip-topbar-cta .ip-cta-main {
  position: absolute;
  inset: 0;
  z-index: 2;
  cursor: pointer !important;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  font-weight: 800;
  font-size: 12px;
  letter-spacing: .4px;
  color: #fff;
  border: 2px solid rgba(255,255,255,0.4);
  background: linear-gradient(135deg, #8dc157, #6fa33e);
  box-shadow: 0 4px 12px rgba(0,0,0,.15);
  transition: box-shadow .2s ease, filter .2s ease;
  cursor: default;
}

.ip-topbar-cta .ip-cta-sub {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  font-weight: 700;
  font-size: 11px;
  text-decoration: none;
  color: #fff;
  text-align: center;
  padding: 0 10px;
  white-space: normal;
  line-height: 1.2;
  background: #9ec871;
  box-shadow: 0 6px 16px rgba(0,0,0,.15);
  transform: translateX(0);
  pointer-events: none;
  transition: transform .26s cubic-bezier(.4,0,.2,1);
}

.ip-topbar-cta .ip-cta-row:hover .ip-cta-sub,
.ip-topbar-cta .ip-cta-row:focus-within .ip-cta-sub {
  transform: translateX(-150px);
  pointer-events: auto;
}

.ip-topbar-cta .ip-cta-icon {
  width: 33px;
  height: 33px;
  object-fit: contain;
  margin-right: 7px;
  flex-shrink: 0;
  transition: transform 0.8s ease;
}

.ip-topbar-cta .ip-cta-row:hover .ip-cta-icon {
  transform: rotate(360deg);
}

.ip-topbar-cta .ip-cta-row:hover .ip-cta-main {
  box-shadow: 0 6px 18px rgba(0,0,0,.2);
  filter: brightness(1.04);
}

@media (max-width: 768px) {
  .ip-topbar-cta {
    display: none;
  }
}
/* ========================================
   PRESSEMONITOR CARDS
   Blöcke: block-1 (CS+DE), block-2 (DE only)
   Klassen am View-Wrapper setzen:
     block-1 → CSS-Klasse: pressemonitor-cards
     block-2 → CSS-Klasse: pressemonitor-cards pressemonitor-cards-de
   ======================================== */

/* --- Gemeinsame Basis (beide Blöcke) --- */

.pressemonitor-cards .views-view-responsive-grid__item,
.block-views-blockpressemonitor-block-8 .views-view-responsive-grid__item,
.block-views-blockpressemonitor-block-2 .views-view-responsive-grid__item {
  background: #fff;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  overflow: hidden;
  transition: all 0.2s ease;
}

.pressemonitor-cards .views-field-title,
.block-views-blockpressemonitor-block-8 .views-field-title,
.block-views-blockpressemonitor-block-2 .views-field-title {
  padding: 10px 12px 6px !important;
}

.pressemonitor-cards .views-field-title a,
.block-views-blockpressemonitor-block-8 .views-field-title a,
.block-views-blockpressemonitor-block-2 .views-field-title a {
  color: var(--text-ueberschrift);
  text-decoration: none;
  font-weight: 500;
}

.pressemonitor-cards .views-field-body,
.block-views-blockpressemonitor-block-8 .views-field-body,
.block-views-blockpressemonitor-block-2 .views-field-body {
  padding: 0 12px 10px;
  font-size: .85em;
  color: #555;
}

.pressemonitor-cards .views-field-field-untertitel,
.pressemonitor-cards .views-field-field-pub-datum,
.block-views-blockpressemonitor-block-8 .views-field-field-untertitel,
.block-views-blockpressemonitor-block-2 .views-field-field-untertitel,
.block-views-blockpressemonitor-block-8 .views-field-field-pub-datum,
.block-views-blockpressemonitor-block-2 .views-field-field-pub-datum {
  padding: 0 12px;
  font-size: .75em;
  color: #888;
}

.pressemonitor-cards .views-field-field-sprache,
.block-views-blockpressemonitor-block-8 .views-field-field-sprache,
.block-views-blockpressemonitor-block-2 .views-field-field-sprache { display: none; }

/* --- Block 1: CS + DE — grüner Akzent --- */

.pressemonitor-cards:not(.pressemonitor-cards-de) .views-view-responsive-grid__item:hover {
  border-color: #8bc34a;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}

.pressemonitor-cards:not(.pressemonitor-cards-de) .views-field-field-monitor-typ .field-content {
  display: block;
  background: #edf4e6;
  font-size: .75em;
  font-weight: 600;
  padding: 6px 10px;
  color: #4a7c35;
}

/* ip-newspaper-icon: Zeitungs-Symbol (Material "newspaper") vor der Rubrik (Personalistika, Obecne, ...) als SVG-Maske, Farbe = Textfarbe */
.pressemonitor-cards .views-field-field-monitor-typ .field-content:not(:has(.ip-ico))::before {
  content: "";
  display: inline-block;
  width: 1.35em;
  height: 1.35em;
  margin-right: 6px;
  vertical-align: -0.28em;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22 3l-1.67 1.67L18.67 3 17 4.67 15.33 3l-1.66 1.67L12 3l-1.67 1.67L8.67 3 7 4.67 5.33 3 3.67 4.67 2 3v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V3zM11 19H4v-6h7v6zm9 0h-7v-2h7v2zm0-4h-7v-2h7v2zm0-4H4V8h16v3z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22 3l-1.67 1.67L18.67 3 17 4.67 15.33 3l-1.66 1.67L12 3l-1.67 1.67L8.67 3 7 4.67 5.33 3 3.67 4.67 2 3v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V3zM11 19H4v-6h7v6zm9 0h-7v-2h7v2zm0-4h-7v-2h7v2zm0-4H4V8h16v3z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* ip-ico: kleine Symbole per SVG-Maske in Textfarbe; Verwendung im Views-Rewrite:
   <span class="ip-ico ip-ico--info" aria-hidden="true"></span>{{ feld }} */
.ip-ico {
  display: inline-block;
  width: 1.35em;
  height: 1.35em;
  margin-right: 6px;
  vertical-align: -0.28em;
  background-color: currentColor;
  -webkit-mask: var(--ip-ico) no-repeat center / contain;
  mask: var(--ip-ico) no-repeat center / contain;
}
/* Zeitung: gleiche Form wie das ::before-Symbol im Pressemonitor, falls es per Rewrite (<span class="ip-ico ip-ico--newspaper">) gesetzt wird */
.ip-ico--newspaper {
  --ip-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22 3l-1.67 1.67L18.67 3 17 4.67 15.33 3l-1.66 1.67L12 3l-1.67 1.67L8.67 3 7 4.67 5.33 3 3.67 4.67 2 3v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V3zM11 19H4v-6h7v6zm9 0h-7v-2h7v2zm0-4h-7v-2h7v2zm0-4H4V8h16v3z'/%3E%3C/svg%3E");
}
.ip-ico--info {
  --ip-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z'/%3E%3C/svg%3E");
}

/* --- Block 2: DE only — blauer Akzent ---
   Greift automatisch via Block-ID — keine extra CSS-Klasse in Views nötig.
   Optional: pressemonitor-cards-de als zusätzliche Klasse am View-Wrapper setzen. */

.pressemonitor-cards-de .views-field-field-monitor-typ .field-content,
.block-views-blockpressemonitor-block-8 .views-field-field-monitor-typ .field-content,
.block-views-blockpressemonitor-block-2 .views-field-field-monitor-typ .field-content {
  display: block;
  background: #fff8e6;
  font-size: .75em;
  font-weight: 600;
  padding: 6px 10px;
  color: #8a6200;
}

.pressemonitor-cards-de .views-view-responsive-grid__item,
.block-views-blockpressemonitor-block-8 .views-view-responsive-grid__item,
.block-views-blockpressemonitor-block-2 .views-view-responsive-grid__item {
  border-color: #f0e6c8;
}

.pressemonitor-cards-de .views-view-responsive-grid__item:hover,
.block-views-blockpressemonitor-block-8 .views-view-responsive-grid__item:hover,
.block-views-blockpressemonitor-block-2 .views-view-responsive-grid__item:hover {
  border-color: #d4a017;
  box-shadow: 0 4px 12px rgba(212,160,23,0.15);
}

/* "DE" Sprachkennzeichnung im DE-Block ausblenden */
.pressemonitor-cards-de .views-field-field-sprache,
.block-views-blockpressemonitor-block-8 .views-field-field-sprache,
.block-views-blockpressemonitor-block-2 .views-field-field-sprache {
  display: none;
}
.pressemonitor-cards-de .views-field .field-content img, .pressemonitor-cards .views-field .field-content img{
  width: 16px;
  height: 16px;
  object-fit: contain;
  vertical-align: middle;
  margin-right: 4px;
}
/* =========================================
   ABOVE HEADER BAR – schmale Info-Leiste
========================================= */

.above-header-bar {
  background: #fff;
  border-bottom: 1px solid #e9ecef;
  font-size: 0.75rem;
  color: #666;
  text-align: center;
  padding: 5px 0;
  width: 100%;
}

@media (max-width: 768px) {
  .above-header-bar {
    display: none;
  }
}
/* --- Pressemonitor: Abstand zwischen den Sprachboxen (CS/PL/SK/DE) --- */

.block-views-blockpressemonitor-block-2,
.block-views-blockpressemonitor-block-3,
.block-views-blockpressemonitor-block-4 {
  margin-top: 40px;
}

/* =========================================
   CTA-Link unter der Job-Liste (View front / block_3 Footer)
========================================= */
.ip-joblist-more{
  text-align:center;
  margin:28px 0 8px;
  background: #F4F8FF;
padding: 4px;
  border-bottom: 3px solid #8DC157;
  border-radius: 10px
}
.ip-joblist-more__link{
  display:inline-block;
  background:#8dc157;
  color:#fff !important;
  font-weight:700;
  font-size:15px;
  text-decoration:none;
  padding:12px 28px;
  border-radius:8px;
  transition:background .2s ease;
}
.ip-joblist-more__link:hover,
.ip-joblist-more__link:focus-visible{
  background:#6fa33e;
  color:#fff !important;
  text-decoration:none;
}

/* "Jetzt bewerben"-Link als kompakter Button (kleiner als Job-Alert-Button) */
.views-field-field-unternehmensseite-bewerber-1 .field-content a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: -2px;
  padding: 8px 16px 8px 8px;
  background: #8dc157;
  color: #fff;
  font-weight: 600;
  font-size: 14px;
  line-height: 1;
  text-decoration: none;
  border-radius: 6px;
  transition: background 0.2s ease;
}
.views-field-field-unternehmensseite-bewerber-1 .field-content a:hover,
.views-field-field-unternehmensseite-bewerber-1 .field-content a:focus-visible {
  background: #6fa33e;
  color: #fff;
  text-decoration: none;
}
.views-field-field-unternehmensseite-bewerber-1 .field-content a::before {
  font-family: "Material Icons";
  content: "send";
  font-size: 16px;
  line-height: 1;
}

/* Adressblock fullnode_angebot/block_3: Kontaktzeilen volle Breite, Logo
   in eigener Zeile darunter (Template views-view-fields--fullnode-angebot--block-3.html.twig).
   Vorher stand das Logo fest auf 40% Breite neben den Kontaktzeilen - das
   quetschte breite/querformatige Logos winzig, waehrend nur zufaellig
   passende Seitenverhaeltnisse gut aussahen. Gleiches Prinzip wie beim
   Kontaktblock in fullnode_angebot/block_9. */
.col-sm-6 .fullnode-tabelle-adresse .ip-adress-flex {
  display: block;
}
.col-sm-6 .fullnode-tabelle-adresse .ip-adress-flex__kontakt {
  min-width: 0;
}

/* Kopfzeile: Firmenname/Adresse links, Logo rechts oben. Logo-Box begrenzt
   Breite UND Hoehe (object-fit:contain), damit breite, hohe und quadratische
   Logos gleich gut passen. flex-wrap: bei schmalem Block rutscht das Logo
   unter den Text. */
.col-sm-6 .fullnode-tabelle-adresse .ip-adress-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px 20px;
}
.col-sm-6 .fullnode-tabelle-adresse .ip-adress-head__text {
  flex: 1 1 150px;
  min-width: 0;
}
/* PLZ + Stadt in einer Zeile (Template rendert beide als eigene Block-Divs) */
.col-sm-6 .fullnode-tabelle-adresse .ip-adress-head__text .views-field-field-plz,
.col-sm-6 .fullnode-tabelle-adresse .ip-adress-head__text .views-field-field-stadt {
  display: inline-block;
}
.col-sm-6 .fullnode-tabelle-adresse .ip-adress-head__text .views-field-field-plz {
  margin-right: 0.2em;
  padding-right: 0;
}
.col-sm-6 .fullnode-tabelle-adresse .ip-adress-head__logo {
  flex: 0 1 320px;
  max-width: 320px;
  margin-left: auto;
  margin-right: 25px;
  margin-top: 0;
}
.col-sm-6 .fullnode-tabelle-adresse .ip-adress-head__logo:empty {
  display: none;
}
.col-sm-6 .fullnode-tabelle-adresse .ip-adress-head__logo .views-field-field-logo,
.col-sm-6 .fullnode-tabelle-adresse .ip-adress-head__logo .views-field-field-logo-link {
  margin: 0;
  padding: 0;
  text-align: right;
}
.col-sm-6 .fullnode-tabelle-adresse .ip-adress-head__logo .views-field-field-logo img,
.col-sm-6 .fullnode-tabelle-adresse .ip-adress-head__logo .views-field-field-logo-link img {
  display: block;
  /* Nie ueber die Originalgroesse hinaus vergroessern (Image-Style medium = 220px -> sonst unscharf) */
  width: auto;
  max-width: 240px;
  max-height: 140px;
  height: auto;
  object-fit: contain;
  padding: 8px;
  box-sizing: border-box;
  background: #fff;
  margin-left: auto;
}

/* QR-Code-Zeile (nur vorhanden, wenn Feld befuellt) */
.col-sm-6 .fullnode-tabelle-adresse .ip-adress-logo-row {
  border-top: 1px solid #e3e3e3;
  padding-top: 16px;
  margin-top: 16px;
  text-align: left;
}

/* Adressblock fullnode_angebot/block_3: POST-Zone (Arbeitsort-Zeile + Geomap) abgesetzt */
.col-sm-6 .fullnode-tabelle-adresse .ip-adress-post {
  margin-top: 24px;
  padding-top: 18px;
  border-top: 3px solid #8dc157;
}
.col-sm-6 .fullnode-tabelle-adresse .ip-adress-post .views-field-nothing-1 {
  margin-bottom: 12px;
  font-weight: 600;
}
.col-sm-6 .fullnode-tabelle-adresse .ip-adress-post .geolocation-map-container {
  border-top: 3px solid #90cbf9;
  border-radius: 0.4rem;
  box-shadow: 0 4px 6px rgba(79, 144, 200, 0.25);
}


/* ============================================================================
   Top-Angebote-Attachment (alle_angebote / attachment_1, Wrapper .top-attachment)
   Zieloptik: EXAKT wie der Normal-Block block_2 (hellblaue Kopfzeile mit gruener
   Unterkante, Logo absolut rechts, kein Karten-Rahmen) PLUS Top-Extras
   (orange Badge + orange Kante links). Konsolidiert 2026-09-07 - ans Dateiende,
   um die ueber die Datei verstreuten .top-attachment-"Front-Block-3-Design"-
   Regeln (Z~1208/1229/1267/1348/2195) final zu ueberschreiben.
   ========================================================================== */

/* Karte: rahmenlos, kein Radius, kein Hover-Shadow */
.top-attachment .views-view-responsive-grid__item,
.top-attachment .views-view-responsive-grid__item:hover {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
  background: transparent !important;
}
.top-attachment .views-view-responsive-grid__item-inner {
  position: relative !important;
  display: block !important;
}

/* Kopfzeile: hellblau + gruene Unterkante + orange Kante links + oben abgerundet */
.top-attachment .views-view-responsive-grid__item-inner .views-field-nothing {
  background-color: #f4f8ff !important;
  border-bottom: 0 !important;
  border-left: 3px solid #8dc157 !important;
  border-radius: 10px 10px 0 0 !important;
  padding: 10px 15px !important;
  padding-right: 32px !important;
  margin-top: 0 !important;
  order: 0 !important;
}

/* Badge rechts in der Kopfzeile */
.top-attachment .views-field-nothing .field-content {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 4px 6px !important;
}
/* TOP-Tab: Reiter, der oben aus der Karte herausragt (analog block_3, siehe Z~1446) */
.top-attachment .badge-top {
  position: absolute !important;
  top: 0 !important;
  left: 16px !important;
  right: auto !important;
  margin-right: 0 !important; /* Tab links statt rechts, damit er nicht mit dem Logo konkurriert (2026-10-12) */
  transform: translateY(-100%) !important;
  margin-left: 0 !important;
  display: inline-block !important;
  padding: 4px 14px 5px !important;
  font-weight: 700 !important;
  font-size: 0.78em !important;
  letter-spacing: 0.07em !important;
  line-height: 1.4 !important;
  color: #fff !important;
  background: #8dc157 !important;
  border-radius: 6px 6px 0 0 !important;
  box-shadow: 0 -1px 3px rgba(0,0,0,0.08) !important;
  z-index: 5 !important;
  float: none !important;
}

/* Logo: absolut rechts, vertikal zentriert (block_2-Regel) */
.top-attachment .views-view-responsive-grid__item-inner > .views-field-field-logo {
  position: absolute !important;
  top: 58px !important;
  transform: none !important;
  right: 15px !important;
  left: auto !important;
  max-width: 130px !important;
  margin: 0 !important;
  padding: 5px !important;
  order: 0 !important;
  display: block !important;
  float: none !important;
  text-align: right !important;
}
.top-attachment .views-field-field-logo .field-content {
  display: flex !important;
  justify-content: flex-end !important;
}
.top-attachment .views-field-field-logo img {
  max-width: 100% !important;
  max-height: 70px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: inline-block !important;
}
.top-attachment .views-field-field-logo img:not(:first-child) {
  display: none !important;
}

/* Fallback fuer angebot_stelle: field_logo ist ein direktes Node-Feld und nur
   bei stellenangebot befuellt. angebot_stelle bezieht Logo stattdessen ueber
   die field_anbieter_firma-Relationship (field_logo_1 = Bildfeld, field_logo_link
   = Text-URL-Feld, als <img> gerendert) - gleiches Muster wie alle_angebote/block_2.
   Prioritaet: field_logo > field_logo_1 > field_logo_link. */
.top-attachment .views-view-responsive-grid__item-inner > .views-field-field-logo-1,
.top-attachment .views-view-responsive-grid__item-inner > .views-field-field-logo-link {
  display: none;
}

.top-attachment .views-view-responsive-grid__item-inner:not(:has(> .views-field-field-logo img)) > .views-field-field-logo-1 {
  display: block !important;
  position: absolute !important;
  top: 58px !important;
  transform: none !important;
  right: 15px !important;
  left: auto !important;
  max-width: 130px !important;
  margin: 0 !important;
  padding: 5px !important;
  text-align: right !important;
}

.top-attachment .views-view-responsive-grid__item-inner:not(:has(> .views-field-field-logo img, > .views-field-field-logo-1 img)) > .views-field-field-logo-link {
  display: block !important;
  position: absolute !important;
  top: 58px !important;
  transform: none !important;
  right: 15px !important;
  left: auto !important;
  max-width: 130px !important;
  margin: 0 !important;
  padding: 5px !important;
  text-align: right !important;
}

.top-attachment .views-field-field-logo-1 img,
.top-attachment .views-field-field-logo-link img {
  max-width: 100% !important;
  max-height: 70px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: inline-block !important;
}

/* Titel/Untertitel weichen dem Logo aus (wie Normal-Block) */
.top-attachment .views-view-responsive-grid__item-inner > .views-field-title {
  padding: 12px !important;
  padding-right: 130px !important;
}
.top-attachment .views-view-responsive-grid__item-inner > .views-field-field-untertitel {
  max-width: 90% !important;
}

/* Illustrationsbild aus field_illustrationsbild_link (externe URL, per Views-Rewrite als <img>)
   fullnode_angebot / block_1 "Block Body". Kein Image-Style - Groesse per CSS begrenzen. */
.views-field-illustrationsbild {
  margin: 1rem 0;
}
img.illustrationsbild {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 0.4rem;
}

/* === Taxonomy-Term TOP-Liste (attachment_2) an die anderen TOP-Bloecke angleichen === */

/* 1) Map: Abstand nach unten etwas groesser, damit sie klar vom TOP-Block absetzt */
.path-taxonomy .col-sm-9 .view-display-id-attachment_1 .geolocation-map-wrapper {
  margin-bottom: 30px;
}

/* 2) TOP-Liste: Kopfzeile als Flex (Flagge | Kategorie | Datum | TOP-Badge rechts),
      gruene Kante OBEN statt unten - wie front/block_3 und alle_angebote/attachment_1 */
.path-taxonomy .col-sm-9 .view-display-id-attachment_2 .views-field-nothing {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  border-top: 3px solid #8dc157;
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
  background-color: #f4f8ff;
  padding: 8px 12px;
}

.path-taxonomy .col-sm-9 .view-display-id-attachment_2 .views-field-nothing .field-content {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 6px;
}

/* 3) "TOP" gruen gebadged, rechtsbuendig - identisch zu .badge-top der anderen Bloecke */
.path-taxonomy .col-sm-9 .view-display-id-attachment_2 .views-field-nothing .badge-top {
  margin-left: auto;
  display: inline-block;
  padding: 1px 9px;
  font-weight: 700;
  font-size: 0.82em;
  letter-spacing: 0.07em;
  line-height: 1.6;
  color: #fff;
  background: #8dc157;
  border-radius: 3px;
}

/* 4) Karte selbst: dezenter Schatten wie die Kategorie-Cards darueber */
.path-taxonomy .col-sm-9 .view-display-id-attachment_2 .views-view-responsive-grid__item-inner {
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.15);
  border-color: #e9ecef;
}

/* 5) Abstand zwischen TOP-Liste und der Haupt-Angebotsliste darunter */
.path-taxonomy .col-sm-9 .view-display-id-block_1 > .attachment-before {
  margin-bottom: 30px;
}


/* ============================================================================
   Alle-Angebote Block 2 (Normal-Liste ohne TOP): Font-size der Kopfzeile
   an attachment_1 angleichen (0.8em statt vererbter Basisgroesse).
   ========================================================================== */
#views-bootstrap-alle-angebote-block-2 .views-field-nothing,
.alle-angebote-grid .views-field-nothing {
  font-size: 0.8em;
}


/* ============================================================================
   Firmenprofil: Zugehoerige Angebote (Bootstrap-Tabs je Sprache)
   Kopfzeile-Optik an die Angebote-Uebersichtsseite angleichen: Kopfzeile
   (Hauptkategorie | Datum, views-field-nothing) mit gruener Unterkante,
   Titel als eigenstaendiges Element darunter, dann Untertitel.
   Seit 2026-09-18: aeussere View block_angebote_liste rendert pro Job einen
   eigenen Block (views_field_view bettet block_angebote je nid ein), daher
   Klasse "-liste" statt "-angebote". Trennung zwischen den Job-Bloecken via
   .views-row-Regel weiter unten.
   ========================================================================== */
.block-views-blockfirmenprofil-block-angebote-liste .tab-pane {
  padding: 10px 15px 15px;
}

.block-views-blockfirmenprofil-block-angebote-liste .views-field-nothing {
  background-color: #f4f8ff;
  border-bottom: 3px solid #8dc157;
  border-radius: 10px 10px 0 0;
  padding: 10px 15px;
  margin: 0 -15px 12px;
  font-size: 0.8em;
  color: #333;
}

.block-views-blockfirmenprofil-block-angebote-liste .views-field-nothing a {
  color: #1a3a5c;
  font-weight: 600;
  text-decoration: none;
}

.block-views-blockfirmenprofil-block-angebote-liste .views-field-nothing a:hover {
  color: #8dc157;
  text-decoration: underline;
}

.block-views-blockfirmenprofil-block-angebote-liste .views-field-title {
  margin-bottom: 8px;
}

/* Titel-Optik an die Angebotsuebersicht angeglichen (2026-09-18): kein eigenes
   Font-Override mehr, faellt auf die globale h3-Regel (1.5rem) + globale
   Link-Farbe (#0071b3) zurueck statt der vorherigen 1.15em/700/#1a3a5c. */
.block-views-blockfirmenprofil-block-angebote-liste .views-field-title a {
  text-decoration: none;
}

.block-views-blockfirmenprofil-block-angebote-liste .views-field-title a:hover {
  color: #8dc157;
  text-decoration: underline;
}

.block-views-blockfirmenprofil-block-angebote-liste .views-field-field-untertitel {
  font-size: 0.9em;
  color: #333;
  max-width: 90%;
}

/* Trennung zwischen den einzelnen Job-Bloecken (je ein .views-row der
   aeusseren Liste = ein Job mit seinen Sprach-Tabs). */
.block-views-blockfirmenprofil-block-angebote-liste .view-content > .views-row {
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #dfe3e8;
}

.block-views-blockfirmenprofil-block-angebote-liste .view-content > .views-row:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none;
}


/* ============================================================================
   Firmenprofil: Node-Titel-Block (Layout Builder, Region "top") als H1-Optik
   mit einfahrender gruener Unterstreichung.
   ========================================================================== */
.block-field-blocknodeanbietr-firmatitle .field--name-title {
  position: relative;
  display: block;
  width: 100%;
  font-size: 2em;
  font-weight: 700;
  color: #1a3a5c;
  margin: 0 0 20px;
  padding-bottom: 10px;
}

.block-field-blocknodeanbietr-firmatitle .field--name-title::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  height: 3px;
  width: 0;
  background: #8dc157;
  animation: firmenprofil-titel-underline 0.8s ease-out 0.2s forwards;
}

@keyframes firmenprofil-titel-underline {
  from { width: 0; }
  to { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .block-field-blocknodeanbietr-firmatitle .field--name-title::after {
    animation: none;
    width: 100%;
  }
}

/* Angebote-Block-Titel: kein grosser Ueberschriften-Look, nur dezenter Hinweistext */
.block-views-blockfirmenprofil-block-angebote-liste > h2 {
  font-size: 0.95em;
  font-weight: 600;
  color: #6c757d;
  margin: 0 0 20px;
}


/* ============================================================================
   Firmenprofil Fullnode: Abstaende + Hintergrund fuer GeoMap/Kontaktdaten-Section
   ========================================================================== */
.layout__region--first .block-views-blockfirmenprofil-block-2 {
  margin-right: 10px;
}

.layout__region--second .block-views-blockfirmenprofil-block-kontakt {
  background: #f8f9fa;
  border-radius: 8px;
  padding: 20px 25px;
  margin-left: 10px;
}

.block-views-blockfirmenprofil-block-2 .geolocation-map-container {
  width: 100% !important;
  border: 1px solid #90cbf9;
  border-radius: 12px;
  box-shadow: 0 4px 6px rgba(79, 144, 200, 0.25);
}

.block-views-blockfirmenprofil-block-angebote-liste {
  margin-top: 30px;
}


/* ============================================================================
   Firmenprofil: Kontaktdaten-Box im Stil des fullnode_angebot-Adressblocks
   (Titel/Adresse/Flagge oben, gruene Trennlinie, Kontakt+Logo zweispaltig
   darunter, zweite gruene Trennlinie).
   ========================================================================== */
/* Logo bekommt eine schmale feste Spalte statt 1fr (2026-09-18): bei
   gleicher Breite wie die Textspalte zog das Logo ueber grid-row:1/4 die
   Zeilenhoehen von Firmenname/Strasse unnoetig hoch (optisch zu grosser
   Abstand), und die Kontaktdaten (nothing-1, seit User-Umbau ein
   einzelnes Feld statt 6 Einzelfeldern) hatten dieselbe schmale Spalte
   wie die Adresse -- zu wenig Platz fuer lange Mail-Adressen/URLs, siehe
   [[project_firmenprofil_kontakt_grid_2026-09-18]]. */
.block-views-blockfirmenprofil-block-kontakt .views-row {
  display: grid;
  grid-template-columns: 1fr 170px;
  grid-template-rows: auto auto auto auto auto;
  column-gap: 20px;
  align-items: start;
}

.block-views-blockfirmenprofil-block-kontakt .views-field-field-logo {
  grid-column: 2;
  grid-row: 1 / 6;
  /* align-self: start statt center (2026-09-18): bei wenigen
     Kontaktdaten-Zeilen (z.B. Firma nur mit E-Mail + Webseite) ist die
     Gesamthoehe der ueberspannten Rows 1-5 deutlich groesser als das
     Logo selbst -- zentriert schwebte es dadurch mittig statt oben
     buendig mit dem Firmennamen. */
  align-self: start;
  text-align: center;
}

.block-views-blockfirmenprofil-block-kontakt .views-field-field-logo img {
  max-width: 100%;
  background: #fff;
  padding: 10px;
}

.block-views-blockfirmenprofil-block-kontakt .views-field-field-firma-name {
  grid-column: 1;
  grid-row: 1;
  margin-bottom: 10px;
}

.block-views-blockfirmenprofil-block-kontakt .views-field-field-strasse-nr {
  grid-column: 1;
  grid-row: 2;
  margin-bottom: 6px;
}

.block-views-blockfirmenprofil-block-kontakt .views-field-field-plz {
  grid-column: 1;
  grid-row: 3;
  display: flex;
  width: 55px;
}
.block-views-blockfirmenprofil-block-kontakt .views-field-field-stadt {
  grid-column: 1;
  grid-row: 3;
  display: flex;
  margin-left: 62px;
}

.block-views-blockfirmenprofil-block-kontakt .views-field-nothing {
  grid-column: 1 / -1;
  grid-row: 4;
  border-bottom: 2px solid #8dc157;
  padding-bottom: 12px;
  margin: 8px 0 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.firmensitz-flagge {
  width: 24px;
  height: auto;
  display: inline-block;
  vertical-align: middle;
}

/* Kontaktdaten-Feld (seit User-Umbau ein einzelnes "nothing-1"-Feld statt
   der frueheren 6 Einzelfelder field_e_mail/field_telefon/etc. -- die
   alten Selektoren darunter greifen dadurch nicht mehr, bleiben aber als
   Fallback stehen falls das Feld wieder aufgeteilt wird). Volle Breite
   der Textspalte statt der schmalen Logo-Spalte. */
.block-views-blockfirmenprofil-block-kontakt .views-field-nothing-1 {
  grid-column: 1;
  grid-row: 5;
}

/* Kontakt-Info-Zeilen (E-Mail/Telefon/Kontaktperson/Webseite/etc., je ein
   <div> statt <br>-Trennung seit der Leerzeilen-Bereinigung 2026-09-18)
   mit Abstand angeglichen an den oberen Adresszeilen (margin-bottom
   6-10px). */
.block-views-blockfirmenprofil-block-kontakt .kontakt-info-zeile {
  margin-bottom: 8px;
}

.block-views-blockfirmenprofil-block-kontakt .kontakt-info-zeile:last-child {
  margin-bottom: 0;
}

.block-views-blockfirmenprofil-block-kontakt .views-field-field-e-mail,
.block-views-blockfirmenprofil-block-kontakt .views-field-field-telefon,
.block-views-blockfirmenprofil-block-kontakt .views-field-field-whatsapp,
.block-views-blockfirmenprofil-block-kontakt .views-field-field-kontaktperson,
.block-views-blockfirmenprofil-block-kontakt .views-field-field-webseite,
.block-views-blockfirmenprofil-block-kontakt .views-field-field-unternehmensseite-bewerber {
  grid-column: 1;
}

@media (max-width: 767px) {
  .block-views-blockfirmenprofil-block-kontakt .views-row {
    display: block;
  }
  .block-views-blockfirmenprofil-block-kontakt .views-field-field-logo {
    margin: 15px 0;
  }
  .block-views-blockfirmenprofil-block-kontakt .views-field-field-plz,
  .block-views-blockfirmenprofil-block-kontakt .views-field-field-stadt {
    display: inline;
  }
}

.block-views-blockfirmenprofil-block-kontakt .material-icons {
  vertical-align: middle;
  color: #8dc157;
  margin-right: 6px;
}

.block-views-blockfirmenprofil-block-kontakt::after {
  content: '';
  display: block;
  margin-top: 15px;
  border-top: 2px solid #8dc157;
}


/* Partner-Logo-Carousel (View partner_logos, Block im Pre-footer, Bootstrap 5 Carousel) */
.block-views-blockpartner-logos-block-1 {
  padding: 32px 0;
}

.block-views-blockpartner-logos-block-1::before {
  content: '';
  display: block;
  height: 4px;
  width: 100%;
  margin-bottom: 32px;
  background: linear-gradient(90deg, #8bc34a 0%, #c5e1a5 100%);
}

.partner-logo-carousel {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px 48px;
}

.partner-logo-carousel__row {
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  gap: 24px;
  min-height: 80px;
}

.partner-logo-carousel__item {
  flex: 1 1 0;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 160px;
  height: 80px;
}

.partner-logo-carousel__item img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}

.partner-logo-carousel .carousel-indicators {
  bottom: -8px;
}

.partner-logo-carousel .carousel-indicators [data-bs-target] {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #ccc;
  border: 0;
  opacity: 1;
}

.partner-logo-carousel .carousel-indicators .active {
  background-color: #222;
}

@media (max-width: 767px) {
  .partner-logo-carousel__row {
    gap: 16px;
    min-height: 60px;
  }

  .partner-logo-carousel__item {
    max-width: 100px;
    height: 60px;
  }
}

/* ============================================================================
   Frontpage-Block front_3 (alle_angebote/front_3, "Nabidky prace" auf der
   Startseite): teilt die .top-attachment-Kartenoptik mit attachment_1
   (/cs/nabidky-prace), aber Kopfzeilen-Kante soll dort UNTEN sein (wie beim
   Alle-Angebote-Block-2-Design), nicht links. Ueberschreibt gezielt nur
   front_3 via der von Views automatisch gesetzten .view-display-id-front_3-
   Klasse auf demselben Wrapper - attachment_1 bleibt unveraendert mit Kante
   links. 2026-09-22.
   ========================================================================== */
.top-attachment.view-display-id-front_3 .views-view-responsive-grid__item-inner .views-field-nothing {
  border-left: 0 !important;
  border-top: 0 !important;
  border-bottom: 3px solid #8dc157 !important;
  border-radius: 10px 10px 0 0 !important;
}

/* ============================================================================
   FOOTER — Medialink Mutterkonzern-Banner (footer_third) & Portal-Familie
   (footer_fourth). Aktiviert die bisher ungenutzten 3./4. Footer-Spalten
   (--footer-column-3/4-width waren 35%/0%), um Medialink als Mutterkonzern
   sichtbar zu machen statt nur im Copyright-Kleingedruckten. 2026-09-22.
   ========================================================================== */

:root {
  --footer-column-1-width: 34%;
  --footer-column-2-width: 20%;
  --footer-column-3-width: 30%;
  --footer-column-4-width: 0%;
}

/* Medialink-Karte */
.footer-medialink-card {
  background: var(--domain-card-bg);
  border-radius: var(--domain-card-border-radius);
  border-bottom: var(--domain-card-border-width) solid var(--domain-card-border-color);
  box-shadow: var(--domain-card-shadow);
  padding: 24px 20px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.footer-medialink-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--domain-card-shadow-hover);
}

.footer-medialink-card__link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.footer-medialink-card__logo {
  display: block;
  font-family: 'Play', sans-serif;
  font-weight: 700;
  font-size: 19px;
  color: var(--footer-heading-color);
  margin-bottom: 12px;
  letter-spacing: 0.2px;
}

.footer-medialink-card__logo-sep {
  color: var(--domain-logo-green);
  margin: 0 6px;
  font-weight: 400;
}

.footer-medialink-card__claim {
  font-size: var(--footer-font-size-small);
  line-height: 1.5;
  color: var(--footer-text-color);
  margin-bottom: 12px;
}

.footer-medialink-card__cta {
  display: inline-block;
  font-weight: 700;
  color: var(--footer-link-color);
  font-size: var(--footer-font-size-small);
}

.footer-medialink-card:hover .footer-medialink-card__cta {
  color: var(--footer-link-hover-color);
}

/* Portal-Familie */
.footer-portal-family__title {
  font-size: var(--footer-font-size-small);
  font-weight: 700;
  color: var(--footer-heading-color);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 12px;
}

.footer-portal-family ul {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.footer-portal-family li a {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: var(--footer-font-size-small);
  color: var(--footer-text-color);
}

.footer-portal-family li a:hover {
  color: var(--footer-link-hover-color);
}

.footer-portal-family img.flag {
  width: 20px;
  height: auto;
  border: 1px solid #ddd;
}

@media (max-width: 767px) {
  .footer-medialink-card {
    margin-top: 10px;
  }
}

/* ============================================================================
   FOOTER — Medialink Wolken-Banner (pre_footer, unterhalb des bestehenden
   CTA-Blocks "HLEDAM PRACI / JSEM ZAMESTNAVATEL"). Nachbau der medialink.cz-
   Header-Optik (helles Himmelblau, weiche Blob-"Wolken", grüner Diagonal-
   schnitt) als volle-Breite Vertrauens-Banner für den Mutterkonzern.
   Ersetzt die kompakte Footer-Third-Karte (siehe unten, .footer-medialink-card
   bleibt im CSS erhalten falls später wieder gebraucht, Block selbst wurde
   geleert). 2026-09-22.
   ========================================================================== */

.footer-medialink-banner {
  width: 100%;
  background-color: #f7f9ff;
  background-image: url("/themes/custom/boot_sub/images/medialink-footer-clouds.png");
  background-position: center top;
  background-size: 100% auto;
  background-repeat: no-repeat;
  position: relative;
  padding: 60px 20px 70px;
  text-align: center;
  overflow: hidden;
  clip-path: polygon(0 3%, 100% 0, 100% 97%, 0 100%);
}

.footer-medialink-banner__inner {
  position: relative;
  z-index: 1;
  max-width: 720px;
  margin: 0 auto;
}

.footer-medialink-banner__logo {
  font-family: 'Play', sans-serif;
  font-weight: 700;
  font-size: 34px;
  color: var(--footer-heading-color);
}

.footer-medialink-banner__sep {
  color: #8dc157;
  margin: 0 14px;
  font-weight: 400;
}

.footer-medialink-banner__logo-link {
  text-decoration: none;
}

.footer-medialink-banner__claim {
  margin: 16px auto 0;
  font-size: 17px;
  line-height: 1.6;
  color: #444;
  max-width: 620px;
}

.footer-medialink-banner .footer-medialink-banner__cta {
  display: inline-block;
  margin-top: 18px;
  font-weight: 700;
  color: #0071b3 !important;
  text-decoration: none;
}

.footer-medialink-banner .footer-medialink-banner__cta:hover {
  color: #8dc157 !important;
}

@media (max-width: 767px) {
  .footer-medialink-banner__logo {
    font-size: 24px;
  }

  .footer-medialink-banner {
    padding: 35px 16px 45px;
  }
}

/* ============================================================================
   FOOTER — Vereinfachung auf nur noch Footer-Menü (footer_second).
   "Über uns" (footer_first) und "Unsere Portale" (footer_third) deaktiviert:
   Portale sind bereits im pre_footer-Wolken-Banner-Bereich abgedeckt,
   Impressums-Pflichtangaben leben vollständig auf der Impressum-Seite.
   Footer-Menü wird jetzt zentriert dargestellt, da einziger Inhalt der
   Zeile. 2026-09-23.
   ========================================================================== */

:root {
  --footer-column-1-width: 0%;
  --footer-column-2-width: 100%;
  --footer-column-3-width: 0%;
  --footer-column-4-width: 0%;
}

.site-footer__top {
  justify-content: center;
}

.region-footer-second {
  border-right: none;
  text-align: center;
  max-width: 100%;
  width: 100%;
  flex: 0 0 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100%;
}

.region-footer-second .content > ul {
  display: inline-block;
  text-align: left;
}

/* ============================================================================
   FOOTER — Menü horizontal statt untereinander (region-footer-second), mit
   grüner Underline-Akzentuierung beim Hover. 2026-09-23.
   ========================================================================== */

.region-footer-second nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 32px;
}

.region-footer-second nav li {
  margin-bottom: 0;
}

.region-footer-second nav a {
  position: relative;
  padding-bottom: 4px;
  display: inline-block;
}

.region-footer-second nav a::after {
  content: '';
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 0;
  height: 2px;
  background: #8dc157;
  transition: right 0.25s ease;
}

.region-footer-second nav a:hover::after,
.region-footer-second nav a:focus::after {
  right: 0;
}

@media (max-width: 767px) {
  .region-footer-second nav ul {
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }
}

/* ============================================================================
   FOOTER — Bootstrap-Container-Gutter entfernen (--bs-gutter-x), damit der
   graue site-footer__top-Bereich randlos volle Breite einnimmt statt durch
   den .container-fluid-Elternteil links/rechts eingerückt zu werden.
   User-Recherche 2026-09-23.
   ========================================================================== */

.site-footer .container-fluid {
  --bs-gutter-x: 0;
}

/* ============================================================================
   "Top zaměstnavatelé"-Karten (View front/block_5) — Job-Label jetzt als Link
   zum Angebot (Views-UI: Title-Feld, "Output as custom link", Link path
   node/{{ nid }}), Titel-Text im Rewrite ausgeblendet. Pfeil-SVG statt
   Link-Emoji als Icon vor dem Label. 2026-09-24.
   ========================================================================== */

.block-views-blockfront-block-5 .job-label-icon {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 4px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg) translateY(-1px);
  vertical-align: middle;
}

/* ============================================================================
   "Top zaměstnavatelé"-Karten: Job-Label-Link ("Aktuální nabídka") bekommt
   dieselbe grüne Underline-Hover-Animation wie das Footer-Menü, statt der
   statischen Browser-Standard-Unterstreichung. 2026-09-24.
   ========================================================================== */

.block-views-blockfront-block-5 .views-field-title a.job-label-link {
  position: relative;
  display: inline-block;
  padding-bottom: 2px;
  text-decoration: none;
}

.block-views-blockfront-block-5 .views-field-title a.job-label-link::after {
  content: '';
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 0;
  height: 2px;
  background: #8dc157;
  transition: right 0.25s ease;
}

.block-views-blockfront-block-5 .views-field-title a.job-label-link:hover::after,
.block-views-blockfront-block-5 .views-field-title a.job-label-link:focus::after {
  right: 0;
}

/* fullnode_angebot/block_9 (angebot_stelle): Firmenkontakt-Block.
   Mehr Abstand zum Body oben, Logo rechts neben den Adress-/Kontaktdaten,
   Trennlinie zwischen PLZ/Stadt und E-Mail. Alle Felder liegen als flache
   Geschwister in .views-row (kein Wrapper pro Feldgruppe), daher Grid direkt
   auf .views-row mit expliziter Platzierung jedes Einzelfelds. */
.block-views-blockfullnode-angebot-block-9 .fullnode-body-adresse {
  border-top: 3px solid #edf4e6;
  padding-top: 24px;
  margin-top: 16px;
}

.block-views-blockfullnode-angebot-block-9 .fullnode-body-adresse {
  container-type: inline-size;
}

/* Zwei Spalten: links Logo (ueber die ganze Hoehe, oben buendig), rechts
   Firmenname/Strasse/PLZ-Stadt und darunter die Kontaktzeilen mit Icons. */
.block-views-blockfullnode-angebot-block-9 .views-row {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 24px;
  align-items: start;
}

.block-views-blockfullnode-angebot-block-9 .views-field-field-firma-name,
.block-views-blockfullnode-angebot-block-9 .views-field-field-strasse-nr,
.block-views-blockfullnode-angebot-block-9 .views-field-field-stadt {
  grid-column: 2;
  display: block;
}

.block-views-blockfullnode-angebot-block-9 .views-field-field-e-mail,
.block-views-blockfullnode-angebot-block-9 .views-field-field-telefon,
.block-views-blockfullnode-angebot-block-9 .views-field-field-whatsapp,
.block-views-blockfullnode-angebot-block-9 .views-field-field-kontaktperson,
.block-views-blockfullnode-angebot-block-9 .views-field-field-webseite {
  grid-column: 2;
  display: block;
}

/* Reihenfolge der Zeilen ergibt sich aus der Reihenfolge der Views-Felder (kein grid-row/order per CSS) */

/* Trennlinie nur ueber den Icon-Zeilen (rechte Spalte) */
.block-views-blockfullnode-angebot-block-9 .views-field-field-kontaktperson {
  border-top: 1px solid #e3e3e3;
  padding-top: 10px;
  margin-top: 8px;
}

/* Logo: linke Spalte, oben buendig mit dem Firmennamen, ueber alle Zeilen (1-8) */
.block-views-blockfullnode-angebot-block-9 .views-field-field-logo-link,
.block-views-blockfullnode-angebot-block-9 .views-field-field-logo {
  grid-column: 1;
  grid-row: 1 / span 8;
  justify-self: start;
  align-self: start;
}

.block-views-blockfullnode-angebot-block-9 .views-field-field-logo-link img,
.block-views-blockfullnode-angebot-block-9 .views-field-field-logo img {
  max-width: 200px;
  max-height: 120px;
  width: auto;
  height: auto;
  object-fit: contain;
}

/* Schmaler Block: Logo wieder in eigene Zeile unter die Kontaktzeilen */
@container (max-width: 420px) {
  .block-views-blockfullnode-angebot-block-9 .views-row {
    grid-template-columns: 1fr;
  }
  .block-views-blockfullnode-angebot-block-9 .views-field-field-firma-name,
  .block-views-blockfullnode-angebot-block-9 .views-field-field-strasse-nr,
  .block-views-blockfullnode-angebot-block-9 .views-field-field-stadt,
  .block-views-blockfullnode-angebot-block-9 .views-field-field-e-mail,
  .block-views-blockfullnode-angebot-block-9 .views-field-field-telefon,
  .block-views-blockfullnode-angebot-block-9 .views-field-field-whatsapp,
  .block-views-blockfullnode-angebot-block-9 .views-field-field-kontaktperson,
  .block-views-blockfullnode-angebot-block-9 .views-field-field-webseite {
    grid-column: 1;
  }
  .block-views-blockfullnode-angebot-block-9 .views-field-field-logo-link,
  .block-views-blockfullnode-angebot-block-9 .views-field-field-logo {
    grid-column: 1;
    grid-row: auto;
    border-top: 1px solid #e3e3e3;
    padding-top: 16px;
    margin-top: 16px;
  }
}

/* fullnode_stellenangebot/block_9 (Kopie von fullnode_angebot/block_9; Logo links, Adressen rechts): Firmenkontakt-Block.
   Mehr Abstand zum Body oben, Logo rechts neben den Adress-/Kontaktdaten,
   Trennlinie zwischen PLZ/Stadt und E-Mail. Alle Felder liegen als flache
   Geschwister in .views-row (kein Wrapper pro Feldgruppe), daher Grid direkt
   auf .views-row mit expliziter Platzierung jedes Einzelfelds. */
.block-views-blockfullnode-stellenangebot-block-9 .fullnode-body-adresse {
  border-top: 3px solid #edf4e6;
  padding-top: 24px;
  margin-top: 16px;
}

.block-views-blockfullnode-stellenangebot-block-9 .fullnode-body-adresse {
  container-type: inline-size;
}

/* Zwei Spalten: links Logo (ueber die ganze Hoehe, oben buendig), rechts
   Firmenname/Strasse/PLZ-Stadt und darunter die Kontaktzeilen mit Icons. */
.block-views-blockfullnode-stellenangebot-block-9 .views-row {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 24px;
  align-items: start;
}

.block-views-blockfullnode-stellenangebot-block-9 .views-field-field-firma-name,
.block-views-blockfullnode-stellenangebot-block-9 .views-field-field-strasse-nr,
.block-views-blockfullnode-stellenangebot-block-9 .views-field-field-stadt {
  grid-column: 2;
  display: block;
}

.block-views-blockfullnode-stellenangebot-block-9 .views-field-field-e-mail,
.block-views-blockfullnode-stellenangebot-block-9 .views-field-field-telefon,
.block-views-blockfullnode-stellenangebot-block-9 .views-field-field-whatsapp,
.block-views-blockfullnode-stellenangebot-block-9 .views-field-field-kontaktperson,
.block-views-blockfullnode-stellenangebot-block-9 .views-field-field-webseite {
  grid-column: 2;
  display: block;
}

/* Reihenfolge der Zeilen ergibt sich aus der Reihenfolge der Views-Felder (kein grid-row/order per CSS) */

/* Trennlinie zwischen Adresse und Icon-Zeilen (rechte Spalte); haengt an der Stadt-Zeile, damit sie von der Views-Feldreihenfolge der Kontaktfelder unabhaengig ist */
.block-views-blockfullnode-stellenangebot-block-9 .views-field-field-stadt {
  border-bottom: 1px solid #e3e3e3;
  padding-bottom: 10px;
  margin-bottom: 8px;
}

/* Etwas mehr Zeilenabstand zwischen den Kontaktzeilen (Icon-Zeilen): stellenangebot/angebot block_9 und firmenprofil kontakt */
.block-views-blockfullnode-stellenangebot-block-9 .views-field-field-kontaktperson,
.block-views-blockfullnode-stellenangebot-block-9 .views-field-field-telefon,
.block-views-blockfullnode-stellenangebot-block-9 .views-field-field-whatsapp,
.block-views-blockfullnode-stellenangebot-block-9 .views-field-field-e-mail,
.block-views-blockfullnode-stellenangebot-block-9 .views-field-field-webseite,
.block-views-blockfullnode-angebot-block-9 .views-field-field-kontaktperson,
.block-views-blockfullnode-angebot-block-9 .views-field-field-telefon,
.block-views-blockfullnode-angebot-block-9 .views-field-field-whatsapp,
.block-views-blockfullnode-angebot-block-9 .views-field-field-e-mail,
.block-views-blockfullnode-angebot-block-9 .views-field-field-webseite,
.block-views-blockfirmenprofil-block-kontakt .views-field-field-kontaktperson,
.block-views-blockfirmenprofil-block-kontakt .views-field-field-telefon,
.block-views-blockfirmenprofil-block-kontakt .views-field-field-whatsapp,
.block-views-blockfirmenprofil-block-kontakt .views-field-field-e-mail,
.block-views-blockfirmenprofil-block-kontakt .views-field-field-webseite {
  margin-bottom: 6px;
}

/* Logo: linke Spalte, oben buendig mit dem Firmennamen, ueber alle Zeilen (1-8) */
.block-views-blockfullnode-stellenangebot-block-9 .views-field-field-logo-link,
.block-views-blockfullnode-stellenangebot-block-9 .views-field-field-logo {
  grid-column: 1;
  grid-row: 1 / span 8;
  justify-self: start;
  align-self: start;
}

.block-views-blockfullnode-stellenangebot-block-9 .views-field-field-logo-link img,
.block-views-blockfullnode-stellenangebot-block-9 .views-field-field-logo img {
  max-width: 200px;
  max-height: 120px;
  width: auto;
  height: auto;
  object-fit: contain;
}

/* Schmaler Block: Logo wieder in eigene Zeile unter die Kontaktzeilen */
@container (max-width: 420px) {
  .block-views-blockfullnode-stellenangebot-block-9 .views-row {
    grid-template-columns: 1fr;
  }
  .block-views-blockfullnode-stellenangebot-block-9 .views-field-field-firma-name,
  .block-views-blockfullnode-stellenangebot-block-9 .views-field-field-strasse-nr,
  .block-views-blockfullnode-stellenangebot-block-9 .views-field-field-stadt,
  .block-views-blockfullnode-stellenangebot-block-9 .views-field-field-e-mail,
  .block-views-blockfullnode-stellenangebot-block-9 .views-field-field-telefon,
  .block-views-blockfullnode-stellenangebot-block-9 .views-field-field-whatsapp,
  .block-views-blockfullnode-stellenangebot-block-9 .views-field-field-kontaktperson,
  .block-views-blockfullnode-stellenangebot-block-9 .views-field-field-webseite {
    grid-column: 1;
  }
  .block-views-blockfullnode-stellenangebot-block-9 .views-field-field-logo-link,
  .block-views-blockfullnode-stellenangebot-block-9 .views-field-field-logo {
    grid-column: 1;
    grid-row: auto;
    border-top: 1px solid #e3e3e3;
    padding-top: 16px;
    margin-top: 16px;
  }
}

/* ==========================================================================
   WhatsApp-Zeile: Material-Icon-Ligatur "chat" (Views-Rewrite) durch das
   WhatsApp-Logo (Markenfarbe) ersetzen. Gilt fuer alle Bloecke mit field_whatsapp.
   ========================================================================== */

.views-field-field-whatsapp .material-icons {
  font-size: 0;
  width: 24px;
  height: 24px;
  display: inline-block;
  vertical-align: middle;
  /* Logo als Maske: Farbe folgt der Icon-Farbe (currentColor) wie bei den anderen Kontakt-Icons */
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z'/%3E%3C/svg%3E") center / 20px 20px no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z'/%3E%3C/svg%3E") center / 20px 20px no-repeat;
}

/* ==========================================================================
   Content-Type-Kennung als farbiger Punkt (generisch, wiederverwendbar)
   Nutzung in Views-Rewrite: <span class="ct-dot ct-dot--{{ type }}" title="{{ type }}"></span>
   ========================================================================== */

.ct-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  vertical-align: middle;
}

.ct-dot--stellenangebot {
  background: #8dc157;
}

.ct-dot--angebot_stelle {
  background: #0071b3;
}

/* ==========================================================================
   Uhr-Icon fuer Datum-Felder (reines CSS, keine Icon-Font noetig)
   Nutzung in Views-Rewrite: <span class="clock-icon"></span> {{ field_datum }}
   ========================================================================== */

.clock-icon {
  display: inline-block;
  position: relative;
  width: 12px;
  height: 12px;
  border: 1.5px solid currentColor;
  border-radius: 50%;
  vertical-align: middle;
  margin-right: 4px;
}

.clock-icon::before,
.clock-icon::after {
  content: "";
  position: absolute;
  background: currentColor;
  top: 50%;
  left: 50%;
  transform-origin: 0 0;
}

.clock-icon::before {
  width: 3.5px;
  height: 1px;
  transform: rotate(-90deg) translateX(0);
}

.clock-icon::after {
  width: 2.5px;
  height: 1px;
  transform: rotate(20deg) translateX(0);
}

/* ==========================================================================
   Front Block 1: Top Arbeitgeber Grid, firma-basierte View (2026-09-30)
   Gleiche Karten-Optik wie front/block_5, aber andere Feldstruktur:
   - nothing-1 = Kopfzeile (Flagge+Land+Kategorie), block_5 nutzte dafuer "nothing"
   - field_logo = Logo (block_5 nutzte field_image)
   - title = Firmenname (hier NICHT mit dem Angebots-Link kombiniert)
   - nothing = "Aktualni nabidka"-Link zur neuesten Stelle (separates Feld,
     bei block_5 war das im title-Feld mit drin)
   ========================================================================== */

/* Grid-Zeilen gleich hoch strecken: ohne explizites align-items:stretch
   bekommt jedes Grid-Item nur seine eigene Inhaltshoehe (CSS-Grid default
   ist zwar stretch, wird hier aber von einer vererbten Regel ueberschrieben)
   - dadurch wirkte "Aktualni nabidka" (letztes Feld, via margin-top:auto nach
   unten gedrueckt) bei kuerzeren Nachbarkarten faelschlich wie ein Element
   der naechsten Grid-Zeile, weil kein Ueberschussplatz zum Verteilen da war. */
.block-views-blockfront-block-1 .views-view-responsive-grid {
  align-items: stretch !important;
}

.block-views-blockfront-block-1 .views-view-responsive-grid__item {
  background: #eaf2fb;
  border: 1px solid #cfe0f4;
  border-radius: 8px;
  padding: 0;
  display: flex;
  flex-direction: column;
  height: 100%;
  box-sizing: border-box;
  transition: all 0.2s ease;
  overflow: hidden;
  position: relative;
}

.block-views-blockfront-block-1 .views-view-responsive-grid__item-inner {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  height: 100% !important;
  box-sizing: border-box;
}

/* Kopfzeile: Flagge + Land + Kategorie */
.block-views-blockfront-block-1 .views-field-nothing-1 {
  display: flex;
  align-items: center;
  gap: 6px;
  background: #fff;
  padding: 8px 12px;
  border-bottom: 1px solid #cfe0f4;
  font-size: 0.8em;
  color: #555;
  width: 100%;
  box-sizing: border-box;
}

/* Logo: direkt unter der Kopfzeile, zentriert, feste Containerhoehe UND
   -breite (nicht nur max-width wie bei block_5) - dadurch nehmen schmale
   Hochformat-Logos, breite Querformat-Logos und quadratische Logos optisch
   exakt denselben Platz ein, die Karten wirken trotz sehr unterschiedlicher
   Quell-Seitenverhaeltnisse gleichmaessig. */
.block-views-blockfront-block-1 .views-field-field-logo {
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 20px 12px;
  width: 100%;
  height: 120px;
  box-sizing: border-box;
}

.block-views-blockfront-block-1 .views-field-field-logo img {
  width: 140px;
  height: 90px;
  object-fit: contain;
  background: #fff;
  border: 1px solid #cfe0f4;
  border-radius: 8px;
  padding: 8px;
  box-sizing: border-box;
}

/* Firmenname: prominent, zentriert, direkt unter dem Logo.
   !important noetig: .front-grid .views-field-title { display: block !important }
   (Zeile ~1283, geteilte Regel mit block_3/.top-attachment) ueberschreibt
   sonst display:flex hier, wodurch justify-content:center wirkungslos wird
   und der Name linksbuendig faellt - gleiches Muster wie die order-Falle. */
.block-views-blockfront-block-1 .views-field-title {
  display: flex !important;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  box-sizing: border-box;
  padding: 4px 16px 12px !important; /* neutralisiert globales padding-right:130px (Logo-Platz, hier nicht noetig) */
  min-height: 3.15em;
}

.block-views-blockfront-block-1 .views-field-title .field-content {
  font-size: 1.1em;
  font-weight: 600;
  color: #0c447c;
  line-height: 1.3;
  text-align: center;
  width: 100%;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.block-views-blockfront-block-1 .views-field-title .field-content a {
  color: #0c447c;
  text-decoration: none;
}

.block-views-blockfront-block-1 .views-field-title .field-content a:hover {
  text-decoration: underline;
}

/* "Aktualni nabidka"-Link als Footer: immer am unteren Kartenrand, egal wie
   hoch der Rest der Karte ist (margin-top: auto schiebt es innerhalb des
   flex-direction:column-Containers ganz nach unten). Trennlinie zum
   Firmennamen darueber, analog zum unteren Rand-Stil von block_5s title. */
.block-views-blockfront-block-1 .views-field-nothing {
  margin-top: auto;
  padding: 10px 12px 12px;
  display: block;
  width: 100%;
  box-sizing: border-box;
  text-align: center;
  border-top: 1px solid #cfe0f4;
}

/* !important noetig: ".view-front .views-field-nothing .field-content"
   (Zeile ~2822, geteilte Regel) setzt display:flex ohne justify-content,
   wodurch der Link-Text sonst linksbuendig im Flex-Flow landet statt
   text-align:center zu folgen - gleiche Ursache wie beim Firmennamen oben. */
.block-views-blockfront-block-1 .views-field-nothing .field-content {
  display: flex !important;
  justify-content: center !important;
  text-align: center;
}

.block-views-blockfront-block-1 .views-field-nothing .field-content,
.block-views-blockfront-block-1 .views-field-nothing .field-content a {
  font-size: 1rem;
  font-weight: 400;
  color: #185fa5;
  text-decoration: none;
  transition: color 0.2s ease;
}

.block-views-blockfront-block-1 .views-view-responsive-grid__item:hover .views-field-nothing .field-content a {
  color: #0071b3;
}

/* "Aktualni nabidka"-Link: gleiches Pfeil-Icon + gruene Hover-Underline-
   Animation wie block_5s job-label-link (dort auf .views-field-title a,
   hier auf .views-field-nothing a, da title/Link bei block_1 getrennte
   Felder sind statt kombiniert). Rewrite-Text im nothing-Feld nutzt bereits
   dieselben Klassen job-label-icon/job-label-link (1:1 von block_5 kopiert). */
.block-views-blockfront-block-1 .job-label-icon {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 4px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg) translateY(-1px);
  vertical-align: middle;
}

.block-views-blockfront-block-1 .views-field-nothing a.job-label-link {
  position: relative;
  display: inline-block;
  padding-bottom: 2px;
  text-decoration: none;
}

.block-views-blockfront-block-1 .views-field-nothing a.job-label-link::after {
  content: '';
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 0;
  height: 2px;
  background: #8dc157;
  transition: right 0.25s ease;
}

.block-views-blockfront-block-1 .views-field-nothing a.job-label-link:hover::after,
.block-views-blockfront-block-1 .views-field-nothing a.job-label-link:focus::after {
  right: 0;
}

/* Override: block_1 teilt sich (wie schon bei block_5 dokumentiert) die Klasse
   .front-grid mit block_3/.top-attachment, deren order-Regeln (Zeile ~1248ff)
   sonst auch hier greifen - block_1 soll stattdessen der Views-Feldreihenfolge
   folgen (kein order). Ohne diesen Override stand "Aktualni nabidka"
   faelschlich OBEN in der Karte (order:-10 von der geteilten Regel), statt
   unten als Footer (DOM-Reihenfolge haette title/field_logo VOR nothing). */
.block-views-blockfront-block-1 .views-field-nothing-1,
.block-views-blockfront-block-1 .views-field-field-logo,
.block-views-blockfront-block-1 .views-field-title,
.block-views-blockfront-block-1 .views-field-nothing {
  order: initial !important;
}

/* --- Taxonomy-Term-Seiten (view taxonomy_term/block_3): kompaktere Karten, Titel hervorgehoben ---
   Views rendert hier Titel als h3 und Untertitel als h4 (nicht h4/h5 wie die aelteren Regeln oben). */
.block-views-blocktaxonomy-term-block-3 .views-view-responsive-grid__item {
  margin-bottom: 10px;
}

.block-views-blocktaxonomy-term-block-3 .views-view-responsive-grid__item-inner > .views-field-nothing {
  padding: 5px 12px !important;
  font-size: 0.85rem;
  line-height: 1.35;
}

.block-views-blocktaxonomy-term-block-3 .views-field-title {
  padding: 9px 12px 0 !important;
}

.block-views-blocktaxonomy-term-block-3 .views-field-title h3 {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.25;
  color: var(--text-ueberschrift);
}

.block-views-blocktaxonomy-term-block-3 .views-field-title h3 a {
  color: var(--text-ueberschrift);
  text-decoration: none;
  transition: color 0.2s ease;
}

.block-views-blocktaxonomy-term-block-3 .views-view-responsive-grid__item:hover .views-field-title h3 a {
  color: #0071b3;
}

.block-views-blocktaxonomy-term-block-3 .views-field-field-untertitel {
  padding: 3px 12px 9px !important;
}

.block-views-blocktaxonomy-term-block-3 .views-field-field-untertitel h4 {
  margin: 0;
  font-size: 0.85rem;
  font-weight: 400;
  line-height: 1.35;
  color: #6c757d;
}

/* Taxonomy-Term-Seiten: Abstaende/Schriftgroessen, die von allgemeineren .field-content-Regeln ueberschrieben wurden */
.block-views-blocktaxonomy-term-block-3 .views-view-responsive-grid__item-inner > .views-field-nothing {
  margin-bottom: 0 !important;
}
.block-views-blocktaxonomy-term-block-3 .views-field-title h3.field-content {
  margin: 0 !important;
  font-size: 1.2rem;
}
.block-views-blocktaxonomy-term-block-3 .views-field-field-untertitel h4.field-content {
  margin: 0 !important;
  font-size: 0.85rem;
  line-height: 1.35;
}

/* ===== Cookie-Banner (EU Cookie Compliance) – 2026-10-11 ===== */
/* Reiter "Nastavení soukromí": dezentes rundes Icon unten links statt breitem Button.
   Text bleibt im DOM (font-size 0) -> für Screenreader erhalten. */
#sliding-popup.eu-cookie-withdraw-wrapper .eu-cookie-withdraw-tab {
  position: fixed !important;
  left: 12px !important;
  bottom: 12px !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
  margin: 0 !important;
  width: 40px !important;
  height: 40px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  overflow: hidden;
  background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230779bf'%3E%3Cpath d='M12 2a10 10 0 1 0 10 10 4 4 0 0 1-5-5 4 4 0 0 1-5-5zM8.5 8a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3zm-2 6.5a1.2 1.2 0 1 1 0 2.4 1.2 1.2 0 0 1 0-2.4zM12 17a1.5 1.5 0 1 1 0 3 1.5 1.5 0 0 1 0-3zm5-3a1.2 1.2 0 1 1 0 2.4 1.2 1.2 0 0 1 0-2.4z'/%3E%3C/svg%3E") center / 22px no-repeat !important;
  border: 1px solid rgba(0, 0, 0, 0.15) !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2) !important;
  opacity: 0.85;
  z-index: 1000;
}
#sliding-popup.eu-cookie-withdraw-wrapper .eu-cookie-withdraw-tab:hover,
#sliding-popup.eu-cookie-withdraw-wrapper .eu-cookie-withdraw-tab:focus-visible {
  opacity: 1;
}

/* Erst-Banner auf Mobil: volle Breite, kompakt (Modul setzt inline width:50%) */
@media (max-width: 767px) {
  #sliding-popup.sliding-popup-bottom:not(.eu-cookie-withdraw-wrapper) {
    width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    max-height: 75vh;
    overflow-y: auto;
    box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.25);
  }
  #sliding-popup .eu-cookie-compliance-banner {
    width: 100% !important;
    max-width: none !important;
    padding: 14px 16px 16px !important;
    box-sizing: border-box;
  }
  #sliding-popup .eu-cookie-compliance-content {
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  #sliding-popup .eu-cookie-compliance-message h2 {
    font-size: 0.95rem !important;
    line-height: 1.3 !important;
    margin: 0 0 6px !important;
  }
  #sliding-popup .eu-cookie-compliance-message p {
    font-size: 0.85rem !important;
    line-height: 1.35 !important;
    margin: 0 0 6px !important;
  }
  #sliding-popup .eu-cookie-compliance-more-button {
    font-size: 0.85rem !important;
    margin: 0 !important;
  }
  #sliding-popup .eu-cookie-compliance-category-description {
    display: none !important;
  }
  #sliding-popup .eu-cookie-compliance-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 16px;
    align-items: center;
    margin: 6px 0 0 !important;
  }
  #sliding-popup .eu-cookie-compliance-category {
    margin: 0 !important;
  }
  #sliding-popup .eu-cookie-compliance-category label {
    font-size: 0.9rem !important;
  }
  #sliding-popup .eu-cookie-compliance-buttons,
  #sliding-popup .eu-cookie-compliance-categories-buttons {
    display: flex !important;
    gap: 8px;
    margin: 8px 0 0 !important;
    flex-wrap: wrap;
  }
  #sliding-popup .eu-cookie-compliance-categories-buttons {
    flex: 1 1 100%;
    margin-top: 4px !important;
  }
  #sliding-popup .eu-cookie-compliance-buttons .button,
  #sliding-popup .eu-cookie-compliance-categories-buttons .button {
    flex: 1 1 0;
    min-width: 0;
    margin: 0 !important;
    font-size: 0.85rem !important;
    padding: 10px 8px !important;
  }
}

/* Geöffnetes Widerruf-Panel: Platz links, damit das Icon den Text nicht überdeckt */
#sliding-popup.eu-cookie-withdraw-wrapper .eu-cookie-withdraw-banner {
  padding-left: 64px !important;
  box-sizing: border-box;
}

/* ===== Seite zu breit (2026-10-11) =====
   .row-Regionen ohne Container: Bootstrap-Minus-Rand (-12px) erzeugte horizontalen Überlauf. */
.region-featured-top.row,
.region-pre-footer.row,
.region-footer-fifth.row {
  --bs-gutter-x: 0;
  margin-left: 0;
  margin-right: 0;
}
.region-featured-top {
  overflow-x: clip;
}
/* Unsichtbarer Screenreader-Titel startete am rechten Rand (1px Überlauf) */
.visually-hidden {
  left: 0;
}

/* Mobil: Uebersichtskarten ausblenden (Rueckfallebene zu gdpr-map.js, 2026-10-12).
   Adresskarten auf Detailseiten (view-id-fullnode_*) bleiben. */
@media (max-width: 767px) {
  .view:not([class*="view-id-fullnode"]) [data-gdpr-map],
  .view:not([class*="view-id-fullnode"]) .gdpr-map-placeholder {
    display: none !important;
  }
  /* Der 60px-Abstand des TOP-Blocks war fuer die Karte darueber gedacht; Mobil gibt es sie nicht mehr */
  .alle-angebote-grid .top-attachment {
    margin-top: 0 !important;
  }
}

/* ===== Header Mobil (global, 2026-10-12) =====
   Flaggen in die Logo-Zeile, kompakter Suchblock, gruene Menue-Reiter, Job-Alert gross direkt
   unter dem Menue (JS verschiebt den Block), Hauptkategorien als Orientierungs-Streifen,
   Share-Icons klein. Nur < 768px. Selektoren bewusst mit html/body/ID praefixiert, weil
   media-queries.css (laedt nach style.css) viele !important-Regeln fuer Header/Menue hat. */
@media (max-width: 767px) {
  /* -- Kopfzeile: Logo links, Flaggen rechts in derselben Zeile (statt eigener blauer Leiste) -- */
  html body header#header {
    position: relative;
    background: #fff;
  }
  html body header#header #navbar-top {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 30;
    width: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
  }
  html body header#header #navbar-top .container,
  html body header#header #navbar-top .region-top-header-form {
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 6px !important;
  }
  html body header#header #navbar-top .navbar-form {
    margin: 0 !important;
    padding: 10px 10px 0 0 !important;
  }
  html body header#header #navbar-main {
    display: block !important;
    min-height: 0 !important;
    padding: 8px 12px 8px !important;
  }
  /* Flaggen-Felder schmal (vorher je 60 px), damit der reservierte Platz klein bleibt */
  html body header#header #navbar-top .links-inline {
    gap: 0 !important;
  }
  html body header#header #navbar-top .links-inline .nav-link {
    width: 36px !important;
    padding: 0 !important;
    justify-content: center !important;
  }
  /* Logo-Spalte laesst rechts Platz fuer die Flaggen -> Logo schrumpft statt unter ihnen zu laufen */
  html body header#header #navbar-main .navbar-brand {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 92px 0 0 !important;
  }
  html body header#header #navbar-main .navbar-brand img {
    max-height: 42px !important;
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
    margin: 0 !important;
  }
  /* Slogan: eine Zeile, dunkler, mit der Flaggen-Zeile kollisionsfrei (liegt darunter) */
  html body header#header #navbar-main .site-name-slogan {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 5px 0 0 !important;
    padding: 0 !important;
    text-align: left !important;
    font-size: clamp(0.62rem, 3vw, 0.75rem) !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    color: #4a5568 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* -- Suchblock kompakter -- */
  html body .highlighted .region-highlighted {
    padding: 10px 12px !important;
  }
  /* Suchfeld + schlichtes Lupen-Icon statt Button "Hledat" (Label bleibt fuer Screenreader im value) */
  html body #block-boot-sub-exposedformangebote-suchepage-1 form > .d-flex {
    flex-wrap: nowrap !important;
    width: 100%;
  }
  html body #block-boot-sub-exposedformangebote-suchepage-1 .js-form-item {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
  }
  html body #block-boot-sub-exposedformangebote-suchepage-1 .js-form-item input.form-control {
    width: 100% !important;
  }
  html body #block-boot-sub-exposedformangebote-suchepage-1 .form-actions {
    flex: 0 0 auto !important;
    width: auto !important;
  }
  html body #block-boot-sub-exposedformangebote-suchepage-1 .form-actions .form-submit {
    width: 52px !important;
    min-width: 0 !important;
    padding: 0 !important;
    font-size: 0 !important;
    color: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 8px 8px 0 !important;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23002071' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5L21 21'/%3E%3C/svg%3E") center / 24px no-repeat !important;
    cursor: pointer;
  }
  html body #block-boot-sub-exposedformangebote-suchepage-1 .form-actions .form-submit:hover,
  html body #block-boot-sub-exposedformangebote-suchepage-1 .form-actions .form-submit:focus-visible {
    background-color: #eef3fb !important;
  }

  /* -- Menue: zwei gleich breite Reiter, aktiv gefuellt gruen, inaktiv umrandet -- */
  html body .mobile-nav-below-search {
    padding: 12px 12px 0 !important;
    background: #fff !important;
  }
  html body .mobile-nav-below-search .navbar-nav {
    gap: 8px !important;
    justify-content: stretch !important;
    overflow: visible !important;
  }
  html body .mobile-nav-below-search .navbar-nav .nav-item {
    flex: 1 1 0 !important;
    width: auto !important;
    min-width: 0 !important;
  }
  html body .mobile-nav-below-search .navbar-nav .nav-item .nav-link {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
    width: 100% !important;
    margin: 0 !important;
    min-height: 48px !important;
    padding: 6px 8px !important;
    border: 2px solid #5b9a28 !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #3f7a16 !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    white-space: normal !important;
    opacity: 1 !important;
    box-shadow: none !important;
  }
  html body .mobile-nav-below-search .navbar-nav .nav-item .nav-link.active,
  html body .mobile-nav-below-search .navbar-nav .nav-item .nav-link.is-active {
    background: #5b9a28 !important;
    color: #fff !important;
  }

  /* -- Job-Alert: wichtig, gross, volle Breite (Block wird per JS unter das Menue verschoben) -- */
  html body #block-boot-sub-angebotstellealertblock {
    margin: 12px 12px 0 !important;
    padding: 0 !important;
  }
  html body #block-boot-sub-angebotstellealertblock,
  html body #block-boot-sub-angebotstellealertblock .content,
  html body #block-boot-sub-angebotstellealertblock .asa-alert-wrapper {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    flex: 1 1 100% !important;
  }
  html body #block-boot-sub-angebotstellealertblock .asa-alert-trigger {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 100% !important;
    min-height: 52px;
    box-sizing: border-box;
    border-radius: 10px !important;
    background: #002071 !important;
    color: #fff !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.03em;
    text-transform: uppercase;
  }
  html body #block-boot-sub-angebotstellealertblock .asa-alert-trigger:hover,
  html body #block-boot-sub-angebotstellealertblock .asa-alert-trigger:focus-visible {
    background: #0b2d82 !important;
  }

  /* -- Hauptkategorien als Orientierungs-Streifen (alle Seiten ausser Startseite, dort bleibt die Liste) -- */
  html body:not(.front):not(.path-frontpage) #block-boot-sub-views-block-hauptkategorien-cards-block-mobile {
    display: block !important;
    margin: 14px 0 0 !important;
    padding: 0 !important;
  }
  html body:not(.front):not(.path-frontpage) #block-boot-sub-views-block-hauptkategorien-cards-block-mobile .views-view-responsive-grid {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    padding: 0 12px 6px !important;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  html body:not(.front):not(.path-frontpage) #block-boot-sub-views-block-hauptkategorien-cards-block-mobile .views-view-responsive-grid::-webkit-scrollbar {
    display: none;
  }
  html body:not(.front):not(.path-frontpage) #block-boot-sub-views-block-hauptkategorien-cards-block-mobile .views-view-responsive-grid__item {
    flex: 0 0 108px !important;
    width: 108px !important;
    max-width: 108px !important;
    scroll-snap-align: start;
  }
  html body:not(.front):not(.path-frontpage) #block-boot-sub-views-block-hauptkategorien-cards-block-mobile .views-view-responsive-grid__item-inner {
    flex-direction: column !important;
    align-items: stretch !important;
    height: 100%;
    padding: 6px !important;
    gap: 5px !important;
    background: #fff !important;
    border: 1px solid #cfdcee !important;
    border-radius: 10px !important;
    box-shadow: 0 1px 3px rgba(0, 32, 113, 0.08);
  }
  html body:not(.front):not(.path-frontpage) #block-boot-sub-views-block-hauptkategorien-cards-block-mobile .views-field-field-tax-image {
    width: 100% !important;
    height: 46px !important;
  }
  html body:not(.front):not(.path-frontpage) #block-boot-sub-views-block-hauptkategorien-cards-block-mobile .views-field-field-tax-image img {
    width: 100% !important;
    height: 46px !important;
    object-fit: cover !important;
    border-radius: 6px !important;
  }
  html body:not(.front):not(.path-frontpage) #block-boot-sub-views-block-hauptkategorien-cards-block-mobile .views-field-name a {
    display: block;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    text-align: center;
    color: #002071 !important;
  }

  /* -- Detailseiten (alle Knoten ausser Typ "page"): Kategorien-Streifen entfaellt, Job-Alert + Share
        werden per JS ans Seitenende verschoben (.detail-bottom-actions) -- */
  html body.path-node:not(.page-node-type-page) #block-boot-sub-views-block-hauptkategorien-cards-block-mobile {
    display: none !important;
  }
  html body .detail-bottom-actions {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 18px 12px 26px;
    background: #f4f8ff;
    border-top: 1px solid #dfe8f5;
  }
  html body .detail-bottom-actions #block-boot-sub-angebotstellealertblock,
  html body .detail-bottom-actions #block-boot-sub-simplesocialshareblock {
    margin: 0 !important;
    width: 100% !important;
  }

  /* -- Share-Icons: Nebensache, klein und ruhig -- */
  html body #block-boot-sub-simplesocialshareblock {
    width: auto !important;
    max-width: none !important;
    flex: 1 1 100% !important;
    margin: 10px 12px 0 !important;
    padding: 0 !important;
  }
  html body #block-boot-sub-simplesocialshareblock .social-share-buttons {
    display: flex;
    justify-content: center;
    gap: 10px;
  }
  html body #block-boot-sub-simplesocialshareblock .social-share-button {
    width: 32px !important;
    height: 32px !important;
    opacity: 0.85;
  }
  html body #block-boot-sub-simplesocialshareblock .social-share-button svg,
  html body #block-boot-sub-simplesocialshareblock .social-share-button img {
    width: 16px !important;
    height: 16px !important;
  }
}

/* Detailseite Angebot_stelle, Mobil: View fullnode_angebot / block_9 (Firmenadresse) ausblenden.
   Doppelung der Adresse (steht auch in block_3 zusammen mit der Karte). Desktop unveraendert (2026-10-12). */
@media (max-width: 767px) {
  .block-views-blockfullnode-angebot-block-9 {
    display: none !important;
  }
}

/* ===== Detailseiten Mobil: Eckdaten-Chips + Reagovat-Button (2026-10-12) =====
   Elemente kommen aus Drupal.behaviors.detailMobile (global.js); ausserhalb von Mobil nie vorhanden. */
.apply-bar {
  display: none;
}
/* Eckdaten-Chips auf allen Breiten (Desktop-Variante 2026-10-13); Mobil-Feinschliff im Block darunter */
.eckdaten-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 6px;
}
.eckdaten-chip {
  display: inline-block;
  padding: 5px 12px;
  border: 1px solid #cfdcee;
  border-radius: 999px;
  background: #f4f8ff;
  color: #1b2260;
  font-size: 0.85rem;
  font-weight: 600;
  line-height: 1.35;
}
.eckdaten-chip--salary {
  border-color: #9ec871;
  background: #eef6e3;
  color: #3f6f1a;
  font-weight: 700;
}
@media (min-width: 768px) {
  .eckdaten-chips {
    gap: 10px;
    margin: 28px 0 36px; /* Luft nach oben zum Untertitel, nach unten zu den Hauptspalten */
  }
  .eckdaten-chip {
    padding: 6px 14px;
    font-size: 0.95rem;
  }
}
@media (max-width: 767px) {
  html body .eckdaten-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0 6px;
  }
  html body .eckdaten-chip {
    display: inline-block;
    padding: 5px 12px;
    border: 1px solid #cfdcee;
    border-radius: 999px;
    background: #f4f8ff;
    color: #1b2260;
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 1.35;
  }
  /* Gehalt: wichtigste Angabe, gruen getoent */
  html body .eckdaten-chip--salary {
    border-color: #9ec871;
    background: #eef6e3;
    color: #3f6f1a;
    font-weight: 700;
  }

  html body .apply-bar {
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 900;
    padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
    background: rgba(255, 255, 255, 0.97);
    border-top: 1px solid #dfe8f5;
    box-shadow: 0 -3px 12px rgba(0, 32, 113, 0.12);
    transition: transform 0.25s ease;
  }
  html body .apply-bar.is-hidden {
    transform: translateY(110%);
  }
  html body .apply-bar__btn {
    display: block;
    box-sizing: border-box;
    padding: 14px 16px;
    border-radius: 10px;
    background: #5b9a28;
    color: #fff !important;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-align: center;
    text-transform: uppercase;
    text-decoration: none !important;
  }
  html body .apply-bar__btn:hover,
  html body .apply-bar__btn:focus-visible {
    background: #4a8120;
  }
  /* Platz unter dem Inhalt, Cookie-Icon ueber den Button heben */
  html body.has-apply-bar {
    padding-bottom: 76px;
  }
  html body.has-apply-bar #sliding-popup.eu-cookie-withdraw-wrapper .eu-cookie-withdraw-tab {
    bottom: 84px !important;
  }
}

/* ===== Infotabelle Mobil kompakt (Detailseiten, 2026-10-12) =====
   View fullnode_* / block_4 (flipped_table): Zwei-Spalten-Raster, Bezeichnung klein ueber dem Wert.
   Zeilen mit .is-empty (leer/Platzhalter) werden per JS (Drupal.behaviors.detailMobile) markiert und
   ausgeblendet; .is-chipped (Zeile steht auch als Chip oben) wird nur markiert, aber angezeigt. tr behaelt sein display (eine Zeile ist
   per Alt-CSS versteckt: field_agentur_referenz). */
@media (max-width: 767px) {
  html body .view[class*="view-id-fullnode"] table.sticky-enabled {
    width: 100% !important;
    margin: 0 !important;
    border: 0 !important;
  }
  html body .view[class*="view-id-fullnode"] table.sticky-enabled tbody {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
  }
  html body .view[class*="view-id-fullnode"] table.sticky-enabled tr {
    flex-direction: column !important;
    align-items: stretch !important;
    min-width: 0;
    margin: 0 !important;
    padding: 8px 10px !important;
    border: 1px solid #dfe8f5 !important;
    border-radius: 10px !important;
    background: #fff !important;
  }
  /* Nur leere Zeilen/Platzhalter ausblenden; Zeilen, die oben als Chip stehen (.is-chipped), bleiben
     fuer die Vollstaendigkeit der Tabelle sichtbar (User-Vorgabe 2026-10-12). */
  html body .view[class*="view-id-fullnode"] table.sticky-enabled tr.is-empty {
    display: none !important;
  }
  html body .view[class*="view-id-fullnode"] table.sticky-enabled th {
    display: block;
    flex: 0 0 auto !important;
    width: auto !important;
    padding: 0 0 3px !important;
    border: 0 !important;
    background: none !important;
    color: #5b6578 !important;
    font-size: 0.7rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em;
    line-height: 1.2;
    text-transform: uppercase;
  }
  html body .view[class*="view-id-fullnode"] table.sticky-enabled td {
    display: block;
    flex: 0 0 auto !important;
    width: auto !important;
    padding: 0 !important;
    border: 0 !important;
    color: #1b2260;
    font-size: 0.95rem !important;
    font-weight: 600;
    line-height: 1.3;
    overflow-wrap: anywhere;
  }
  /* lange Felder ueber die volle Breite */
  html body .view[class*="view-id-fullnode"] table.sticky-enabled tr:has(th.views-field-field-bran-e-profese),
  html body .view[class*="view-id-fullnode"] table.sticky-enabled tr:has(th.views-field-field-bran-e-kategorie) {
    grid-column: 1 / -1;
  }
  /* Status-Zeile ("Aktualizovano dne ... Nabidka je aktualni") ruhiger */
  html body .view[class*="view-id-fullnode"] table:not(.sticky-enabled) {
    margin: 0 0 8px !important;
  }
  html body .view[class*="view-id-fullnode"] table:not(.sticky-enabled) td,
  html body .view[class*="view-id-fullnode"] table:not(.sticky-enabled) th {
    padding: 8px 10px !important;
    font-size: 0.85rem !important;
  }
}

/* ===== Angebotsliste Mobil: Vollbild-Karten mit Einrasten (2026-10-11) =====
   Gilt nur unter 768px, Wrapper .alle-angebote-grid (enthaelt TOP-Attachment + normale Karten).
   Einrasten (html.snap-on) und die Zusatzelemente (.snap-meta, .snap-cta, .snap-divider,
   .snap-top) kommen aus Drupal.behaviors.snapCards in global.js.
   Feldreihenfolge: unveraendert die bestehende (order-Werte aus aelteren Regeln). */

/* Zusatzelemente sind ausserhalb von Mobil unsichtbar */
:is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term) .snap-meta,
:is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term) .snap-cta {
  display: none;
}
:is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term) .snap-divider {
  display: none !important;
}

@media (max-width: 767px) {
  html.snap-on {
    scroll-snap-type: y mandatory;
  }

  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid {
    gap: 0 !important;
    row-gap: 0 !important;
    grid-template-columns: 1fr !important;
    padding: 0 !important;
  }

  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item {
    min-height: 100vh;
    min-height: 100svh;
    height: auto !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    box-shadow: none !important;
    border-bottom: 6px solid #f4f8ff !important;
    background: #fff !important;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item .views-view-responsive-grid__item-inner {
    display: flex !important;
    flex-direction: column;
    flex: 1 1 auto;
    width: 100%;
    min-height: calc(100vh - 6px);
    min-height: calc(100svh - 6px);
    box-sizing: border-box;
    padding: 0 20px calc(68px + env(safe-area-inset-bottom)) !important;
    gap: 10px;
  }

  /* Alle Felder: keine Streckung/Kuerzung aus aelteren Regeln */
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item-inner > .views-field {
    flex: 0 0 auto !important;
  }

  /* ---- Kopfzeile (.snap-meta ersetzt das Original-Feld-Markup) ---- */
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item-inner > .views-field-nothing {
    width: calc(100% + 40px) !important;
    max-width: none !important;
    margin: 0 -20px !important;
    padding: 16px 20px 14px !important;
    border-radius: 0 !important;
    border-top: 3px solid #8dc157 !important;
    border-bottom: 1px solid #dfe8f5 !important;
    background: #f4f8ff !important;
    color: #1b2260;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-field-nothing:has(> .snap-meta) > .field-content {
    display: none !important;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-meta {
    display: block;
    width: 100%;
    flex: 1 1 100%;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-meta__loc {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0 4px;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1.35;
    color: #1b2260;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-meta__loc img {
    width: 24px;
    height: auto;
    margin-right: 6px;
    border-radius: 2px;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-meta__loc a {
    color: inherit;
    text-decoration: none;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-meta__row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-top: 8px;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-meta__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    min-width: 0;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-meta__chips a,
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-meta__chips .snap-chip {
    display: inline-block;
    padding: 3px 11px;
    border: 1px solid #cfdcee;
    border-radius: 12px;
    background: #fff;
    color: #1d5fa8;
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.4;
    text-decoration: none;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-meta__date {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.85rem;
    color: #5b6578;
    white-space: nowrap;
  }
  /* Uhr-Icon per CSS (SVG als Data-URI) */
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-meta__date::before {
    content: "";
    flex: 0 0 auto;
    width: 15px;
    height: 15px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235b6578' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") center / contain no-repeat;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-meta__date .ct-dot {
    margin-left: 6px;
  }

  /* ---- TOP-Karten: nur ein Reiter (Tab), Kartenfarben bleiben Corporate-Blau ---- */
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-tab {
    position: absolute;
    top: 0;
    right: 20px;
    z-index: 2;
    padding: 6px 14px 7px;
    border-radius: 0 0 8px 8px;
    background: #8dc157;
    color: #fff;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.3;
    text-transform: uppercase;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-top .snap-meta__loc {
    padding-right: 76px;
  }

  /* ---- Logo: einheitliche helle Flaeche, Logo mittig und moeglichst gross.
     Spezifitaet bewusst hoeher als die aelteren position:absolute-Regeln der Logo-Fallbacks
     (field_logo_1 / field_logo_link). ---- */
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo,
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo-1,
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo-link,
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo-url {
    position: static !important;
    transform: none !important;
    box-sizing: border-box;
    width: 100%;
    max-width: 100% !important;
    min-height: 150px;
    margin: auto 0 0 !important;
    padding: 10px !important;
    border-radius: 14px;
    border: 1px solid #e3ebf3;
    background: #fff; /* weiss: JPG-Logos mit weissem Hintergrund wirken sonst wie ausgeschnittene Rechtecke */
    text-align: center !important;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo:not(:has(img, .logo-fallback)),
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo-1:not(:has(img)),
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo-link:not(:has(img)),
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo-url:not(:has(img)) {
    display: none !important;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo .field-content,
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo-1 .field-content,
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo-link .field-content,
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo-url .field-content {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 130px;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo img,
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo-1 img,
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo-link img,
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo-url img {
    /* Bild nie abschneiden (contain, auch gegen Alt-CSS "cover" auf der Startseite) und kleine Originale nicht
       aufblasen: Breite = --logo-w (JS: max. 1.5x Originalgroesse), sonst natuerliche Groesse, gedeckelt */
    width: var(--logo-w, auto) !important;
    height: auto !important;
    max-width: 85% !important;
    max-height: 130px !important;
    object-fit: contain !important;
  }

  /* ohne Logo: Inhalt trotzdem mittig verteilen */
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-nologo > .views-field-field-bran-e-profese {
    margin-top: auto !important;
  }

  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item-inner > .views-field-field-bran-e-profese {
    order: 1 !important; /* nach allen Logo-Feldern (order 0), vor dem Titel (order 10) */
    margin: 0 !important;
    text-align: center;
    font-size: 0.95rem;
    line-height: 1.4;
    color: #6c757d;
  }

  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item-inner > .views-field-title {
    padding: 0 !important;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item-inner > .views-field-title .field-content,
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item-inner > .views-field-title h3 {
    display: block !important;
    -webkit-line-clamp: unset !important;
    line-clamp: unset !important;
    max-height: none !important;
    overflow: visible !important;
    font-size: 1.3rem !important;
    line-height: 1.18 !important;
    margin: 0 !important;
    overflow-wrap: anywhere;
  }

  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item-inner > .views-field-field-untertitel {
    max-width: none !important;
    padding: 0 !important;
    font-size: 0.95rem;
    line-height: 1.45;
    color: #444;
    display: -webkit-box !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 6;
    line-clamp: 6;
    overflow: hidden;
    margin-bottom: auto !important;
  }

  /* Basisinfo-Chip (gruen getoent, passend zum Basisinfo-Tab der Desktop-Suche) */
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-meta__chips .snap-chip--info {
    border-color: #9ec871;
    background: #eef6e3;
    color: #3f6f1a;
  }

  /* ---- Suche: Typ-Tab ("Nabidka prace") auf Mobil ausblenden, Untertitel-Ueberschrift neutral ---- */
  .angebote-suche.view .views-view-responsive-grid__item-inner > .views-field-type {
    display: none !important;
  }
  .angebote-suche.view .views-view-responsive-grid__item-inner > .views-field-field-untertitel .field-content,
  .angebote-suche.view .views-view-responsive-grid__item-inner > .views-field-field-untertitel h4,
  .angebote-suche.view .views-view-responsive-grid__item-inner > .views-field-field-untertitel h5 {
    margin: 0 !important;
    padding: 0 !important;
    font-size: inherit !important;
    font-weight: 400 !important;
    line-height: inherit !important;
  }

  /* Suche: kein Logo und keine Branche -> Titel-Block mittig zwischen Kopfzeile und Button */
  .angebote-suche.view .snap-nologo > .views-field-title {
    margin-top: auto !important;
  }

  /* ---- Button (alle Karten gleich, Corporate-Gruen) ---- */
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-cta {
    order: 99;
    margin-top: auto;
    display: block;
    box-sizing: border-box;
    padding: 14px 16px;
    border: 0;
    border-radius: 8px;
    background: #5b9a28;
    color: #fff !important;
    font-weight: 700;
    font-size: 1rem;
    letter-spacing: 0.03em;
    text-align: center;
    text-transform: uppercase;
    text-decoration: none !important;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-cta:hover,
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-cta:focus-visible {
    background: #4a8120;
  }

  /* ---- Trennkarte zwischen TOP und normalen Angeboten ---- */
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item.snap-divider {
    display: flex !important;
    background: linear-gradient(180deg, #1b2266 0%, #0f1547 100%) !important;
    border-bottom-color: #0f1547 !important;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-divider .views-view-responsive-grid__item-inner {
    background: transparent !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center;
    gap: 28px;
    padding-bottom: 20px !important;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-divider__title {
    margin: 0;
    color: #fff;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.2;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-divider__arrow {
    width: 64px;
    height: 64px;
    border: 2px solid rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    color: #8dc157;
    font-size: 2rem;
    line-height: 60px;
    animation: snap-bounce 1.6s ease-in-out infinite;
  }
}

@keyframes snap-bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(8px); }
}
@media (prefers-reduced-motion: reduce) {
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term) .snap-divider__arrow { animation: none !important; }
}

/* Niedrige Bildschirme (kleine Handys): kompaktere Karte, damit sie moeglichst in ein Bild passt */
@media (max-width: 767px) and (max-height: 720px) {
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item-inner {
    gap: 6px;
    padding-bottom: calc(60px + env(safe-area-inset-bottom)) !important;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item-inner > .views-field-nothing {
    padding: 10px 20px 10px !important;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-meta__loc {
    font-size: 1rem;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-meta__row {
    margin-top: 6px;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo,
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo-1,
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo-link,
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo-url {
    min-height: 86px;
    padding: 6px !important;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo .field-content,
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo-1 .field-content,
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo-link .field-content,
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo-url .field-content {
    min-height: 70px;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo img,
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo-1 img,
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo-link img,
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo-url img {
    width: 75% !important;
    height: 70px !important;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item-inner > .views-field-field-bran-e-profese {
    font-size: 0.85rem;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item-inner > .views-field-title .field-content,
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item-inner > .views-field-title h3 {
    font-size: 1.15rem !important;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item-inner > .views-field-field-untertitel {
    font-size: 0.88rem;
    -webkit-line-clamp: 3;
    line-clamp: 3;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-cta {
    padding: 8px 16px;
  }
}

/* ---- Suche (.angebote-suche), alle Breiten: TOP-Tab statt Typ-Tab "Nabidka prace" (2026-10-12) ----
   Der Typ-Tab bleibt nur fuer Basisinfo sichtbar (gruen). Bei Stellen (stellenangebot/angebot_stelle)
   wird er unsichtbar (Platz bleibt), stattdessen sitzt bei TOP-Stellen ein gruener TOP-Tab im selben Slot.
   Das TOP-Kennzeichen kommt aus dem Views-Feld field_top_angebot (page_1), das im Kopfzeilen-Rewrite
   {% if field_top_angebot %}<span class="badge-top">TOP</span>{% endif %} ausgibt. */
.angebote-suche .views-field-type .field-content:has(.type--stellenangebot),
.angebote-suche .views-field-type .field-content:has(.type--angebot_stelle) {
  visibility: hidden;
}
.angebote-suche .views-field-nothing {
  position: relative;
}
.angebote-suche .views-field-nothing .badge-top {
  position: absolute;
  bottom: 100%;
  left: 12px;
  z-index: 5;
  display: inline-block;
  padding: 3px 12px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.8px;
  line-height: 1.5;
  text-transform: uppercase;
  color: #fff;
  background: #8dc157;
  border-radius: 4px 4px 0 0;
  box-shadow: 0 -1px 3px rgba(0, 0, 0, 0.08);
}

/* ===== Startseite Mobil: neueste/TOP-Stellen als Vollbild-Karten (2026-10-12) =====
   Nutzt den Snap-Block oben (Selektorliste enthaelt front/block_3 und alle_angebote/front_3).
   Hier nur Startseiten-Besonderheiten: Logo-Feld field_logo_url, Firmenname, Abstand. */
@media (max-width: 767px) {
  /* Logo (field_logo_url) vor Titel/Branche, Firmenname direkt darunter */
  .view-id-front.view-display-id-block_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo-url {
    order: 0 !important;
  }
  .view-id-front.view-display-id-block_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-firma-name {
    order: 1 !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: none !important;
    text-align: center !important;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.3;
    color: #5b6578;
  }
  /* Logo: das Original (field_logo_link der Firma, volle Aufloesung) hat Vorrang vor dem 100-px-Vorschaubild
     (field_logo_url); Alt-CSS versteckt logo-link sonst */
  .view-id-front.view-display-id-block_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner:not(:has(> .views-field-field-logo-1 img)) > .views-field-field-logo-link:has(img) {
    display: block !important;
    order: 0 !important;
  }
  .view-id-front.view-display-id-block_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo-url:has(~ .views-field-field-logo-link img),
  .view-id-front.view-display-id-block_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo-url:has(~ .views-field-field-logo-1 img) {
    display: none !important;
  }
  /* Alter Zierstrich (::after) am Kartenende entfaellt */
  .view-id-front.view-display-id-block_3 .views-view-responsive-grid__item-inner::after,
  .view-display-id-front_3 .views-view-responsive-grid__item-inner::after {
    display: none !important;
  }
  /* Dubletten/ausgeblendete Hilfsfelder */
  .view-id-front.view-display-id-block_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-firma-name-1,
  .view-id-front.view-display-id-block_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-datum {
    display: none !important;
  }
  /* kein Zusatzabstand vor der TOP-Gruppe */
  .view-display-id-front_3.top-attachment {
    margin-top: 0 !important;
  }
}

/* Einrast-Ziele vor/hinter den Kartenlisten (gesetzt von Drupal.behaviors.snapCards): ohne sie springt der Scroll an der
   letzten/ersten Karte nach jedem Wisch zurueck (scroll-snap-type mandatory, kein Punkt in Wischrichtung). */
@media (max-width: 767px) {
  .snap-start-target,
  .snap-end-target {
    scroll-snap-align: start;
  }
}

/* Seitentitel (h1) auf Mobil kleiner: 40 px liefen ueber 3-4 Zeilen (2026-10-12) */
@media (max-width: 767px) {
  html body h1 {
    font-size: clamp(1.4rem, 6.3vw, 1.75rem) !important;
    line-height: 1.2 !important;
  }
}

/* Detailseiten: Titel (h1 im Feld title) groesser und deutlicher (2026-10-20), auch mehrzeilig. Vorher kleiner wegen langer Stellentitel (4 Zeilen). Uebersteuert die Regel
   "1.5em !important" in media-queries.css (.block-field-blocknode...title h1). */
@media (max-width: 767px) {
  html body .field--name-title h1,
  html body .block-field-blocknodestellenangebottitle h1,
  html body .block-field-blocknodeangebot-stelletitle h1 {
    font-size: clamp(1.3rem, 6.2vw, 1.6rem) !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
  }
}

/* ===== Startseite Mobil: "Top zaměstnavatelé" als bildschirmhohe Slides (2026-10-12) =====
   Karten behalten ihren Desktop-Stil (Rahmen, Link-Leiste, Meta-Zeile, Logo-Rahmen, Name); nur Hoehe und Einrasten
   kommen dazu (JS: SNAP_ONLY in Drupal.behaviors.snapCards). */
@media (max-width: 767px) {
  .snap-heading-target {
    scroll-snap-align: start;
  }
  .view-id-front.view-display-id-block_1 .views-view-responsive-grid {
    display: block !important;
    gap: 0 !important;
    padding: 0 12px !important;
  }
  .view-id-front.view-display-id-block_1 .views-view-responsive-grid__item {
    box-sizing: border-box !important;
    width: auto !important;
    max-width: none !important;
    height: calc(100vh - 24px);
    height: calc(100svh - 24px);
    min-height: 0 !important;
    margin: 12px 0 !important;
    scroll-margin-top: 12px;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }
  .view-id-front.view-display-id-block_1 .views-view-responsive-grid__item-inner {
    flex: 1 1 auto !important;
    min-height: 0;
  }
  /* Link-Leiste bleibt oben, der Rest steht mittig in der Karte */
  .view-id-front.view-display-id-block_1 .views-view-responsive-grid__item-inner > .views-field-nothing-1 {
    margin-top: auto !important;
  }
  .view-id-front.view-display-id-block_1 .views-view-responsive-grid__item-inner > .views-field-title {
    flex: 0 0 auto !important; /* Alt-CSS: flex:1 fuellte sonst den ganzen freien Platz */
    margin-bottom: auto !important;
  }
  /* Logo etwas groesser (Rahmen/Stil unveraendert) */
  .view-id-front.view-display-id-block_1 .views-view-responsive-grid__item-inner > .views-field-field-logo img {
    max-height: 140px !important;
    max-width: 85% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
  }
}

/* ===== Top zaměstnavatelé Mobil: weißer Kopf, hellblauer Body, Link als Footer (2026-10-12) ===== */
@media (max-width: 767px) {
  html body .view-id-front.view-display-id-block_1 .views-view-responsive-grid__item-inner { background:#e6f0fa !important; }
  html body .view-id-front.view-display-id-block_1 .views-view-responsive-grid__item-inner > .views-field-nothing-1 { order:0 !important; margin:0 !important; background:#fff !important; border-bottom:1px solid #d3e1f2 !important; padding:14px 16px !important; flex:0 0 auto !important; }
  html body .view-id-front.view-display-id-block_1 .views-view-responsive-grid__item-inner > .views-field-field-logo { order:1 !important; margin-top:auto !important; }
  html body .view-id-front.view-display-id-block_1 .views-view-responsive-grid__item-inner > .views-field-title { order:2 !important; margin-bottom:auto !important; }
  html body .view-id-front.view-display-id-block_1 .views-view-responsive-grid__item-inner > .views-field-nothing { order:3 !important; margin-top:0 !important; background:#f4f8fd !important; border-top:1px solid #d3e1f2 !important; border-bottom:0 !important; flex:0 0 auto !important; }
}
@media (max-width: 767px) {
  html body .view-id-front.view-display-id-block_1 .views-view-responsive-grid__item-inner > .views-field-nothing-1 { margin:-10px -10px 0 !important; border-radius:8px 8px 0 0 !important; }
  html body .view-id-front.view-display-id-block_1 .views-view-responsive-grid__item-inner > .views-field-nothing { margin:0 -10px -10px !important; border-radius:0 0 8px 8px !important; }
}
@media (max-width: 767px) {
  html body .view-id-front.view-display-id-block_1 .views-view-responsive-grid__item-inner > .views-field-nothing-1 { width:calc(100% + 20px) !important; max-width:none !important; box-sizing:border-box !important; align-self:flex-start !important; }
  html body .view-id-front.view-display-id-block_1 .views-view-responsive-grid__item { height:calc(100vh - 56px) !important; height:calc(100svh - 56px) !important; margin:28px 0 !important; scroll-margin-top:28px !important; }
}

/* ===== Startseite Mobil: "Život a práce v EU" als reduzierte Bild-Karten zum seitlichen Wischen (2026-10-12) ===== */
@media (max-width: 767px) {
  html body #basisinfo-cards { display:block !important; }
  html body #basisinfo-cards .views-view-responsive-grid { display:flex !important; flex-wrap:nowrap !important; gap:12px !important; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; padding:4px 16px 12px !important; margin:0 !important; scroll-padding:0 16px; scrollbar-width:none; }
  html body #basisinfo-cards .views-view-responsive-grid::-webkit-scrollbar { display:none; }
  html body #basisinfo-cards .views-view-responsive-grid__item { flex:0 0 78% !important; width:78% !important; max-width:300px !important; min-width:0; margin:0 !important; scroll-snap-align:start; position:relative; overflow:hidden; border-radius:10px; background:#fff; border:1px solid #cfe0f4; box-shadow:0 1px 4px rgba(0,0,0,.06); }
  html body #basisinfo-cards .views-view-responsive-grid__item-inner { display:flex !important; flex-direction:column; padding:0 !important; height:100%; background:transparent !important; border:0 !important; }
  html body #basisinfo-cards .views-field-field-z-kladn-informacee,
  html body #basisinfo-cards .views-field-field-untertitel { display:none !important; }
  html body #basisinfo-cards .views-field-field-image { order:0; margin:0 !important; padding:0 !important; float:none !important; }
  html body #basisinfo-cards .views-field-field-image img { display:block; width:100% !important; height:150px !important; object-fit:cover !important; border-radius:0 !important; }
  html body #basisinfo-cards .views-field-title { order:1; padding:10px 12px 14px !important; margin:0 !important; }
  html body #basisinfo-cards .views-field-title h3 { margin:0 !important; font-size:1rem !important; line-height:1.3 !important; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
  html body #basisinfo-cards .views-field-title a::after { content:""; position:absolute; inset:0; }
}
@media (max-width: 767px) {
  html body #basisinfo-cards .views-view-responsive-grid { flex-direction:row !important; align-items:stretch !important; height:auto !important; }
  html body #basisinfo-cards .views-view-responsive-grid__item { height:auto !important; min-height:0 !important; }
  html body #basisinfo-cards .views-view-responsive-grid__item-inner > .views-field { flex:0 0 auto !important; }
  html body #basisinfo-cards .views-view-responsive-grid__item-inner > .views-field-title { flex:1 1 auto !important; }
}
@media (max-width: 767px) {
  html body #basisinfo-cards .views-field-field-image .field-content { display:block !important; width:100% !important; margin:0 !important; padding:0 !important; }
}

/* Presseschau/Pressemonitor-Block auf Mobil aus (User-Wunsch 2026-10-12) */
@media (max-width: 767px) {
  html body .block-views-blockpressemonitor-block-1 { display:none !important; }
}

/* Infotabelle Mobil: einspaltig (User 2026-10-12, Inhalte passten nicht in die schmalen Kacheln) */
@media (max-width: 767px) {
  html body .view[class*="view-id-fullnode"] table.sticky-enabled tbody { grid-template-columns: 1fr !important; }
  html body .view[class*="view-id-fullnode"] table.sticky-enabled tr { grid-column: 1 / -1 !important; height:auto !important; }
}
@media (max-width: 767px) {
  html body .view[class*="view-id-fullnode"] table.sticky-enabled tr { overflow:visible !important; }
  html body .view[class*="view-id-fullnode"] table.sticky-enabled th.views-field-nothing,
  html body .view[class*="view-id-fullnode"] table.sticky-enabled td.views-field-nothing { margin:0 !important; background:none !important; border:0 !important; border-radius:0 !important; }
  html body .view[class*="view-id-fullnode"] table.sticky-enabled th.views-field-nothing { padding:0 0 3px !important; }
  html body .view[class*="view-id-fullnode"] table.sticky-enabled td.views-field-nothing { padding:0 !important; }
}


/* ===== Detailseiten Desktop: Share + Job-Alert unten (2026-10-13) =====
   Stellenangebot + Angebot_stelle. Elemente werden per Drupal.behaviors.detailActionsDesktop (global.js)
   aus der Region breadcrumb ans Ende von #main verschoben. Mobil: eigener Mechanismus (.detail-bottom-actions). */
@media (min-width: 768px) {
  html body .region-breadcrumb.is-emptied {
    display: none;
  }
  /* Platz, den die Kopf-Leiste (Share/Alert) vorher gefuellt hat: etwas Luft zwischen Kategorie-Kacheln und Titel */
  html body.page-node-type-stellenangebot #main > .row-offcanvas,
  html body.page-node-type-angebot_stelle #main > .row-offcanvas {
    margin-top: 24px;
  }
  html body .detail-actions-desktop {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px 32px;
    margin: 40px 0 32px;
    padding-top: 24px;
    border-top: 1px solid #dfe8f5;
  }
  html body .detail-actions-desktop > .block {
    margin: 0;
    width: auto;
    flex: 0 0 auto;
  }
}

/* ===== Footer-Menue: kompakter und vertikal mittig (2026-10-14) =====
   Vorher: 40px Abstand unter der gruenen Linie + 20px Gap + 20px Block-Margin oben, 40px Padding unten
   -> Menue sass ca. 20px unter der Mitte und der Block war ~190px hoch. Jetzt gleicher Abstand oben/unten. */
.site-footer__top {
  gap: 0;
  padding-top: 0;
  padding-bottom: 0;
}
.site-footer__top::before {
  margin-bottom: 0;
}
.site-footer__top .region-footer-second {
  padding: 18px 15px;
  min-height: 0;
}
.site-footer__top .region-footer-second .block {
  margin: 0;
}


/* ===== Startseite Mobil: "Top zaměstnavatelé" als horizontaler Slider (2026-10-14) =====
   Statt 9 untereinanderstehender Vollbild-Karten (7.400px Seitenhoehe): eine Reihe zum seitlichen Wischen.
   Karten behalten Stil und Inhalt (Kopfzeile, Logo, Name, Link-Leiste); Breite 86%, damit die naechste Karte
   hereinschaut. Kartenhoehe natuerlich (alle gleich hoch, passt auf jedes Display). Gleiches Muster wie "Zivot a prace v EU" (#basisinfo-cards).
   Das vertikale Einrasten (JS SNAP_ALL) gilt fuer diesen Block nicht mehr. */
@media (max-width: 767px) {
  html body .view-id-front.view-display-id-block_1 .views-view-responsive-grid {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: 12px !important;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding: 4px 16px 12px !important;
    margin: 0 !important;
    scroll-padding: 0 16px;
    scrollbar-width: none;
  }
  html body .view-id-front.view-display-id-block_1 .views-view-responsive-grid::-webkit-scrollbar {
    display: none;
  }
  html body .view-id-front.view-display-id-block_1 .views-view-responsive-grid__item {
    flex: 0 0 86% !important;
    width: 86% !important;
    max-width: 340px !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    scroll-margin-top: 0 !important;
    scroll-snap-align: start;
    scroll-snap-stop: normal;
  }
}

/* Top zaměstnavatelé Mobil: Abstand Ueberschrift -> Karten kleiner, Firmenname bis 3 Zeilen ohne Abschneiden (2026-10-14) */
@media (max-width: 767px) {
  html body .block-views-blockfront-block-1 > h2 {
    margin-bottom: 12px !important;
  }
  html body .view-id-front.view-display-id-block_1 .views-view-responsive-grid {
    padding-top: 0 !important;
  }
  html body .block-views-blockfront-block-1 .views-field-title .field-content {
    font-size: 1rem !important;
    line-height: 1.25 !important;
    -webkit-line-clamp: 3 !important;
    overflow-wrap: anywhere;
    hyphens: auto;
  }
  html body .view-id-front.view-display-id-block_1 .views-view-responsive-grid__item-inner > .views-field-title {
    padding: 4px 14px 12px !important;
    min-height: 0 !important;
  }
  html body .view-id-front.view-display-id-block_1 .views-view-responsive-grid__item-inner > .views-field-field-logo img {
    max-height: 110px !important;
  }
}


/* ===== Startseite Mobil: Button "Cela nabidka" im Stil der Trennkarte (2026-10-14, v2) =====
   Kommt aus dem Views-Footer (.ip-joblist-more, alle_angebote/front_3). JS zerlegt den Link in .ip-joblist-more__label
   und .ip-joblist-more__arrow. Mobil: dunkelblauer Block, grosser weisser Text, Kreis mit Pfeil nach rechts, der sanft
   pulsiert (wie der Pfeil der Trennkarte, nur seitlich). Ganzer Block ist tippbar. Desktop unveraendert. */
@keyframes snap-nudge {
  0%, 100% { transform: translateX(0); opacity: 1; }
  50%      { transform: translateX(9px); opacity: 0.75; }
}
.ip-joblist-more__arrow {
  margin-left: 0.3em;
}
@media (max-width: 767px) {
  html body .ip-joblist-more {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: linear-gradient(180deg, #1b2266 0%, #0f1547 100%);
    scroll-snap-align: start;
  }
  html body .ip-joblist-more__link,
  html body .ip-joblist-more__link:hover,
  html body .ip-joblist-more__link:focus-visible {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 34px 20px 30px;
    border-radius: 0;
    background: none;
    letter-spacing: 0;
    text-transform: none;
    text-align: center;
  }
  html body .ip-joblist-more__link:focus-visible {
    outline: 2px solid #8dc157;
    outline-offset: -4px;
  }
  html body .ip-joblist-more__label {
    color: #fff;
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1.2;
  }
  html body .ip-joblist-more__arrow {
    display: block;
    margin: 0;
    width: 52px;
    height: 52px;
    border: 2px solid rgba(255, 255, 255, 0.5);
    border-radius: 50%;
    color: #8dc157;
    font-size: 1.6rem;
    line-height: 48px;
    text-align: center;
    animation: snap-nudge 1.6s ease-in-out infinite;
  }
}
@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  html body .ip-joblist-more__arrow { animation: none; }
}

/* ===== Trennkarte Další nabídky: kompakt statt Vollbild (2026-10-14) =====
   Erbt sonst die Karten-Hoehe (min-height 100svh). Pfeil-Animation bleibt. */
@media (max-width: 767px) {
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item.snap-divider {
    min-height: 0 !important;
    scroll-snap-stop: normal;
    border-bottom: 0 !important;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-divider .views-view-responsive-grid__item-inner {
    min-height: 0 !important;
    padding: 34px 20px 30px !important;
    gap: 16px;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-divider__title {
    font-size: 1.75rem;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-divider__arrow {
    width: 52px;
    height: 52px;
    font-size: 1.6rem;
    line-height: 48px;
  }
}


/* ===== Trennkarte "Dalsi nabidky": kleiner LKW faehrt einmal ueber die Strasse (2026-10-14, v3 dezent) =====
   Nur Mobil. ::before = Strasse (statt Dauerbewegung nur waehrend der Fahrt), ::after = LKW (%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 32'%3E%3Crect x='1' y='3' width='40' height='21' rx='2.5' fill='%23ffffff' fill-opacity='.78'/%3E%3Cpath d='M43 9h9.5l7.5 8v7H43z' fill='%23b9c8ee' fill-opacity='.9'/%3E%3Cpath d='M49 11.5h3.2l4.6 5.5H49z' fill='%231b2266' fill-opacity='.55'/%3E%3Ccircle cx='12' cy='26' r='4.6' fill='%230f1547' stroke='%23ffffff' stroke-opacity='.8' stroke-width='1.7'/%3E%3Ccircle cx='30' cy='26' r='4.6' fill='%230f1547' stroke='%23ffffff' stroke-opacity='.8' stroke-width='1.7'/%3E%3Ccircle cx='52' cy='26' r='4.6' fill='%230f1547' stroke='%23ffffff' stroke-opacity='.8' stroke-width='1.7'/%3E%3C/svg%3E, einfarbig).
   Start: JS setzt .snap-divider--seen, sobald der Trenner im Bild ist (IntersectionObserver) - einmalige Fahrt (8 s),
   danach ist der LKW rechts aus dem Bild. Ohne JS/Observer: .snap-divider--seen sofort. Bei "Bewegung reduzieren"
   kein LKW, Strasse steht. Zum Abschalten: diesen Block entfernen. */
@keyframes snap-road {
  from { transform: translateX(0); }
  to   { transform: translateX(28px); }
}
@keyframes snap-truck-drive {
  from { transform: translateX(0); }
  to   { transform: translateX(calc(100vw + 160px)); }
}
@keyframes snap-truck-bob {
  0%, 100% { bottom: 15px; }
  50%      { bottom: 16.5px; }
}
@media (max-width: 767px) {
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item.snap-divider {
    position: relative;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item.snap-divider .views-view-responsive-grid__item-inner {
    padding-bottom: 50px !important;
    position: relative;
    z-index: 1;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item.snap-divider::before {
    content: "";
    position: absolute;
    left: -28px;
    right: 0;
    bottom: 14px;
    height: 2px;
    background-image: repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.3) 0, rgba(255, 255, 255, 0.3) 14px, transparent 14px, transparent 28px);
    pointer-events: none;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item.snap-divider::after {
    content: "";
    position: absolute;
    left: -90px;
    bottom: 15px;
    width: 56px;
    height: 28px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 32'%3E%3Crect x='1' y='3' width='40' height='21' rx='2.5' fill='%23ffffff' fill-opacity='.78'/%3E%3Cpath d='M43 9h9.5l7.5 8v7H43z' fill='%23b9c8ee' fill-opacity='.9'/%3E%3Cpath d='M49 11.5h3.2l4.6 5.5H49z' fill='%231b2266' fill-opacity='.55'/%3E%3Ccircle cx='12' cy='26' r='4.6' fill='%230f1547' stroke='%23ffffff' stroke-opacity='.8' stroke-width='1.7'/%3E%3Ccircle cx='30' cy='26' r='4.6' fill='%230f1547' stroke='%23ffffff' stroke-opacity='.8' stroke-width='1.7'/%3E%3Ccircle cx='52' cy='26' r='4.6' fill='%230f1547' stroke='%23ffffff' stroke-opacity='.8' stroke-width='1.7'/%3E%3C/svg%3E");
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    pointer-events: none;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item.snap-divider.snap-divider--seen::before {
    animation: snap-road 0.9s linear 9;
  }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item.snap-divider.snap-divider--seen::after {
    animation: snap-truck-drive 8s linear 1 forwards, snap-truck-bob 0.45s ease-in-out 18;
    -webkit-animation: snap-truck-drive 8s linear 1 forwards, snap-truck-bob 0.45s ease-in-out 18;
  }
}
@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item.snap-divider::after { display: none; }
  :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .views-view-responsive-grid__item.snap-divider.snap-divider--seen::before { animation: none; }
}


/* ===== Header Mobil: Suchfeld schmaler, Sprachflaggen daneben (2026-10-14) =====
   JS (mobileHeader.buildSearchRow) legt Suchblock und Flaggen in .mobile-search-row. Beim Tippen/Fokus klappen die
   Flaggen weg, das Suchfeld nutzt die ganze Breite. Das Logo muss rechts keinen Platz mehr fuer die Flaggen frei halten. */
@media (max-width: 767px) {
  html body header#header #navbar-main .navbar-brand {
    padding-right: 0 !important;
  }
  html body .mobile-search-row {
    display: flex;
    align-items: center;
    gap: 10px;
  }
  html body .mobile-search-row > #block-boot-sub-exposedformangebote-suchepage-1 {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0 !important;
  }
  html body .mobile-search-row > #block-boot-sub-sprachumschalteranzeigesprachederwebsite {
    flex: 0 0 auto;
    max-width: 120px;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden;
    transition: max-width 0.25s ease, opacity 0.2s ease, margin 0.25s ease;
  }
  /* die im Header-Block geltenden Flaggen-Regeln (an #navbar-top gebunden) hier neu */
  html body .mobile-search-row .links-inline {
    display: flex;
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
  }
  html body .mobile-search-row .links-inline .nav-link {
    width: 36px !important;
    padding: 0 !important;
    justify-content: center !important;
  }
  /* Beim Tippen: Flaggen weg, Suchfeld volle Breite */
  html body .mobile-search-row:focus-within > #block-boot-sub-sprachumschalteranzeigesprachederwebsite,
  html body .mobile-search-row:has(input[name="search_api_fulltext"]:not(:placeholder-shown)) > #block-boot-sub-sprachumschalteranzeigesprachederwebsite {
    max-width: 0;
    opacity: 0;
    margin-left: -10px !important;
    pointer-events: none;
  }
}
@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  html body .mobile-search-row > #block-boot-sub-sprachumschalteranzeigesprachederwebsite { transition: none; }
}


/* ===== Header Mobil: Logo und Slogan ueber die volle Breite (2026-10-14) =====
   Logo 84 % der Breite, mittig (Quelldatei 252x50 px, wird nur leicht vergroessert), Slogan fuellt die
   Zeile (Schriftgroesse per JS: mobileHeader.fitSlogan). */
@media (max-width: 767px) {
  html body header#header #navbar-main .navbar-brand img {
    display: block !important;
    width: 84% !important;
    max-width: 100% !important;
    max-height: none !important;
    height: auto !important;
    margin: 0 auto !important;
  }
  html body header#header #navbar-main .site-name-slogan {
    text-align: center !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }
}

/* ===== Seitentitel Mobil: groesser und deutlicher (2026-10-14, v2: alle Seitentitel oben) =====
   Gilt fuer Inhaltsseiten (page, z.B. Angebotsliste, Inzerce, FAQ, Impressum), Firmenseiten, Kategorie-/Term-Seiten
   und den Titel der Startseiten-Liste. NICHT fuer die Detailseiten der Stellen (lange Titel, bewusst klein).
   Ueberschreibt die allgemeine Regel ".field--name-title h1" (klein) und die Alt-Linie unter den Kategorie-Titeln. */
@media (max-width: 767px) {
  html body.page-node-type-page .field--name-title h1,
  html body.page-node-type-anbietr_firma .field--name-title h1,
  html body.path-taxonomy .view-header h1,
  html body .view-id-front.view-display-id-block_3 .view-header h1 {
    font-size: clamp(1.75rem, 8vw, 2.1rem) !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    color: #002071 !important;
    margin: 4px 0 18px !important;
    padding-bottom: 12px !important;
    position: relative;
    overflow-wrap: break-word;
    hyphens: auto;
  }
  html body.page-node-type-page .field--name-title h1::after,
  html body.page-node-type-anbietr_firma .field--name-title h1::after,
  html body.path-taxonomy .view-header h1::after,
  html body .view-id-front.view-display-id-block_3 .view-header h1::after {
    content: "";
    position: absolute;
    left: 0;
    right: auto;
    bottom: 0;
    width: 64px !important;
    height: 4px !important;
    border-radius: 2px;
    background: #8dc157 !important;
    animation: none !important;
    transform: none !important;
    opacity: 1 !important;
  }
}

/* ===== Nach-oben-Button Mobil (2026-10-14) =====
   JS: Drupal.behaviors.backToTop (global.js). Erscheint erst nach ca. 1,2 Bildschirmhoehen. Auf Detailseiten mit festem
   Reagovat-Button (body.has-apply-bar) sitzt er darueber. Waehrend des Hochscrollens ist das Einrasten aus. */
.back-to-top {
  display: none;
}
@media (max-width: 767px) {
  html.back-to-top-active {
    scroll-snap-type: none !important;
  }
  html body .back-to-top {
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    right: 14px;
    bottom: calc(18px + env(safe-area-inset-bottom));
    z-index: 850;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 2px solid #8dc157;
    border-radius: 50%;
    background: #002071;
    color: #fff;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.28);
    cursor: pointer;
    opacity: 0;
    transform: translateY(12px);
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
    -webkit-tap-highlight-color: transparent;
  }
  html body .back-to-top.is-visible {
    opacity: 1;
    transform: none;
    pointer-events: auto;
  }
  html body .back-to-top:active {
    background: #0b2d82;
  }
  html body .back-to-top:focus-visible {
    outline: 3px solid #8dc157;
    outline-offset: 2px;
  }
  html body.has-apply-bar .back-to-top {
    bottom: calc(90px + env(safe-area-inset-bottom));
  }
  html body .back-to-top svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 2.6;
    stroke-linecap: round;
    stroke-linejoin: round;
  }
}
@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  html body .back-to-top { transition: none; }
}

/* ==========================================================================
   Basisinfo-2026 (node--basisinfo-2026--full) – 2026-10-14
   Chips nutzen die vorhandenen .eckdaten-chips/.eckdaten-chip (s. oben).
   ========================================================================== */
.basisinfo-2026 .bi26-title { margin: 0 0 .25em; }
.basisinfo-2026 .bi26-subtitle { color: #555; margin: 0 0 .5em; }
.basisinfo-2026 .bi26-body { margin-top: 1.25rem; }
.basisinfo-2026 .bi26-hint {
  margin: 2rem 0 1rem;
  padding: 14px 18px;
  background: #eaf0fa;
  border-left: 4px solid #1b2260;
  font-size: .9rem;
}
.basisinfo-2026 .bi26-hint p { margin: 0; }
.basisinfo-2026 .bi26-source {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
  font-size: .85rem;
  color: #555;
}
.basisinfo-2026 .bi26-source .field { margin: 0; }

/* Basisinfo-2026: Feinschliff Überschriften-Hierarchie und Quellenzeile (2026-10-14) */
.basisinfo-2026 .bi26-body h2 { font-size: 1.6rem; margin: 1.6rem 0 .5rem; }
.basisinfo-2026 .bi26-body h3 { font-size: 1.25rem; margin: 1.2rem 0 .4rem; }
.basisinfo-2026 .bi26-source__link .field,
.basisinfo-2026 .bi26-source__link .field__item { display: inline; }

/* Basisinfo-2026: Zaehler in der Seitenspalte ausblenden (nur noetig fuer "leere Begriffe ausblenden") */
body.layout-sidebar-first .block-hierarchical-taxonomy-menu .referenced-entity-count { display: none; }

/* Basisinfo-2026: Kategorie-Seite (View basisinfo26_kategorie, /info/kategorie/<tid>) - 2026-10-15 */
.bi26-list-h1 { margin: 0 0 1rem; }
.bi26-list-item { margin: 0 0 1.5rem; padding: 0 0 1.25rem; border-bottom: 1px solid #e3ecd6; }
.bi26-list-item:last-child { border-bottom: 0; }
.bi26-list-title { margin: 0 0 .25rem; font-size: 1.6rem; }
.bi26-list-title a { color: #032373; text-decoration: none; }
.bi26-list-title a:hover { text-decoration: underline; }
.bi26-list-teaser { margin-top: .5rem; color: #333; }
.bi26-list-teaser p { margin: 0; }

/* Basisinfo-2026: Kategorie-Seite als Karten-Liste (ersetzt die schlichte Liste von oben), 2026-10-15 */
.view-basisinfo26-kategorie .view-content { display: grid; gap: 16px; margin-top: 8px; }
.bi26-list-h1 { margin: 0 0 6px; padding: 0; }
.bi26-list-item {
  position: relative;
  margin: 0;
  padding: 18px 22px 16px;
  background: #fff;
  border: 1px solid #dfe9d3;
  border-left: 4px solid #8dc157;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(3, 35, 115, 0.06);
  transition: box-shadow .15s ease, border-color .15s ease;
}
.bi26-list-item:hover { box-shadow: 0 4px 14px rgba(3, 35, 115, 0.12); border-color: #c9dcb0; border-left-color: #8dc157; }
.bi26-list-item:last-child { border-bottom: 1px solid #dfe9d3; }
.bi26-list-item .bi26-list-title { margin: 0 0 4px; font-size: 1.3rem; line-height: 1.3; }
.bi26-list-item .bi26-list-title a { color: #032373; text-decoration: none; }
.bi26-list-item .bi26-list-title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }  /* ganze Karte klickbar */
.bi26-list-item .eckdaten-chips { margin: 8px 0 10px; }
.bi26-list-item .bi26-list-teaser { margin: 0; color: #333; font-size: .95rem; line-height: 1.5; }
.bi26-list-item .bi26-list-teaser::after { content: "\2192"; margin-left: 6px; color: #8dc157; font-weight: 700; }
/* Basisinfo-2026 Karten: Pfeil direkt am Ende des Kurztextes statt in eigener Zeile */
.bi26-list-item .bi26-list-teaser::after { content: none; }
.bi26-list-item .bi26-list-teaser p:last-child::after { content: "\2192"; margin-left: 6px; color: #8dc157; font-weight: 700; }

/* Basisinfo-2026: Flaggen (Bildstil flagge_20x10 wie auf der restlichen Site), 2026-10-15 */
.eckdaten-chip--land { display: inline-flex; align-items: center; gap: 7px; }
.eckdaten-chip--land .field, .eckdaten-chip--land .field__item { display: inline-flex; margin: 0; }
.eckdaten-chip--land img { height: 15px; width: auto; display: block; }
.bi26-list-h1 { display: flex; align-items: center; gap: 12px; }
.bi26-list-h1 .field, .bi26-list-h1 .field__item { display: inline-flex; margin: 0; }
.bi26-list-h1 img { height: 22px; width: auto; display: block; }

/* Basisinfo-2026 Seitenspalte: Flagge links neben dem Land (Ebene 1), 2026-10-15 */
body.layout-sidebar-first .block-hierarchical-taxonomy-menu .hierarchical-taxonomy-menu > .menu-item { position: relative; }
body.layout-sidebar-first .block-hierarchical-taxonomy-menu .hierarchical-taxonomy-menu > .menu-item > .menu-item-image {
  position: absolute; left: 14px; top: 15px; width: 24px; height: auto; border-radius: 2px;
  object-fit: contain; box-shadow: 0 0 0 1px rgba(0,0,0,.08); pointer-events: none; z-index: 1;
}
body.layout-sidebar-first .block-hierarchical-taxonomy-menu .hierarchical-taxonomy-menu > .menu-item > .menu-item-image + .block-taxonomymenu__link { padding-left: 46px; }
/* Basisinfo-2026 Seitenspalte: Flagge kompakter und auf Textmitte (überschreibt bi26h) */
body.layout-sidebar-first .block-hierarchical-taxonomy-menu .hierarchical-taxonomy-menu > .menu-item > .menu-item-image { left: 10px; top: 14px; width: 20px; }
body.layout-sidebar-first .block-hierarchical-taxonomy-menu .hierarchical-taxonomy-menu > .menu-item > .menu-item-image + .block-taxonomymenu__link { padding-left: 38px; padding-right: 8px; }
.bi26-list-h1 img { height: 20px; }
/* Basisinfo-2026: Flagge in der Kategorie-Überschrift auf Textmitte (Feld-Container nicht strecken) */
.bi26-list-h1 .field { align-self: center; height: auto; align-items: center; }
.bi26-list-h1 .field { display: flex; }
.bi26-list-h1 .field img { margin: auto 0; }

/* Basisinfo-2026: Titelbild im Artikel (A) und Foto in den Karten der Kategorie-Seite (B), 2026-10-15 */
.basisinfo-2026 .bi26-hero { margin: 16px 0 20px; }
.basisinfo-2026 .bi26-hero img { width: 100%; height: auto; display: block; border-radius: 8px; }
.basisinfo-2026 .bi26-credit { margin-top: 4px; font-size: .75rem; color: #777; }
.bi26-list-item:has(.views-field-field-image) { display: grid; grid-template-columns: 200px minmax(0, 1fr); column-gap: 18px; align-items: start; }
.bi26-list-item .views-field-field-image { grid-row: 1 / span 3; grid-column: 1; }
.bi26-list-item .views-field-field-image img { width: 100%; height: auto; display: block; border-radius: 6px; }
.bi26-list-item .views-field-title, .bi26-list-item .views-field-body { grid-column: 2; }
@media (max-width: 600px) {
  .bi26-list-item:has(.views-field-field-image) { grid-template-columns: 1fr; }
  .bi26-list-item .views-field-field-image { grid-row: auto; margin-bottom: 10px; }
  .bi26-list-item .views-field-title, .bi26-list-item .views-field-body { grid-column: 1; }
}

/* Basisinfo-2026: Bildfeld nicht umfließen lassen (Theme setzt .field--type-image auf float:left), 2026-10-15 */
.basisinfo-2026 .bi26-hero { clear: both; max-width: 960px; }
.basisinfo-2026 .bi26-hero .field,
.basisinfo-2026 .bi26-hero .field__item { float: none; display: block; width: 100%; margin: 0; }
.basisinfo-2026 .bi26-hero img { width: 100%; height: auto; }
.basisinfo-2026 .bi26-body { clear: both; }
.bi26-list-item .views-field-field-image .field,
.bi26-list-item .views-field-field-image .field__item { float: none; width: 100%; margin: 0; }

/* Basisinfo-2026 Landing-Page (Seite "Sociální zabezpečení …", View basisinfo26_uebersicht + basisinfo26_laender), 2026-10-15 */
.bi26-row { position: relative; background: #fff; border: 1px solid #dfe9d3; border-radius: 8px; margin: 0 0 14px; overflow: hidden; transition: box-shadow .15s ease; }
.bi26-row:hover { box-shadow: 0 4px 14px rgba(3, 35, 115, 0.12); }
.bi26-row__head { display: flex; align-items: center; gap: 8px; background: #eef6e3; padding: 8px 16px; font-size: .85rem; color: #3d5a1f; line-height: 1.3; }
.bi26-row__head .field, .bi26-row__head .field__item { display: inline-flex; float: none; margin: 0; }
.bi26-row__flag { display: inline-flex; }
.bi26-row__flag img { height: 15px; width: auto; display: block; }
.bi26-row__sep { color: #9ec871; }
.bi26-row__body { padding: 12px 16px 14px; }
.bi26-row__title { margin: 0 0 6px; font-size: 1.15rem; line-height: 1.3; }
.bi26-row__title a { color: #032373; text-decoration: none; }
.bi26-row__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.bi26-row__teaser { color: #444; font-size: .95rem; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.bi26-row__teaser p { margin: 0 0 4px; }
.bi26-list-entry { margin: 0; padding: 0; border: 0; }
.bi26-land-card { position: relative; background: #fff; border: 1px solid #dfe9d3; border-radius: 8px; padding: 14px 12px; margin: 0 0 12px; text-align: center; transition: box-shadow .15s ease; }
.bi26-land-card:hover { box-shadow: 0 4px 14px rgba(3, 35, 115, 0.12); }
.bi26-land-card__flag .field, .bi26-land-card__flag .field__item { float: none; display: block; margin: 0; }
.bi26-land-card__flag img { width: 96px; height: auto; display: block; margin: 0 auto 10px; border-radius: 3px; box-shadow: 0 0 0 1px rgba(0,0,0,.08); }
.bi26-land-card__name { margin: 0; font-size: 1.05rem; }
.bi26-land-card__link { color: #032373; font-weight: 600; text-decoration: none; }
.bi26-land-card__link::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.page-node-type-page .views-exposed-form select { width: 100%; }

/* Basisinfo-2026 Landing-Page: Block "Weitere Themen" (View basisinfo26_weitere), 2026-10-15 */
.bi26-weitere__h { margin: 30px 0 14px; padding-bottom: 6px; font-size: 1.3rem; color: #032373; border-bottom: 1px solid #dfe9d3; }

/* Basisinfo-2026: Tax-Menü auch in der linken Layout-Spalte der Landing-Page (Node 4515), 2026-10-15 */
.layout__region .block-hierarchical-taxonomy-menu .referenced-entity-count { display: none; }
.layout__region .block-hierarchical-taxonomy-menu .hierarchical-taxonomy-menu > .menu-item { position: relative; }
.layout__region .block-hierarchical-taxonomy-menu .hierarchical-taxonomy-menu > .menu-item > .menu-item-image {
  position: absolute; left: 10px; top: 14px; width: 20px; height: auto; border-radius: 2px;
  object-fit: contain; box-shadow: 0 0 0 1px rgba(0,0,0,.08); pointer-events: none; z-index: 1;
}
.layout__region .block-hierarchical-taxonomy-menu .hierarchical-taxonomy-menu > .menu-item > .menu-item-image + .block-taxonomymenu__link { padding-left: 38px; padding-right: 8px; }

/* Basisinfo-2026: Tax-Menü auf Seiten vom Typ page (Landing-Page, Spalte col-sm-3), Korrektur zu bi26q */
.node--type-page .block-hierarchical-taxonomy-menu .referenced-entity-count { display: none; }
.node--type-page .block-hierarchical-taxonomy-menu .hierarchical-taxonomy-menu > .menu-item { position: relative; }
.node--type-page .block-hierarchical-taxonomy-menu .hierarchical-taxonomy-menu > .menu-item > .menu-item-image {
  position: absolute; left: 10px; top: 14px; width: 20px; height: auto; border-radius: 2px;
  object-fit: contain; box-shadow: 0 0 0 1px rgba(0,0,0,.08); pointer-events: none; z-index: 1;
}
.node--type-page .block-hierarchical-taxonomy-menu .hierarchical-taxonomy-menu > .menu-item > .menu-item-image + .block-taxonomymenu__link { padding-left: 38px; padding-right: 8px; }

/* Basisinfo-2026 Tax-Menü: Flagge im Link vor dem Land (Theme-Override des Menü-Templates), 2026-10-15 */
.block-hierarchical-taxonomy-menu .block-taxonomymenu__label { display: inline-flex; align-items: center; gap: 8px; min-width: 0; }
.block-hierarchical-taxonomy-menu .block-taxonomymenu__label .menu-item-image { width: auto; height: 15px; flex: none; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0,0,0,.08); object-fit: contain; position: static; margin: 0; }

/* Basisinfo-2026 Landing-Page: Zeilen im Karten-Stil der Kategorie-Seite + Menüspalte im Kasten (ersetzt bi26o-Optik), 2026-10-15 */
.bi26-row { display: grid; grid-template-columns: minmax(0, 1fr); background: #fff; border: 1px solid #dfe9d3; border-left: 4px solid #8dc157; border-radius: 8px; padding: 18px 22px 16px; margin: 0 0 16px; overflow: visible; box-shadow: 0 1px 3px rgba(3, 35, 115, 0.06); }
.bi26-row:has(.bi26-row__media) { grid-template-columns: 200px minmax(0, 1fr); column-gap: 18px; align-items: start; }
.bi26-row:hover { box-shadow: 0 4px 14px rgba(3, 35, 115, 0.12); border-color: #c9dcb0; border-left-color: #8dc157; }
.bi26-row__media .field, .bi26-row__media .field__item { float: none; display: block; width: 100%; margin: 0; }
.bi26-row__media img { width: 100%; height: auto; display: block; border-radius: 6px; }
.bi26-row__head { display: flex; align-items: center; gap: 7px; background: none; padding: 0 0 4px; font-size: .8rem; color: #5b6654; }
.bi26-row .bi26-row__title { margin: 0 0 4px; font-size: 1.3rem; line-height: 1.3; }
.bi26-row .bi26-row__title a { color: #032373; }
.bi26-row .bi26-row__teaser { color: #333; font-size: .95rem; line-height: 1.5; display: block; -webkit-line-clamp: unset; overflow: visible; }
.bi26-row .bi26-row__teaser p { margin: 0; }
.bi26-row .bi26-row__teaser p:last-child::after { content: "\2192"; margin-left: 6px; color: #8dc157; font-weight: 700; }
.node--type-page .block-hierarchical-taxonomy-menu { background: #f6f6f2; padding: 15px; }
@media (max-width: 600px) {
  .bi26-row:has(.bi26-row__media) { grid-template-columns: 1fr; }
  .bi26-row__media { margin-bottom: 10px; }
}

/* Basisinfo-2026: Meldung auf leeren Kategorie-Seiten (keine Übersetzung in dieser Sprache), 2026-10-15 */
.bi26-empty { margin: 0 0 16px; padding: 14px 18px; background: #f6f6f2; border-left: 4px solid #8dc157; border-radius: 0 8px 8px 0; color: #444; }
.bi26-empty a { font-weight: 600; }

/* bi26v: Sprach-Fallback-Kennzeichen (Artikel nur auf Deutsch vorhanden) */
.bi26-row__lang {
  display: inline-block;
  margin-left: .6rem;
  padding: 0 .5rem;
  border-radius: 999px;
  background: #eef3f8;
  color: #4a5b6c;
  font-size: .75rem;
  line-height: 1.5;
  font-weight: 600;
  text-transform: none;
}

/* bi26w: Tabellen in Basisinfo-2026-Artikeln auf schmalen Schirmen scrollbar */
.basisinfo-2026 .bi26-body table { display: block; max-width: 100%; overflow-x: auto; }

/* bi26y: mobil: Kategorie-/Artikelseiten zeigen den Inhalt vor dem Seiten-Tax-Menue (Menue danach) */
@media (max-width: 767.98px) {
  .sidebar_first.order-first:has(.block-hierarchical-taxonomy-menu) { order: 2 !important; }
}

/* bi26z: mobil: Desktop-Kopie der Hauptkategorien-Karten ausblenden (Detailseiten haben mobil bewusst keinen Streifen, Kopie hat kein Mobil-CSS und erzeugte horizontales Scrollen); Kartentitel kleiner */
@media (max-width: 767.98px) {
  #block-boot-sub-views-block-hauptkategorien-cards-block-1-bi26 { display: none !important; }
  .bi26-list-title { font-size: 1.2rem; }
}

/* bi26a: lange URLs im Artikeltext brechen um (sonst horizontales Scrollen mobil) */
.basisinfo-2026 .bi26-body { overflow-wrap: anywhere; word-break: normal; }

/* bi26x: Landing-Page mobil: Tax-Menue (Laender-Akkordeon) ueber der Liste (Kategorie-/Artikelseiten: Menue unten, siehe bi26y) */
@media (max-width: 767.98px) {
  .node--type-page .row:has(> .col-sm-3 .block-hierarchical-taxonomy-menu) > .col-sm-3 { order: 0; margin-bottom: 1rem; }
}

/* bi26x2: Landing mobil: Abstand Titel zu Menue verkleinern (region--top hatte 50px margin-bottom) */
@media (max-width: 767.98px) {
  .node--type-page .row:has(> .col-sm-3 .block-hierarchical-taxonomy-menu) > .region--top { margin-bottom: 8px; }
}

/* bi26f: Startseite "Zivot a prace v EU" (front/block_6) zeigt jetzt basisinfo_2026: Kategorie-Feld statt altem Kategorie-Feld, Kopfstreifen-Optik uebernehmen, kein Untertitel */
.block-views-blockfront-block-6 .views-field-field-kategorie-2026 {
  order: -20 !important;
  width: 100%;
  box-sizing: border-box;
  border-top: 3px solid #8bc34a;
  margin-bottom: 0;
  padding: 8px 12px;
  background: #f2f8ea;
  border-bottom: 2px solid #dcebc8;
}
.block-views-blockfront-block-6 .views-view-responsive-grid__item-inner .views-field-field-kategorie-2026 .field-content {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 0.8em;
  line-height: 1.3;
  color: #4a6b2a;
}
@media (max-width: 767px) {
  html body #basisinfo-cards .views-field-field-kategorie-2026 { display: none !important; }
}

/* bi26f2: Kategorie im Kopfstreifen einzeilig (mit Auslassungspunkten kuerzen) */
.block-views-blockfront-block-6 .views-view-responsive-grid__item-inner .views-field-field-kategorie-2026 .field-content {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: unset;
  line-clamp: unset;
}

/* bi26f3: Titel-Links der Startseiten-Karten (front/block_6) in der dunkelblauen Ueberschriftenfarbe statt Standard-Linkblau */
.block-views-blockfront-block-6 .views-field-title a { color: #00256e; text-decoration: none; }
.block-views-blockfront-block-6 .views-field-title a:hover,
.block-views-blockfront-block-6 .views-field-title a:focus { color: #00256e; text-decoration: underline; }

/* bi26f4: Startseiten-Karten (front/block_6): Bild schliesst buendig an den Kopfstreifen an (kein Spalt durch zentriertes Bild im 4:3-Rahmen, kein -8px-Versatz) */
.block-views-blockfront-block-6 .views-view-responsive-grid__item-inner .views-field-field-image {
  display: block !important;
  aspect-ratio: auto;
  margin-top: 0 !important;
  line-height: 0;
}
.block-views-blockfront-block-6 .views-view-responsive-grid__item-inner .views-field-field-image img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}

/* plzort: Firma-Fullnode Kontakt (Desktop): PLZ und Ort direkt nebeneinander statt PLZ in fester 55px-Spalte (4-stellige PLZ aus AT/CH hatte zu grossen Abstand).
   Raster: Spalte 1 = PLZ (max-content), 2 = Ort, 3 = Rest der Textspalte, 4 = Logo (190px inkl. 20px Abstand links). */
@media (min-width: 768px) {
  .block-views-blockfirmenprofil-block-kontakt .views-row {
    grid-template-columns: max-content max-content minmax(0, 1fr) 190px;
    column-gap: 0;
  }
  .block-views-blockfirmenprofil-block-kontakt .views-field-field-firma-name,
  .block-views-blockfirmenprofil-block-kontakt .views-field-field-strasse-nr,
  .block-views-blockfirmenprofil-block-kontakt .views-field-nothing-1 {
    grid-column: 1 / 4;
  }
  .block-views-blockfirmenprofil-block-kontakt .views-field-field-plz {
    grid-column: 1;
    width: auto;
  }
  .block-views-blockfirmenprofil-block-kontakt .views-field-field-stadt {
    grid-column: 2;
    margin-left: 7px;
  }
  .block-views-blockfirmenprofil-block-kontakt .views-field-field-logo {
    grid-column: 4;
    margin-left: 20px;
  }
}

/* bi26x: Kopfzeile der Basisinfo-Karten als Chips (Flagge eigener Chip, Kategorie Chip; Land steht im Titel) */
.bi26-row__head.eckdaten-chips { margin: 0 0 8px; padding: 0; gap: 8px; }
.bi26-row__head .eckdaten-chip { font-size: .8rem; padding: 4px 11px; }
.bi26-row__head .bi26-row__flag { padding: 4px 10px; }
.bi26-row__head .bi26-row__kat .field, .bi26-row__head .bi26-row__kat .field__item { display: inline; margin: 0; }
.bi26-row__head .bi26-row__lang { margin-left: 0; align-self: center; }

/* bi26x2: Flaggen-Chip kompakt (Wrapper-div .field hatte Hoehe/Abstaende, Chip war zu gross); alle Chips der Kopfzeile gleich hoch */
.bi26-row__head .eckdaten-chip { display: inline-flex; align-items: center; height: 26px; box-sizing: border-box; padding: 0 12px; line-height: 1; }
.bi26-row__head .bi26-row__flag { padding: 0 10px; }
.bi26-row__head .bi26-row__flag .field,
.bi26-row__head .bi26-row__flag .field__item { display: flex; align-items: center; margin: 0 !important; padding: 0 !important; height: auto; min-height: 0; line-height: 0; }
.bi26-row__head .bi26-row__flag img { display: block; height: 15px; width: auto; margin: 0; }

/* bi26z: Basisinfo + Basisinfo-2026 (Desktop): gleiche Luft wie bei Stellenangeboten, nachdem Share/Job-Alert nach unten gewandert sind */
@media (min-width: 768px) {
  html body.page-node-type-basisinfo_2026 #main > .row-offcanvas,
  html body.page-node-type-basisinfo #main > .row-offcanvas {
    margin-top: 56px;
  }
}

/* bi26c: Basisinfo-2026 Vollansicht: Chips ausgerichtet (gleiche Hoehe, mittig), Land-Chip nur Flagge (Land steht im Titel) */
.basisinfo-2026 .bi26-header .eckdaten-chips { align-items: center; }
.basisinfo-2026 .bi26-header .eckdaten-chip { display: inline-flex; align-items: center; height: 30px; box-sizing: border-box; padding: 0 14px; line-height: 1; }
.basisinfo-2026 .bi26-header .eckdaten-chip--land { padding: 0 12px; gap: 0; }
.basisinfo-2026 .bi26-header .eckdaten-chip--land .field,
.basisinfo-2026 .bi26-header .eckdaten-chip--land .field__item { display: flex; align-items: center; margin: 0 !important; padding: 0 !important; height: auto; min-height: 0; line-height: 0; }
.basisinfo-2026 .bi26-header .eckdaten-chip--land img { display: block; height: 15px; width: auto; margin: 0; }

/* bi26e: Basisinfo-2026 Vollansicht: Eyebrow-Zeile ueber dem Titel (gruen, Versalien) */
.basisinfo-2026 .bi26-eyebrow { margin: 0 0 8px; font-size: .75rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: #5f8f2a; line-height: 1.3; }

/* bi26s: sidebar-first (Basisinfo-Taxonomie-Menue) auf 25% Breite (Bootstrap col-md-2 = 16,67%); Inhalt (.col) fuellt den Rest */
@media (min-width: 768px) {
  body.layout-sidebar-first .sidebar_first.sidebar {
    flex: 0 0 25%;
    width: 25%;
    max-width: 25%;
  }
}

/* bi26k: Basisinfo-Kategorie-Seiten (/basisinfo/*, View basisinfo26_kategorie): gleicher Abstand oben wie bei den Artikeln, Share/Job-Alert sind unten */
@media (min-width: 768px) {
  html body.path-basisinfo #main > .row-offcanvas {
    margin-top: 56px;
  }
}

/* bi26e2: Eyebrow auch ueber dem H1 der Kategorie-Seiten (/basisinfo/*, View-Header) */
.view-basisinfo26-kategorie .bi26-eyebrow { margin: 0 0 8px; font-size: .75rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: #5f8f2a; line-height: 1.3; }

/* bi26h: Ueberschriften im Teaser der Basisinfo-Karten (Kategorie-Seiten + Landing) kleiner, Fullnode behaelt H2-Groesse */
.bi26-list-item .bi26-list-teaser :is(h2, h3, h4),
.bi26-row .bi26-row__teaser :is(h2, h3, h4) {
  margin: 10px 0 2px;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.35;
  color: #032373;
}

/* ===== Trenner TOP/normale Angebote Desktop (/nabidky-prace; 2026-10-17, v2 dezent) =====
   Kein Block, sondern Linie links/rechts mit Titel in der Mitte (ohne Pfeil).
   Element kommt aus Drupal.behaviors.topDividerDesktop (global.js); Mobil bleibt die JS-Trennkarte. */
.top-divider-desktop {
  display: none;
}
@media (min-width: 768px) {
  .top-divider-desktop {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    margin: 40px 0 28px;
    padding: 0;
    background: none;
  }
  .top-divider-desktop__title {
    display: flex;
    align-items: center;
    gap: 18px;
    width: 100%;
    margin: 0;
    color: #00256e;
    font-size: 1.15rem;
    font-weight: 600;
    line-height: 1.2;
    white-space: nowrap;
  }
  .top-divider-desktop__title::before,
  .top-divider-desktop__title::after {
    content: "";
    flex: 1 1 auto;
    height: 1px;
    background: #cfdcee;
  }
}

/* ===== Berufe (field_bran_e_profese) als ruhige Textzeile in den Angebotskarten (alle_angebote, 2026-10-17, v2) =====
   View-Feld ist als Liste (<ul class="list-group">) ausgegeben. Max. 3 Berufe sichtbar, getrennt durch " · ", einzeilig mit Ellipsis;
   weitere sind unsichtbar (positioniert, zaehlen aber im CSS-Zaehler) und erscheinen als "+N". Ersetzt den alten grauen Fliesstext (#c1c1c1). */
:is(.alle-angebote-grid, .angebote-suche, .top-attachment, .alle-tax-term) .views-field-field-bran-e-profese {
  margin-top: 8px;
}
:is(.alle-angebote-grid, .angebote-suche, .top-attachment, .alle-tax-term) .views-field-field-bran-e-profese .item-list {
  margin: 0;
  padding: 0;
}
:is(.alle-angebote-grid, .angebote-suche, .top-attachment, .alle-tax-term) .views-field-field-bran-e-profese .list-group {
  position: relative;
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  list-style: none;
  counter-reset: bi-more;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #6b7a99;
  font-size: 0.85rem;
  line-height: 1.4;
}
:is(.alle-angebote-grid, .angebote-suche, .top-attachment, .alle-tax-term) .views-field-field-bran-e-profese .list-group .list-group-item {
  display: inline;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: inherit;
  font-size: inherit;
  font-weight: 500;
  line-height: inherit;
}
:is(.alle-angebote-grid, .angebote-suche, .top-attachment, .alle-tax-term) .views-field-field-bran-e-profese .list-group .list-group-item + .list-group-item::before {
  content: "\00b7";
  margin: 0 0.5em;
  color: #9fb0cc;
  font-weight: 700;
}
:is(.alle-angebote-grid, .angebote-suche, .top-attachment, .alle-tax-term) .views-field-field-bran-e-profese .list-group .list-group-item:nth-child(n+4) {
  position: absolute;
  visibility: hidden;
  counter-increment: bi-more;
}
:is(.alle-angebote-grid, .angebote-suche, .top-attachment, .alle-tax-term) .views-field-field-bran-e-profese .list-group:has(.list-group-item:nth-child(4))::after {
  content: " +" counter(bi-more);
  margin-left: 0.4em;
  color: #9fb0cc;
  font-weight: 600;
}
@media (max-width: 767px) {
  :is(.alle-angebote-grid, .angebote-suche, .top-attachment, .alle-tax-term) .views-field-field-bran-e-profese .list-group {
    text-align: center;
  }
}

/* Berufe-Chips: Label "Povolani:" entfaellt, Feld ohne Berufe komplett ausblenden (kein leeres Label) */
:is(.alle-angebote-grid, .angebote-suche, .top-attachment, .alle-tax-term) .views-field-field-bran-e-profese .views-label {
  display: none;
}
:is(.alle-angebote-grid, .angebote-suche, .top-attachment, .alle-tax-term) .views-field-field-bran-e-profese:not(:has(.list-group-item)) {
  display: none;
}

/* TOP-Block (Desktop): Luft unter dem Kartentext (Berufe-Zeile klebte am Kartenrand) und mehr Abstand bis zum TOP-Reiter der naechsten Karte */
@media (min-width: 768px) {
  .top-attachment .views-view-responsive-grid__item-inner {
    padding-bottom: 16px !important;
  }
  .top-attachment .views-view-responsive-grid__item {
    margin-bottom: 22px;
  }
}

/* --- Pressemonitor block_5: Quelle links, Datum (mit Uhr-Icon) rechts in einer Zeile ---
   Grid folgt der DOM-/Views-Feldreihenfolge (kein order): typ → title → body → Quelle | Datum */
.block-views-blockpressemonitor-block-5 .views-view-responsive-grid__item-inner,
.block-views-blockpressemonitor-block-6 .views-view-responsive-grid__item-inner,
.block-views-blockpressemonitor-block-7 .views-view-responsive-grid__item-inner,
.block-views-blockpressemonitor-block-1 .views-view-responsive-grid__item-inner,
.block-views-blockpressemonitor-block-2 .views-view-responsive-grid__item-inner,
.block-views-blockpressemonitor-block-3 .views-view-responsive-grid__item-inner,
.block-views-blockpressemonitor-block-4 .views-view-responsive-grid__item-inner,
.block-views-blockpressemonitor-block-8 .views-view-responsive-grid__item-inner,
.block-views-blockpressemonitor-block-9 .views-view-responsive-grid__item-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto auto 1fr auto;
  align-items: end;
}
.block-views-blockpressemonitor-block-5 .views-field-field-monitor-typ,
.block-views-blockpressemonitor-block-6 .views-field-field-monitor-typ,
.block-views-blockpressemonitor-block-7 .views-field-field-monitor-typ,
.block-views-blockpressemonitor-block-1 .views-field-field-monitor-typ,
.block-views-blockpressemonitor-block-2 .views-field-field-monitor-typ,
.block-views-blockpressemonitor-block-3 .views-field-field-monitor-typ,
.block-views-blockpressemonitor-block-4 .views-field-field-monitor-typ,
.block-views-blockpressemonitor-block-8 .views-field-field-monitor-typ,
.block-views-blockpressemonitor-block-9 .views-field-field-monitor-typ,
.block-views-blockpressemonitor-block-5 .views-field-title,
.block-views-blockpressemonitor-block-6 .views-field-title,
.block-views-blockpressemonitor-block-7 .views-field-title,
.block-views-blockpressemonitor-block-1 .views-field-title,
.block-views-blockpressemonitor-block-2 .views-field-title,
.block-views-blockpressemonitor-block-3 .views-field-title,
.block-views-blockpressemonitor-block-4 .views-field-title,
.block-views-blockpressemonitor-block-8 .views-field-title,
.block-views-blockpressemonitor-block-9 .views-field-title,
.block-views-blockpressemonitor-block-5 .views-field-body,
.block-views-blockpressemonitor-block-6 .views-field-body,
.block-views-blockpressemonitor-block-7 .views-field-body,
.block-views-blockpressemonitor-block-1 .views-field-body,
.block-views-blockpressemonitor-block-2 .views-field-body,
.block-views-blockpressemonitor-block-3 .views-field-body,
.block-views-blockpressemonitor-block-4 .views-field-body,
.block-views-blockpressemonitor-block-8 .views-field-body,
.block-views-blockpressemonitor-block-9 .views-field-body {
  grid-column: 1 / -1;
  align-self: stretch;
}
.block-views-blockpressemonitor-block-5 .views-field-field-untertitel,
.block-views-blockpressemonitor-block-6 .views-field-field-untertitel,
.block-views-blockpressemonitor-block-7 .views-field-field-untertitel,
.block-views-blockpressemonitor-block-1 .views-field-field-untertitel,
.block-views-blockpressemonitor-block-2 .views-field-field-untertitel,
.block-views-blockpressemonitor-block-3 .views-field-field-untertitel,
.block-views-blockpressemonitor-block-4 .views-field-field-untertitel,
.block-views-blockpressemonitor-block-8 .views-field-field-untertitel,
.block-views-blockpressemonitor-block-9 .views-field-field-untertitel,
.block-views-blockpressemonitor-block-5 .views-field-field-pub-datum,
.block-views-blockpressemonitor-block-6 .views-field-field-pub-datum,
.block-views-blockpressemonitor-block-7 .views-field-field-pub-datum,
.block-views-blockpressemonitor-block-1 .views-field-field-pub-datum,
.block-views-blockpressemonitor-block-2 .views-field-field-pub-datum,
.block-views-blockpressemonitor-block-3 .views-field-field-pub-datum,
.block-views-blockpressemonitor-block-4 .views-field-field-pub-datum,
.block-views-blockpressemonitor-block-8 .views-field-field-pub-datum,
.block-views-blockpressemonitor-block-9 .views-field-field-pub-datum {
  padding-bottom: 10px;
}
.block-views-blockpressemonitor-block-5 .views-field-field-pub-datum,
.block-views-blockpressemonitor-block-6 .views-field-field-pub-datum,
.block-views-blockpressemonitor-block-7 .views-field-field-pub-datum,
.block-views-blockpressemonitor-block-1 .views-field-field-pub-datum,
.block-views-blockpressemonitor-block-2 .views-field-field-pub-datum,
.block-views-blockpressemonitor-block-3 .views-field-field-pub-datum,
.block-views-blockpressemonitor-block-4 .views-field-field-pub-datum,
.block-views-blockpressemonitor-block-8 .views-field-field-pub-datum,
.block-views-blockpressemonitor-block-9 .views-field-field-pub-datum {
  text-align: right;
  white-space: nowrap;
}
.block-views-blockpressemonitor-block-5 .views-field-field-pub-datum time::before,
.block-views-blockpressemonitor-block-6 .views-field-field-pub-datum time::before,
.block-views-blockpressemonitor-block-7 .views-field-field-pub-datum time::before,
.block-views-blockpressemonitor-block-1 .views-field-field-pub-datum time::before,
.block-views-blockpressemonitor-block-2 .views-field-field-pub-datum time::before,
.block-views-blockpressemonitor-block-3 .views-field-field-pub-datum time::before,
.block-views-blockpressemonitor-block-4 .views-field-field-pub-datum time::before,
.block-views-blockpressemonitor-block-8 .views-field-field-pub-datum time::before,
.block-views-blockpressemonitor-block-9 .views-field-field-pub-datum time::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-right: 4px;
  vertical-align: -0.15em;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Pressemonitor block_5: Quelle/Datum immer am Kartenende, Quelle einzeilig */
.block-views-blockpressemonitor-block-5 .views-view-responsive-grid__item,
.block-views-blockpressemonitor-block-6 .views-view-responsive-grid__item,
.block-views-blockpressemonitor-block-7 .views-view-responsive-grid__item,
.block-views-blockpressemonitor-block-1 .views-view-responsive-grid__item,
.block-views-blockpressemonitor-block-2 .views-view-responsive-grid__item,
.block-views-blockpressemonitor-block-3 .views-view-responsive-grid__item,
.block-views-blockpressemonitor-block-4 .views-view-responsive-grid__item,
.block-views-blockpressemonitor-block-8 .views-view-responsive-grid__item,
.block-views-blockpressemonitor-block-9 .views-view-responsive-grid__item {
  display: flex;
  flex-direction: column;
}
.block-views-blockpressemonitor-block-5 .views-view-responsive-grid__item-inner,
.block-views-blockpressemonitor-block-6 .views-view-responsive-grid__item-inner,
.block-views-blockpressemonitor-block-7 .views-view-responsive-grid__item-inner,
.block-views-blockpressemonitor-block-1 .views-view-responsive-grid__item-inner,
.block-views-blockpressemonitor-block-2 .views-view-responsive-grid__item-inner,
.block-views-blockpressemonitor-block-3 .views-view-responsive-grid__item-inner,
.block-views-blockpressemonitor-block-4 .views-view-responsive-grid__item-inner,
.block-views-blockpressemonitor-block-8 .views-view-responsive-grid__item-inner,
.block-views-blockpressemonitor-block-9 .views-view-responsive-grid__item-inner {
  flex: 1 1 auto;
}
.block-views-blockpressemonitor-block-5 .views-field-field-untertitel,
.block-views-blockpressemonitor-block-6 .views-field-field-untertitel,
.block-views-blockpressemonitor-block-7 .views-field-field-untertitel,
.block-views-blockpressemonitor-block-1 .views-field-field-untertitel,
.block-views-blockpressemonitor-block-2 .views-field-field-untertitel,
.block-views-blockpressemonitor-block-3 .views-field-field-untertitel,
.block-views-blockpressemonitor-block-4 .views-field-field-untertitel,
.block-views-blockpressemonitor-block-8 .views-field-field-untertitel,
.block-views-blockpressemonitor-block-9 .views-field-field-untertitel {
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.block-views-blockpressemonitor-block-5 .views-field-field-untertitel > *,
.block-views-blockpressemonitor-block-6 .views-field-field-untertitel > *,
.block-views-blockpressemonitor-block-7 .views-field-field-untertitel > *,
.block-views-blockpressemonitor-block-1 .views-field-field-untertitel > *,
.block-views-blockpressemonitor-block-2 .views-field-field-untertitel > *,
.block-views-blockpressemonitor-block-3 .views-field-field-untertitel > *,
.block-views-blockpressemonitor-block-4 .views-field-field-untertitel > *,
.block-views-blockpressemonitor-block-8 .views-field-field-untertitel > *,
.block-views-blockpressemonitor-block-9 .views-field-field-untertitel > * {
  display: inline;
}

/* Pressemonitor: Label "Quelle:" ausblenden (Favicon + Domain reichen, Label war nicht uebersetzt) */
.block-views-blockpressemonitor-block-1 .views-field-field-untertitel .views-label,
.block-views-blockpressemonitor-block-2 .views-field-field-untertitel .views-label,
.block-views-blockpressemonitor-block-3 .views-field-field-untertitel .views-label,
.block-views-blockpressemonitor-block-4 .views-field-field-untertitel .views-label,
.block-views-blockpressemonitor-block-5 .views-field-field-untertitel .views-label,
.block-views-blockpressemonitor-block-6 .views-field-field-untertitel .views-label,
.block-views-blockpressemonitor-block-7 .views-field-field-untertitel .views-label,
.block-views-blockpressemonitor-block-8 .views-field-field-untertitel .views-label,
.block-views-blockpressemonitor-block-9 .views-field-field-untertitel .views-label {
  display: none;
}

/* ===== Arbeitgeber-Seite (Node 222): Kennzahlen, Schritte, Preiskarten (2026-10-18) ===== */
.ep-page { --ep-green:#8dc157; --ep-blue:#0071b3; --ep-navy:#002a6e; margin: 10px 0 30px; }
.ep-page h2 { color: var(--ep-navy); margin: 0 0 14px; }
.ep-page h3 { color: var(--ep-blue); font-size: 1.1em; margin: 0 0 8px; }
.ep-section { margin: 44px 0 0; }
.ep-lead { font-size: 1.08em; max-width: 880px; }
.ep-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 10px; }
.ep-kpi { background: #f4f8ff; border-bottom: 3px solid var(--ep-green); border-radius: 10px; padding: 16px 12px; text-align: center; }
.ep-kpi strong { display: block; font-size: 1.7em; line-height: 1.1; color: var(--ep-navy); }
.ep-kpi span { display: block; margin-top: 4px; font-size: .9em; color: #555; }
.ep-cards { display: grid; gap: 16px; }
.ep-cards--2 { grid-template-columns: repeat(2, 1fr); }
.ep-cards--3 { grid-template-columns: repeat(3, 1fr); }
.ep-card { background: #fff; border: 1px solid #e0e7ee; border-left: 4px solid var(--ep-green); border-radius: 8px; padding: 16px 18px; }
.ep-card p { margin: 0; color: #444; }
.ep-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.ep-step { background: #f4f8ff; border-radius: 10px; padding: 18px; }
.ep-step p { margin: 0; color: #444; }
.ep-step__nr { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: var(--ep-green); color: #fff; font-weight: 700; margin-bottom: 8px; }
.ep-prices { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; margin-top: 14px; align-items: stretch; }
.ep-price { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--ep-green); border-radius: 10px; padding: 18px 16px; text-align: center; }
.ep-price h3 { color: var(--ep-blue); font-size: .85em; margin-bottom: 10px; }
.ep-price__amount { font-size: 2em; font-weight: 700; color: var(--ep-navy); line-height: 1.1; }
.ep-price__amount small { font-size: .5em; }
.ep-price__note { color: #777; font-size: .9em; padding-top: 4px; margin: 4px auto 10px; border-top: 1px solid var(--ep-green); width: 80px; }
.ep-price__hint { font-size: .85em; color: #444; margin: 0 0 12px; }
.ep-price .ep-btn { margin-top: auto; }
.ep-price--best { background: #f4faee; border-width: 2px; }
.ep-price__badge { position: absolute; top: -11px; left: 50%; transform: translateX(-50%); background: var(--ep-green); color: #fff; font-size: .72em; font-weight: 700; letter-spacing: .05em; padding: 2px 12px; border-radius: 10px; }
.ep-btn { display: inline-block; background: var(--ep-green); color: #fff !important; font-weight: 600; text-decoration: none !important; padding: 10px 20px; border-radius: 8px; transition: background .2s ease; }
.ep-btn:hover, .ep-btn:focus-visible { background: #6fa33e; }
.ep-btn--outline { background: #fff; color: var(--ep-navy) !important; border: 2px solid var(--ep-green); }
.ep-btn--outline:hover { background: var(--ep-green); color: #fff !important; }
.ep-allprod { text-align: center; margin-top: 22px; }
.ep-pro { display: flex; align-items: center; justify-content: space-between; gap: 24px; background: #f4f8ff; border-bottom: 3px solid var(--ep-green); border-radius: 10px; padding: 22px 26px; }
.ep-pro h2 { font-size: 1.3em; }
.ep-pro p { margin: 0; }
.ep-pro .ep-btn { flex: 0 0 auto; }
.ep-contact { text-align: center; }
.ep-contact__links a { display: inline-block; margin: 6px 14px; font-weight: 600; font-size: 1.1em; }
@media (max-width: 991px) {
  .ep-kpis { grid-template-columns: repeat(2, 1fr); }
  .ep-prices { grid-template-columns: repeat(3, 1fr); }
  .ep-cards--3, .ep-steps { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .ep-cards--2 { grid-template-columns: 1fr; }
  .ep-prices { grid-template-columns: repeat(2, 1fr); }
  .ep-pro { flex-direction: column; align-items: flex-start; }
}
.ep-pro-link { text-align: center; margin: 10px 0 0; font-size: .95em; }
.ep-contact { background: #f4f8ff; border-bottom: 3px solid #8dc157; border-radius: 10px; padding: 18px 20px; }
.ep-contact__title { margin: 0 0 6px; font-weight: 600; color: #002a6e; }
.ep-contact__links { margin: 0; }
/* Preiskarten mit Header-Band (angelehnt an die Shop-Karten) */
.ep-price { padding: 0; overflow: hidden; }
.ep-price__head { background: var(--ep-green); color: #fff; padding: 12px 12px 10px; height: 108px; box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; }
.ep-price .ep-price__head h3 { color: #fff; font-size: .95em; margin: 0; }
.ep-price__sub { display: block; margin-top: 3px; font-size: .75em; line-height: 1.25; opacity: .95; }
.ep-price__body { display: flex; flex-direction: column; flex: 1 1 auto; padding: 16px 14px 16px; }
.ep-price--best .ep-price__head { background: var(--ep-navy); }
.ep-price__list { list-style: none; margin: 4px 0 14px; padding: 0; text-align: left; font-size: .85em; color: #444; }
.ep-price__list li { padding: 7px 0 7px 24px; position: relative; border-top: 1px solid #dfe6ee; }
.ep-price__list li::before { content: "✓"; position: absolute; left: 2px; top: 6px; color: var(--ep-blue); font-weight: 700; }
.ep-price__hint { text-align: left; }
.ep-price--best .ep-price__head, .ep-price--navy .ep-price__head { padding-top: 26px; }
.ep-price__badge { z-index: 2; top: 5px; background: #fff; color: var(--ep-navy); }
.ep-price--navy .ep-price__head { background: var(--ep-navy); }
.ep-price__hint--save { text-align: center; color: #5a8a2a; font-weight: 600; }
.ep-price__head { align-items: center; text-align: center; }
.ep-price .ep-price__head h3, .ep-price__sub { text-align: center; width: 100%; }
/* Badges halb ueber der Karte; Header-Text rutscht wieder hoch */
.ep-price { overflow: visible; }
.ep-price__head { height: 92px; border-radius: 9px 9px 0 0; }
.ep-price--best .ep-price__head, .ep-price--navy .ep-price__head { padding-top: 12px; }
.ep-price__badge { top: -11px; background: var(--ep-green); color: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.15); }
.ep-price--navy .ep-price__badge, .ep-price--best .ep-price__badge { background: var(--ep-green); color: #fff; }
.ep-price--best .ep-price__hint { text-align: center; color: #5a8a2a; font-weight: 600; }
.ep-price__list li.ep-price__star::before { content: "★"; color: var(--ep-green); }
.ep-common { margin: 4px 0 14px; color: #444; font-size: .95em; }
.ep-price__incl { margin: 0 0 12px; text-align: center; font-size: .85em; color: #444; }
.ep-price__body .ep-btn { margin-top: auto; }
.ml-banner { border-radius: 14px; }

/* Preiskarten: p-Wrapper (Textformat-Filter) um Badge/Sub neutralisieren */
.ep-price > p:has(> .ep-price__badge) { margin: 0; height: 0; }
.ep-price__head p { margin: 0; }


/* Detailseiten (Stellenangebot + Angebot-Stelle): Bloecke der rechten Spalte als Karten (2026-10-21) */
.node--type-stellenangebot .node__content > .row > .col-sm-6:last-child > .block:not(.block-inline-blockwebform),
.node--type-angebot-stelle .node__content > .row > .col-sm-6:last-child > .block:not(.block-inline-blockwebform) {
  border: 1px solid #eee;
  border-radius: 10px;
  overflow: hidden;   /* Hintergruende und Karte an den runden Ecken abschneiden */
}

/* Detailseiten: Info-Block (block-4) mit Abstand zur Karte darueber, Status-Balken buendig oben (2026-10-21) */
.node--type-stellenangebot .node__content > .row > .col-sm-6:last-child > .block-views-blockfullnode-stellenangebot-block-4,
.node--type-angebot-stelle .node__content > .row > .col-sm-6:last-child > .block-views-blockfullnode-angebot-block-4 {
  margin-top: 20px;
}
.fullnode-tabelle-info caption {
  margin-top: 0;   /* Balken ganz nach oben im Block (vorher 20px durch globale caption-Regel) */
}

/* Stellenangebot: Karte (block-5) optisch in den Adressblock (block-8) integriert, wie bei Angebot-Stelle (2026-10-21); .block erhoeht die Spezifitaet ueber die Karten-Regel (.block:not(...)) */
.node--type-stellenangebot .node__content > .row > .col-sm-6:last-child > .block.block-views-blockfullnode-stellenangebot-block-8 {
  border-bottom: 0;
  border-radius: 10px 10px 0 0;
}
.node--type-stellenangebot .node__content > .row > .col-sm-6:last-child > .block.block-views-blockfullnode-stellenangebot-block-5 {
  margin-top: 0;
  border-top: 0;
  border-radius: 0 0 10px 10px;
  background: #f4f8ff;
  padding: 0 20px 20px;
}
.node--type-stellenangebot .node__content > .row > .col-sm-6:last-child > .block.block-views-blockfullnode-stellenangebot-block-5 .view {
  margin-top: 4px;   /* block-8 hat 20px Innenabstand unten, zusammen 24px wie bei Angebot-Stelle */
  border-top: 3px solid #8dc157;
  padding-top: 18px;
}

/* Nabidky prace (Desktop): Angebotskarten im Stil der Basisinfo-Karten, Stellen in Blau (2026-10-21) */
@media (min-width: 768px) {
  html body .alle-angebote-grid .views-view-responsive-grid__item {
    background: #fff !important; border: 1px solid #dfe9f5 !important; border-left: 5px solid #90cbf9 !important;
    border-radius: 8px !important; margin: 0 0 18px !important; overflow: visible !important;
    box-shadow: none !important; transition: box-shadow .15s ease;
  }
  html body .alle-angebote-grid .views-view-responsive-grid__item:hover { box-shadow: 0 4px 14px rgba(3,35,115,.12) !important; }
  /* TOP: kraeftigere blaue Kante, getoenter Hintergrund, Platz fuer den Reiter */
  html body .alle-angebote-grid .top-attachment .views-view-responsive-grid__item {
    border-left: 6px solid #4F90C8 !important; background: #f8fbff !important; margin-top: 34px !important;
  }
  html body .alle-angebote-grid .views-view-responsive-grid__item .views-view-responsive-grid__item-inner { padding: 14px 18px !important; background: transparent !important; }
  /* Kopfzeile als Pillen: Trenner-Text ausblenden, Links als Chips */
  html body .alle-angebote-grid .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field.views-field-nothing { background: none !important; border: 0 !important; padding: 0 0 8px !important; margin: 0 !important; box-shadow: none !important; }
  html body .alle-angebote-grid .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-nothing > .field-content { font-size: 0 !important; display: flex !important; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
  html body .alle-angebote-grid .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-nothing > .field-content a { font-size: .82rem !important; font-weight: 600 !important; color: #032373 !important; text-decoration: none !important; background: #eef4fc !important; border: 1px solid #d5e3f6 !important; border-radius: 999px !important; padding: 2px 11px !important; position: relative; z-index: 2; line-height: 1.4 !important; margin: 0 !important; }
  html body .alle-angebote-grid .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-nothing > .field-content a:hover { background: #dde9f8 !important; }
  html body .alle-angebote-grid .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-nothing > .field-content img { height: 15px !important; width: auto !important; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0,0,0,.1); margin: 0 !important; }
  /* Datum als ruhiger Chip direkt hinter den Kategorie-Chips (2026-10-28): weisse Flaeche statt blauer Fuellung und kein Hover,
     damit er als Info und nicht als Link wirkt. Uhr-Icon sitzt per ::before im Chip (gilt dadurch auch fuer externi_nabidky,
     das kein .clock-icon im Rewrite hat); das separate .clock-icon-Element (alle_angebote) wird ausgeblendet. */
  html body .alle-angebote-grid .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-nothing > .field-content time { display: inline-flex !important; align-items: center; font-size: .82rem !important; font-weight: 500 !important; color: #6b7a99 !important; background: #fff !important; border: 1px solid #d5e3f6 !important; border-radius: 999px !important; padding: 2px 11px !important; line-height: 1.4 !important; margin: 0 !important; white-space: nowrap; }
  html body .alle-angebote-grid .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-nothing > .field-content time::before { content: ""; width: 13px; height: 13px; margin-right: 6px; flex: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7a99' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") center / contain no-repeat; }
  html body .alle-angebote-grid .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-nothing > .field-content .clock-icon { display: none !important; }
  /* Content-Type-Punkt (nur fuer die Redaktion) bleibt am rechten Rand, jetzt wo das Datum links steht */
  html body .alle-angebote-grid .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-nothing > .field-content .ct-dot { margin-left: auto !important; }
  html body .alle-angebote-grid .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-nothing > .field-content .badge-top { font-size: .78rem !important; }
  /* Titel gross und ganze Karte klickbar */
  html body .alle-angebote-grid .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-title h3 { margin: 2px 0 6px !important; font-size: 1.35rem !important; line-height: 1.3 !important; font-weight: 500 !important; }
  html body .alle-angebote-grid .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-title h3 a { color: #032373 !important; text-decoration: none !important; }
  html body .alle-angebote-grid .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-title h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
}

/* Taxonomie-Seiten (View taxonomy_term, Desktop): Angebotskarten wie auf Nabidky prace (2026-10-21) */
@media (min-width: 768px) {
  html body .alle-tax-term .views-view-responsive-grid__item {
    background: #fff !important; border: 1px solid #dfe9f5 !important; border-left: 5px solid #90cbf9 !important;
    border-radius: 8px !important; margin: 0 0 18px !important; overflow: visible !important;
    box-shadow: none !important; transition: box-shadow .15s ease; position: relative;
  }
  html body .alle-tax-term .views-view-responsive-grid__item:hover { box-shadow: 0 4px 14px rgba(3,35,115,.12) !important; }
  /* TOP (attachment_2): kraeftigere blaue Kante, getoenter Hintergrund, Platz fuer den Reiter */
  html body .alle-tax-term.view-display-id-attachment_2 .views-view-responsive-grid__item { border-left: 6px solid #4F90C8 !important; background: #f8fbff !important; margin-top: 34px !important; }
  html body .alle-tax-term .views-view-responsive-grid__item .views-view-responsive-grid__item-inner { padding: 14px 18px !important; background: transparent !important; position: relative; }
  /* Kopfzeile als Pillen: Trenner-Text ausblenden, Links als Chips */
  html body .alle-tax-term .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field.views-field-nothing { background: none !important; border: 0 !important; padding: 0 0 8px !important; margin: 0 !important; box-shadow: none !important; }
  html body .alle-tax-term .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-nothing > .field-content { font-size: 0 !important; display: flex !important; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
  html body .alle-tax-term .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-nothing > .field-content a { font-size: .82rem !important; font-weight: 600 !important; color: #032373 !important; text-decoration: none !important; background: #eef4fc !important; border: 1px solid #d5e3f6 !important; border-radius: 999px !important; padding: 2px 11px !important; position: relative; z-index: 2; line-height: 1.4 !important; margin: 0 !important; }
  html body .alle-tax-term .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-nothing > .field-content a:hover { background: #dde9f8 !important; }
  html body .alle-tax-term .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-nothing > .field-content img { height: 15px !important; width: auto !important; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0,0,0,.1); margin: 0 !important; }
  /* Datum als ruhiger Chip mit Uhr-Icon direkt hinter den Kategorie-Chips (2026-10-28), wie auf Nabidky prace */
  html body .alle-tax-term .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-nothing > .field-content .kf-date { display: inline-flex !important; align-items: center; font-size: .82rem !important; font-weight: 500 !important; color: #6b7a99 !important; background: #fff !important; border: 1px solid #d5e3f6 !important; border-radius: 999px !important; padding: 2px 11px !important; line-height: 1.4 !important; margin: 0 !important; white-space: nowrap; }
  html body .alle-tax-term .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-nothing > .field-content .kf-date::before { content: ""; width: 13px; height: 13px; margin-right: 6px; flex: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7a99' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") center / contain no-repeat; }
  html body .alle-tax-term .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-nothing > .field-content .badge-top { position: absolute !important; top: 0 !important; left: 16px !important; right: auto !important; transform: translateY(-100%) !important; margin: 0 !important; display: inline-block !important; padding: 4px 14px 5px !important; font-weight: 700 !important; font-size: .78rem !important; letter-spacing: .07em !important; line-height: 1.4 !important; color: #fff !important; background: #8dc157 !important; border-radius: 6px 6px 0 0 !important; box-shadow: 0 -1px 3px rgba(0,0,0,.08) !important; z-index: 5 !important; }
  /* Titel gross und ganze Karte klickbar */
  html body .alle-tax-term .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-title h3 { margin: 2px 0 6px !important; font-size: 1.35rem !important; line-height: 1.3 !important; font-weight: 500 !important; }
  html body .alle-tax-term .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-title h3 a { color: #032373 !important; text-decoration: none !important; }
  html body .alle-tax-term .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-title h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
}

/* Such-Seiten (View angebote_suche, page_1 = /angebote-suche in allen Sprachen, Desktop): Angebotskarten wie auf Nabidky prace (2026-10-21) */
@media (min-width: 768px) {
  html body .angebote-suche .views-view-responsive-grid__item {
    background: #fff !important; border: 1px solid #dfe9f5 !important; border-left: 5px solid #90cbf9 !important;
    border-radius: 8px !important; margin: 0 0 18px !important; overflow: visible !important;
    box-shadow: none !important; transition: box-shadow .15s ease; position: relative;
  }
  html body .angebote-suche .views-view-responsive-grid__item:hover { box-shadow: 0 4px 14px rgba(3,35,115,.12) !important; }
  /* TOP-Treffer (Ergebnisliste ist gemischt): kraeftigere blaue Kante, getoenter Hintergrund, Platz fuer den Reiter */
  html body .angebote-suche .views-view-responsive-grid__item:has(.badge-top) { border-left: 6px solid #4F90C8 !important; background: #f8fbff !important; margin-top: 34px !important; }
  html body .angebote-suche .views-view-responsive-grid__item .views-view-responsive-grid__item-inner { padding: 14px 18px !important; background: transparent !important; position: relative; }
  /* Inhaltstyp-Zeile ausblenden (war nur Abstandhalter ueber der Kopfzeile) */
  html body .angebote-suche .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-type { display: none !important; }
  /* Kopfzeile als Pillen: Trenner-Text ausblenden, Links als Chips */
  html body .angebote-suche .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field.views-field-nothing { background: none !important; border: 0 !important; padding: 0 0 8px !important; margin: 0 !important; box-shadow: none !important; position: static !important; }
  html body .angebote-suche .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-nothing > .field-content { font-size: 0 !important; display: flex !important; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin: 0 !important; }
  html body .angebote-suche .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-nothing > .field-content a { font-size: .82rem !important; font-weight: 600 !important; color: #032373 !important; text-decoration: none !important; background: #eef4fc !important; border: 1px solid #d5e3f6 !important; border-radius: 999px !important; padding: 2px 11px !important; position: relative; z-index: 2; line-height: 1.4 !important; margin: 0 !important; }
  html body .angebote-suche .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-nothing > .field-content a:hover { background: #dde9f8 !important; }
  html body .angebote-suche .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-nothing > .field-content img { height: 15px !important; width: auto !important; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0,0,0,.1); margin: 0 !important; }
  /* Datum als ruhiger Chip mit Uhr-Icon direkt hinter den Kategorie-Chips (2026-10-28), wie auf Nabidky prace */
  html body .angebote-suche .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-nothing > .field-content .kf-date { display: inline-flex !important; align-items: center; font-size: .82rem !important; font-weight: 500 !important; color: #6b7a99 !important; background: #fff !important; border: 1px solid #d5e3f6 !important; border-radius: 999px !important; padding: 2px 11px !important; line-height: 1.4 !important; margin: 0 !important; white-space: nowrap; }
  html body .angebote-suche .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-nothing > .field-content .kf-date::before { content: ""; width: 13px; height: 13px; margin-right: 6px; flex: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7a99' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") center / contain no-repeat; }
  /* TOP-Reiter ueber der Karte (bottom:auto ueberschreibt die Altregel bottom:100%) */
  html body .angebote-suche .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-nothing > .field-content .badge-top { position: absolute !important; top: 0 !important; bottom: auto !important; left: 16px !important; right: auto !important; transform: translateY(-100%) !important; margin: 0 !important; display: inline-block !important; padding: 4px 14px 5px !important; font-weight: 700 !important; font-size: .78rem !important; letter-spacing: .07em !important; line-height: 1.4 !important; color: #fff !important; background: #8dc157 !important; border-radius: 6px 6px 0 0 !important; box-shadow: 0 -1px 3px rgba(0,0,0,.08) !important; z-index: 5 !important; }
  /* Titel gross und ganze Karte klickbar */
  html body .angebote-suche .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-title h3 { margin: 2px 0 6px !important; font-size: 1.35rem !important; line-height: 1.3 !important; font-weight: 500 !important; }
  html body .angebote-suche .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-title h3 a { color: #032373 !important; text-decoration: none !important; }
  html body .angebote-suche .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-title h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
}

/* Bewerben-Button (CTA): fullnode_angebot block_3 (Feld _1) und block_9, Standardtext je Sprache aus View-Override (2026-10-21) */
html body .apply-cta,
html body .views-field-field-unternehmensseite-bewerber-1 .field-content a.apply-cta {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  width: 100%; min-height: 52px; margin: 8px 0 4px; padding: 14px 26px;
  background: #5c9a28; color: #fff !important;
  font-size: 17px; font-weight: 700; line-height: 1.2; text-align: center; text-decoration: none !important;
  border-radius: 8px; box-shadow: 0 3px 8px rgba(92,154,40,.35);
  transition: background .2s ease, box-shadow .2s ease, transform .1s ease;
}
html body .apply-cta::before,
html body .views-field-field-unternehmensseite-bewerber-1 .field-content a.apply-cta::before {
  font-family: "Material Icons"; content: "send"; font-size: 22px; line-height: 1;
}
html body .apply-cta:hover, html body .apply-cta:focus-visible,
html body .views-field-field-unternehmensseite-bewerber-1 .field-content a.apply-cta:hover,
html body .views-field-field-unternehmensseite-bewerber-1 .field-content a.apply-cta:focus-visible {
  background: #4b8220; color: #fff !important; text-decoration: none !important; box-shadow: 0 5px 12px rgba(75,130,32,.4);
}
html body .apply-cta:active { transform: translateY(1px); }

/* fullnode_angebot/block_9: Bewerben-Button wie die anderen Kontaktfelder in die rechte Spalte (Zeile ergibt sich aus der Views-Feldreihenfolge) (2026-10-21) */
.block-views-blockfullnode-angebot-block-9 .views-field-field-unternehmensseite-bewerber { grid-column: 2; display: block; }
@container (max-width: 420px) {
  .block-views-blockfullnode-angebot-block-9 .views-field-field-unternehmensseite-bewerber { grid-column: 1; }
}

/* Kontakt-Icons in fullnode_angebot und fullnode_stellenangebot, block_9, mittig zur Textzeile (wie in .fullnode-tabelle-adresse und firmenprofil/block_kontakt), vorher baseline = Icon ca. 4px zu hoch (2026-10-21) */
.block-views-blockfullnode-angebot-block-9 .material-icons,
.block-views-blockfullnode-stellenangebot-block-9 .material-icons {
  vertical-align: middle;
}

/* ===== Laender-Taxonomie Seitenleiste (view mode "sidebar", 2026-10-26) =====
   Flagge (gruene Karte, siehe oben) | Wappen zentriert | Langtext. Kommt direkt vom Term,
   nicht mehr aus der ersten Stelle (vorher falsche Beschreibung bei Oberbegriffen wie Deutschland). */
.col-sm-3 .taxonomy-term-sidebar .field--name-field-wappen {
  text-align: center;
  margin: 4px 0 14px;
}
.col-sm-3 .taxonomy-term-sidebar .field--name-field-wappen img {
  width: auto;
  max-width: 120px;
  max-height: 140px;
  height: auto;
}
.col-sm-3 .taxonomy-term-sidebar .field--name-field-beschreibung {
  line-height: 1.6;
}

/* ===== Hauptkategorie-Seiten: Bild + Beschreibung kommen direkt vom Term (block_5, Header) ===== */
.col-sm-3 .block-views-blocktaxonomy-term-block-5 .view-header .taxonomy-term > h2 {
  display: none;
}
.col-sm-3 .block-views-blocktaxonomy-term-block-5 .view-header .taxonomy-term > .content {
  padding: 0;
}
.col-sm-3 .block-views-blocktaxonomy-term-block-5 .view-header .field--name-description,
.col-sm-3 .block-views-blocktaxonomy-term-block-5 .view-header .field--name-field-beschreibung {
  background: #fff;
  border: 1px solid #d4e8c7;
  border-left: 3px solid #8dc157;
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 16px;
}
.col-sm-3 .block-views-blocktaxonomy-term-block-5 .view-header .field--name-description .text-formatted,
.col-sm-3 .block-views-blocktaxonomy-term-block-5 .view-header .field--name-description p {
  font-size: 1.05rem;
  color: #444;
  text-align: left;
  line-height: 1.6;
}
.col-sm-3 .block-views-blocktaxonomy-term-block-5 .view-header .field--name-field-tax-image {
  background: #fff;
  border: 1px solid #d4e8c7;
  border-radius: 8px;
  padding: 8px;
  margin-bottom: 16px;
}
.col-sm-3 .block-views-blocktaxonomy-term-block-5 .view-header .field--name-field-tax-image img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  margin-bottom: 0;
}

/* ===== Taxonomie-Seiten Mobil (2026-10-26): Seitenleiste unter die Kopfzeile holen (JS taxSidebarMobile) ===== */
@media (max-width: 767px) {
  body.tax-moved main .col-sm-3 { display: none; }
  body.path-taxonomy main .col-sm-9 .view-header h1 { hyphens: manual; -webkit-hyphens: manual; }
  .tax-more {
    margin: 4px 0 18px;
    border: 1px solid #d4e8c7;
    border-radius: 10px;
    background: #fff;
  }
  .tax-more > summary {
    list-style: none;
    cursor: pointer;
    padding: 12px 16px;
    font-weight: 600;
    color: #2f6f12;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .tax-more > summary::-webkit-details-marker { display: none; }
  .tax-more > summary::after { content: "\25BE"; }
  .tax-more[open] > summary::after { content: "\25B4"; }
  .tax-more-body { padding: 0 16px 16px; }
  .tax-more .field--name-field-flagge { display: none; }
  .tax-more .field--name-field-wappen { text-align: center; margin: 4px 0 14px; }
  .tax-more .field--name-field-wappen img { width: auto; max-width: 110px; max-height: 130px; height: auto; }
  .tax-more .field--name-field-beschreibung { line-height: 1.6; }
  .tax-cat-desc { margin: 4px 0 18px; }
  .tax-cat-desc .field--name-description,
  .tax-cat-desc .field--name-field-beschreibung {
    background: #fff;
    border: 1px solid #d4e8c7;
    border-left: 3px solid #8dc157;
    border-radius: 8px;
    padding: 12px 16px;
    margin: 0;
  }
  .tax-cat-desc .field--name-description p,
  .tax-cat-desc .field--name-field-beschreibung p { font-size: 1rem; color: #444; line-height: 1.55; margin: 0; }
}

/* ===== Taxonomie-Karten Mobil: Untertitel hart auf 6 (Kompakt 3) Zeilen kappen (2026-10-26) =====
   iOS-WebKit zeigte trotz line-clamp die angeschnittene naechste Zeile unter dem Button. Ursache: das innere
   Element (h5/field-content) hatte eigene line-height (1.2), das Kappen rechnete mit der aeusseren (1.45).
   Jetzt: gleiche Zeilenhoehe innen/aussen + feste max-height in em, unabhaengig vom Browser. */
@media (max-width: 767px) {
  .alle-tax-term.view .views-view-responsive-grid__item-inner > .views-field-field-untertitel {
    line-height: 1.45 !important;
    max-height: calc(var(--sub-lines, 6) * 1.45em) !important;
    -webkit-line-clamp: var(--sub-lines, 6) !important;
    line-clamp: var(--sub-lines, 6) !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
  }
  .alle-tax-term.view .views-view-responsive-grid__item-inner > .views-field-field-untertitel .field-content,
  .alle-tax-term.view .views-view-responsive-grid__item-inner > .views-field-field-untertitel h4,
  .alle-tax-term.view .views-view-responsive-grid__item-inner > .views-field-field-untertitel h5,
  .alle-tax-term.view .views-view-responsive-grid__item-inner > .views-field-field-untertitel p {
    margin: 0 !important;
    padding: 0 !important;
    font-size: inherit !important;
    font-weight: 400 !important;
    line-height: inherit !important;
  }
  .alle-tax-term.view .snap-cta { flex-shrink: 0; margin-top: auto; }
}
@media (max-width: 767px) and (max-height: 720px) {
  .alle-tax-term.view .views-view-responsive-grid__item-inner > .views-field-field-untertitel {
    max-height: calc(var(--sub-lines, 3) * 1.45em) !important;
    -webkit-line-clamp: var(--sub-lines, 3) !important;
    line-clamp: var(--sub-lines, 3) !important;
  }
}

/* ===== Themenseiten (temata_): Info-Icon aus den D7-Texten als Kopfkarte (2026-11-04) =====
   Die D7-Langtexte beginnen mit <p><i class="material-icons">info</i></p> (teils mit <em> dazwischen).
   Ohne Icon-Font stand dort das Wort "info"; jetzt: gruener Kreis mit weissem "i" in hellgruener Karte (wie Laender-Flaggenkarte). */
.tax-more .material-icons,
.tax-more .taxonomy-term-sidebar .material-icons { display: none; }
.tax-more p:has(> .material-icons:only-child),
.tax-more .taxonomy-term-sidebar p:has(.material-icons) { display: none; }
.taxonomy-term-sidebar p:has(.material-icons) {
  margin: 4px 0 18px;
  padding: 6px 0 0;
  text-align: center;
  line-height: 0;
}
.taxonomy-term-sidebar p:has(.material-icons)::after {
  content: "";
  display: block;
  width: 80px;
  height: 3px;
  margin: 16px auto 0;
  background: #d4e8c7;
}
.taxonomy-term-sidebar .material-icons {
  display: inline-block;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  overflow: hidden;
  font-size: 0;
  line-height: 0;
  color: transparent;
  font-style: normal;
  background-color: #8dc157;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='6.5' r='2' fill='white'/%3E%3Crect x='10.5' y='10' width='3' height='9' rx='1.5' fill='white'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 62% 62%;
  box-shadow: 0 0 0 5px rgba(141, 193, 87, 0.28), 0 2px 6px rgba(0, 0, 0, 0.12);
  animation: ip-info-pop 0.4s ease-out both;
}
@keyframes ip-info-pop {
  from { transform: scale(0.8); opacity: 0; }
  to   { transform: scale(1);   opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .taxonomy-term-sidebar .material-icons { animation: none; }
}
@media (max-width: 767px) {
  .taxonomy-term-sidebar .material-icons { width: 40px; height: 40px; }
}

/* ===== Themen-Links (SEO, interne Verlinkung) als dezente Textlinks im blauen Footer-Band (2026-10-29) ===== */
.site-footer .footer-themen .block { margin: 0; padding: 0; }
.footer-themen .block-views-blockthemen-links-block-1 { margin: 0 auto 10px; text-align: center; }
.footer-themen .block-views-blockthemen-links-block-1 > h2 {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
  margin: 0 0 6px;
}
.footer-themen .block-views-blockthemen-links-block-1 ul.themen-chips {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px 18px;
  margin: 0;
  padding: 0;
}
.footer-themen .block-views-blockthemen-links-block-1 ul.themen-chips li { margin: 0; padding: 0; }
.footer-themen .block-views-blockthemen-links-block-1 ul.themen-chips a {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.82rem;
  line-height: 1.4;
  text-decoration: none;
}
.footer-themen .block-views-blockthemen-links-block-1 ul.themen-chips a:hover,
.footer-themen .block-views-blockthemen-links-block-1 ul.themen-chips a:focus-visible { color: #fff; text-decoration: underline; }
.footer-themen + .block-boot-sub-domainnavigation { margin-top: 30px; }

/* ===== Profese-Seitenleiste (Block ip_term_seo_profese_nav, nur Berufe mit Stellen) (2026-10-27, v2) ===== */
.profese-nav {
  background: #f7f9fc;
  border: 1px solid #e3e9f2;
  border-radius: 8px;
  padding: 14px 6px 8px 14px;
}
.profese-nav h3 {
  font-size: 1.05rem;
  font-weight: 700;
  color: #1b2266;
  margin: 0 8px 10px 0;
  padding-bottom: 8px;
  border-bottom: 3px solid #8dc157;
}
.profese-nav ul {
  list-style: none;
  margin: 0;
  padding: 0 8px 0 0;
  font-size: 0.92rem;
  max-height: 60vh;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: #b9c6dc transparent;
  -webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 22px), transparent);
  mask-image: linear-gradient(to bottom, #000 calc(100% - 22px), transparent);
  padding-bottom: 18px;
}
.profese-nav ul::-webkit-scrollbar { width: 6px; }
.profese-nav ul::-webkit-scrollbar-track { background: transparent; }
.profese-nav ul::-webkit-scrollbar-thumb { background: #c5d0e3; border-radius: 3px; }
.profese-nav ul::-webkit-scrollbar-thumb:hover { background: #8dc157; }
.profese-nav li { margin: 0 0 2px; padding: 0; border: 0; }
.profese-nav a {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding: 6px 8px;
  border-radius: 5px;
  color: #1f3a8a;
  text-decoration: none;
  line-height: 1.3;
}
.profese-nav a:hover,
.profese-nav a:focus-visible { background: #e9f3dc; color: #2f6f12; }
.profese-nav__count {
  flex: 0 0 auto;
  min-width: 1.6em;
  padding: 0 7px;
  border-radius: 10px;
  background: #e6ebf4;
  color: #4a5a7a;
  font-size: 0.78rem;
  line-height: 1.6;
  text-align: center;
}
.profese-nav li.is-active a,
.profese-nav a.is-active {
  background: #e9f3dc;
  font-weight: 700;
  color: #2f6f12;
  border-left: 4px solid #8dc157;
  padding-left: 8px;
}
.profese-nav li.is-active .profese-nav__count { background: #8dc157; color: #fff; }
@media (max-width: 767px) {
  .tax-more .profese-nav { background: none; border: 0; padding: 0; }
  .tax-more .profese-nav h3 { display: none; }
  .tax-more .profese-nav ul { max-height: 55vh; padding-right: 0; }
}

main .col-sm-9.is-loading { opacity: .45; transition: opacity .15s; pointer-events: none; }

/* Quell-Logo der externen Angebote (View externi_nabidky, Feld quelle_logo).
   Datei pro Portal: images/quellen/<quelle-slug>.png (z.B. profesia-sk.png).
   Position wie das Logo in alle_angebote/block_2: rechts, vertikal mittig. */
.externi-nabidky .views-view-responsive-grid__item-inner > .views-field-quelle-logo {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 15px;
  left: auto;
  max-width: 100px;
  text-align: right;
}
.externi-nabidky .views-field-quelle-logo img {
  display: block;
  max-width: 100px;
  height: auto;
}

/* ===== Übersicht /nabidky-prace: TOP-Karten enger, Trenner "Externí nabídky" (2026-10-27) =====
   TOP: Zeilenabstand des Grids 30px -> 0, Abstand unter der Karte 18px -> 10px (oben bleiben 34px fuer den TOP-Reiter).
   Trenner Externí nabídky: gleiche Optik wie .top-divider-desktop, aber auch mobil sichtbar (View-Header externi_nabidky). */
.top-attachment .views-view-responsive-grid {
  gap: 0 !important;
}
.top-attachment .views-view-responsive-grid__item {
  margin-bottom: 10px !important;
}
.externi-nabidky .top-divider-desktop {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  margin: 40px 0 28px;
  padding: 0;
  background: none;
}
.externi-nabidky .top-divider-desktop__title {
  display: flex;
  align-items: center;
  gap: 18px;
  width: 100%;
  margin: 0;
  color: #00256e;
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
}
.externi-nabidky .top-divider-desktop__title::before,
.externi-nabidky .top-divider-desktop__title::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background: #cfdcee;
}

/* Externe Angebote (externi_nabidky): Karten ohne Untertitel. Das Karten-Grid legt die Berufszeile sonst in eine zweite
   Spalte rechts neben den Titel (unter das Logo). Einspaltig erzwingen, Titel/Berufe halten Platz fuer das Logo frei. */
@media (min-width: 768px) {
  .externi-nabidky .views-view-responsive-grid__item-inner {
    grid-template-columns: minmax(0, 1fr);
  }
  .externi-nabidky .views-view-responsive-grid__item-inner > .views-field-title,
  .externi-nabidky .views-view-responsive-grid__item-inner > .views-field-field-bran-e-profese {
    grid-column: 1;
    padding-right: 125px !important;
    box-sizing: border-box;
  }
}

/* Marker-Popup alle_angebote/block_3 (2026-10-28): Titel als Hauptsache, darunter eine kleine Meta-Zeile (Flagge + Firma + Region), keine Chips */
.view-id-alle_angebote.view-display-id-block_3 .leaflet-popup-content .views-field-title { margin: 0; }
.view-id-alle_angebote.view-display-id-block_3 .leaflet-popup-content .views-field-title h3 { font-size: 1.1rem; line-height: 1.3; margin: 0 0 6px; }
.view-id-alle_angebote.view-display-id-block_3 .leaflet-popup-content .marker-meta { display: flex; align-items: center; gap: 7px; font-size: .82rem; line-height: 1.3; color: #5b6477; margin: 0; }
.view-id-alle_angebote.view-display-id-block_3 .leaflet-popup-content .marker-meta img { height: 14px; width: auto; display: block; flex: none; }
.view-id-alle_angebote.view-display-id-block_3 .leaflet-popup-content .marker-meta .field, .view-id-alle_angebote.view-display-id-block_3 .leaflet-popup-content .marker-meta .field__item { display: contents; margin: 0; }
.view-id-alle_angebote.view-display-id-block_3 .leaflet-popup-content .marker-meta a { color: inherit; text-decoration: none; }

/* Marker-Popup (2026-10-28): gleiche Darstellung auf Startseitenkarte (front/block_2) und Tax-Karte (taxonomy_term/attachment_1) */
:is(.view-id-front.view-display-id-block_2, .view-id-taxonomy_term.view-display-id-attachment_1) .leaflet-popup-content .views-field-title { margin: 0; }
:is(.view-id-front.view-display-id-block_2, .view-id-taxonomy_term.view-display-id-attachment_1) .leaflet-popup-content .views-field-title h3 { font-size: 1.1rem; line-height: 1.3; margin: 0 0 6px; }
:is(.view-id-front.view-display-id-block_2, .view-id-taxonomy_term.view-display-id-attachment_1) .leaflet-popup-content .marker-meta { display: flex; align-items: center; gap: 7px; font-size: .82rem; line-height: 1.3; color: #5b6477; margin: 0; }
:is(.view-id-front.view-display-id-block_2, .view-id-taxonomy_term.view-display-id-attachment_1) .leaflet-popup-content .marker-meta img { height: 14px; width: auto; display: block; flex: none; }
:is(.view-id-front.view-display-id-block_2, .view-id-taxonomy_term.view-display-id-attachment_1) .leaflet-popup-content .marker-meta .field, :is(.view-id-front.view-display-id-block_2, .view-id-taxonomy_term.view-display-id-attachment_1) .leaflet-popup-content .marker-meta .field__item { display: contents; margin: 0; }
:is(.view-id-front.view-display-id-block_2, .view-id-taxonomy_term.view-display-id-attachment_1) .leaflet-popup-content .marker-meta a { color: inherit; text-decoration: none; }

/* Marker-Popup (2026-10-28): Kopfzeilen-Schmuck der Kartenregeln (.views-field-nothing: Hintergrund, Rahmen, Padding) im Popup verwerfen */
:is(.view-id-front, .view-id-taxonomy_term, .view-id-alle_angebote) .leaflet-popup-content .views-field-nothing {
  display: block; background: none; border: 0; border-radius: 0; padding: 0; margin: 0;
  width: auto; font-size: inherit; color: inherit; order: 0 !important;
}
:is(.view-id-front, .view-id-taxonomy_term, .view-id-alle_angebote) .leaflet-popup-content .views-field-nothing .field-content {
  display: block; flex: none; padding: 0; margin: 0;
}

/* Tax-Seiten (attachment_2 + block_1, 2026-10-28): Firmenlogo groesser, wie die Quell-Logos der Quickangebote (~110px statt 70px) */
@media (min-width: 768px) {
  html body .alle-tax-term .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo { width: 110px; max-height: 80px; }
  html body .alle-tax-term .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo img { max-width: 110px; max-height: 80px; }
}

/* Tax-Seiten Logo-Spalte (2026-10-28): Grid-Spalte war auf 70px festgelegt, das 110px-Logo ragte an den Kartenrand; Spalte passend und mit Abstand */
@media (min-width: 768px) {
  html body .alle-tax-term .views-view-responsive-grid__item .views-view-responsive-grid__item-inner { grid-template-columns: 1fr 120px; column-gap: 24px; }
  html body .alle-tax-term .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo { width: 120px; justify-self: end; }
}

/* Tax-Seiten (2026-10-28): Logos in einheitlichem weissem Kasten wie bei den Top-Firmen auf der Startseite */
@media (min-width: 768px) {
  html body .alle-tax-term .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo {
    box-sizing: border-box; width: 120px; height: 84px; max-height: 84px; padding: 8px !important;
    background: #fff; border: 1px solid #e3ebf3; border-radius: 12px;
    display: flex; align-items: center; justify-content: center; overflow: hidden;
  }
  html body .alle-tax-term .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo .field-content {
    display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;
  }
  html body .alle-tax-term .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo img {
    max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; display: block;
  }
  /* Karten ohne Logo: leerer Kasten ausblenden */
  html body .alle-tax-term .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo:not(:has(img, .logo-fallback)) { display: none; }
}

/* Uebersicht /nabidky-prace (alle_angebote block_2 + TOP attachment_1) und Quick-Block (externi_nabidky), Desktop (2026-10-28):
   Logos im einheitlichen weissen Kasten wie bei den Top-Firmen. display bleibt unangetastet, damit die Varianten-Logik
   (field_logo / field_logo_1 / field_logo_link, jeweils nur eine sichtbar) weiter greift; Kasten nur bei Wrappern mit Bild. */
@media (min-width: 768px) {
  html body :is(.alle-angebote-grid, .top-attachment) .views-view-responsive-grid__item-inner > :is(.views-field-field-logo, .views-field-field-logo-1, .views-field-field-logo-link, .views-field-quelle-logo):has(img) {
    box-sizing: border-box !important; width: 120px !important; height: 84px !important; max-width: 120px !important;
    padding: 8px !important; background: #fff !important; border: 1px solid #e3ebf3 !important; border-radius: 12px !important;
    overflow: hidden; text-align: center !important; right: 18px !important;
  }
  html body :is(.alle-angebote-grid, .top-attachment) .views-view-responsive-grid__item-inner > :is(.views-field-field-logo, .views-field-field-logo-1, .views-field-field-logo-link, .views-field-quelle-logo):has(img) :is(.field-content, .field) {
    display: flex !important; align-items: center; justify-content: center; width: 100%; height: 100%; margin: 0;
  }
  html body :is(.alle-angebote-grid, .top-attachment) .views-view-responsive-grid__item-inner > :is(.views-field-field-logo, .views-field-field-logo-1, .views-field-field-logo-link, .views-field-quelle-logo) img {
    max-width: 100% !important; max-height: 100% !important; width: auto !important; height: auto !important; object-fit: contain !important; display: block !important; margin: 0 auto;
  }
  /* Karte mindestens so hoch wie der Kasten, Text laeuft nicht unter das Logo */
  html body :is(.alle-angebote-grid, .top-attachment) .views-view-responsive-grid__item-inner:has(> :is(.views-field-field-logo, .views-field-field-logo-1, .views-field-field-logo-link, .views-field-quelle-logo) img) {
    min-height: 112px; padding-right: 160px !important;
  }
}
@media (min-width: 768px) {
  /* Nachtrag: aeltere Varianten-Regeln (max-width:100px !important mit :not(:has)) schlagen die Kasten-Breite; per ID-Spezifitaet gleichziehen */
  html body :is(.alle-angebote-grid, .top-attachment) .views-view-responsive-grid__item-inner > :is(.views-field-field-logo, .views-field-field-logo-1, .views-field-field-logo-link, .views-field-quelle-logo):has(img):not(#kasten) {
    width: 120px !important; max-width: 120px !important;
  }
}

/* /nabidky-prace Desktop (2026-10-28): Content-Type-Punkt und Bearbeiten-Icon (nur Redaktion) ganz rechts in der Kopfzeile.
   Der rechte Platz fuers Logo wird nicht mehr der ganzen Karte abgezogen, sondern nur Titel/Untertitel/Tags; das Logo sitzt unterhalb der Kopfzeile. */
@media (min-width: 768px) {
  html body :is(.alle-angebote-grid, .top-attachment) .views-view-responsive-grid__item-inner:has(> :is(.views-field-field-logo, .views-field-field-logo-1, .views-field-field-logo-link, .views-field-quelle-logo) img) {
    padding-right: 18px !important; min-height: 146px;
  }
  html body :is(.alle-angebote-grid, .top-attachment) .views-view-responsive-grid__item-inner:has(> :is(.views-field-field-logo, .views-field-field-logo-1, .views-field-field-logo-link, .views-field-quelle-logo) img) > :is(.views-field-title, .views-field-field-untertitel, .views-field-field-bran-e-profese, .views-field-field-firma-name) {
    padding-right: 142px;
  }
  html body :is(.alle-angebote-grid, .top-attachment) .views-view-responsive-grid__item-inner > :is(.views-field-field-logo, .views-field-field-logo-1, .views-field-field-logo-link, .views-field-quelle-logo):has(img):not(#kasten) {
    top: max(48px, calc(50% - 42px)) !important; transform: none !important;
  }
  /* Bearbeiten-Icon: die Chip-Regel fuer Kopfzeilen-Links machte daraus eine leere Pille; wieder als Stift-Icon */
  html body :is(.alle-angebote-grid, .top-attachment) .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-nothing > .field-content .edit-node-icon a:not(#k) {
    display: inline-block !important; width: 16px !important; height: 16px !important; padding: 0 !important; margin: 0 0 0 6px !important;
    border: 0 !important; border-radius: 0 !important; vertical-align: middle; float: none !important;
    background: transparent url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2716%27 height=%2716%27%3e%3cg%3e%3cpath fill=%27%235181C6%27 d=%27M14.545 3.042l-1.586-1.585c-.389-.389-1.025-.389-1.414 0l-1.293 1.293 3 3 1.293-1.293c.389-.389.389-1.026 0-1.415z%27/%3e%3crect fill=%27%235181C6%27 x=%275.129%27 y=%273.8%27 transform=%27matrix(-.707 -.707 .707 -.707 6.189 20.064)%27 width=%274.243%27 height=%279.899%27/%3e%3cpath fill=%27%235181C6%27 d=%27M.908 14.775c-.087.262.055.397.316.312l2.001-.667-1.65-1.646-.667 2.001z%27/%3e%3c/g%3e%3c/svg%3e") center / 16px 16px no-repeat !important;
    text-indent: -9999px; overflow: visible; font-size: 0 !important;
  }
}

/* Logo-Fallback (2026-10-28): liefert eine Firma kein Logo, steht der Firmenname im selben weissen Kasten.
   Der Name kommt aus dem empty-Text von field_logo (Views alle_angebote block_2/attachment_1, taxonomy_term block_1/attachment_2). */
.logo-fallback {
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden;
  font-size: .95rem; font-weight: 600; line-height: 1.25; color: #4a5a73; text-align: center;
  overflow-wrap: anywhere; hyphens: auto; max-width: 100%;
}
@media (min-width: 768px) {
  .logo-fallback { font-size: .78rem; line-height: 1.2; }
  /* Kasten wie beim Bildlogo (siehe Block "Uebersicht /nabidky-prace") */
  html body :is(.alle-angebote-grid, .top-attachment) .views-view-responsive-grid__item-inner > .views-field-field-logo:has(.logo-fallback):not(#kasten) {
    box-sizing: border-box !important; width: 120px !important; height: 84px !important; max-width: 120px !important; min-height: 0 !important;
    padding: 8px !important; background: #fff !important; border: 1px solid #e3ebf3 !important; border-radius: 12px !important;
    overflow: hidden; text-align: center !important; right: 18px !important; margin: 0 !important;
    top: max(48px, calc(50% - 42px)) !important; transform: none !important;
  }
  html body :is(.alle-angebote-grid, .top-attachment) .views-view-responsive-grid__item-inner > .views-field-field-logo:has(.logo-fallback) .field-content {
    display: flex !important; align-items: center; justify-content: center; width: 100%; height: 100%; min-height: 0 !important; margin: 0;
  }
  html body :is(.alle-angebote-grid, .top-attachment) .views-view-responsive-grid__item-inner:has(> .views-field-field-logo .logo-fallback) {
    padding-right: 18px !important; min-height: 146px;
  }
  html body :is(.alle-angebote-grid, .top-attachment) .views-view-responsive-grid__item-inner:has(> .views-field-field-logo .logo-fallback) > :is(.views-field-title, .views-field-field-untertitel, .views-field-field-bran-e-profese, .views-field-field-firma-name) {
    padding-right: 142px;
  }
  /* Tax-Karten: Kasten steckt schon in der Grid-Spalte, nur das Ausblenden ohne Bild aufheben (siehe sed-Anpassung) */
  html body .alle-tax-term .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo:has(.logo-fallback) { display: flex; }
}

/* ===== Karten mit "ganze Karte klickbar" (Titel-Link ::after, inset 0): Berufe-Links bleiben einzeln klickbar (2026-10-29) ===== */
:is(.alle-angebote-grid, .angebote-suche, .alle-tax-term, .top-attachment) .views-field-field-bran-e-profese a {
  position: relative;
  z-index: 2;
}

/* Berufe-Zeile auf Tax-Seiten: buendig mit Titel/Untertitel (deren Padding 14px) (2026-10-29) */
.alle-tax-term .views-field-field-bran-e-profese { padding-left: 14px; }

/* FAQ: alle Antworten dauerhaft offen (2026-10-29).
   Das Markup (Bootstrap-Akkordeon im Body von /faq) bleibt unveraendert; die Fragen
   sind Ueberschriften, die Antworten stehen darunter. */
.faq-box .accordion-collapse,
.faq-box .accordion-collapse.collapsing {
  display: block !important;
  height: auto !important;
  visibility: visible !important;
  transition: none;
}
.faq-box .accordion-button,
.faq-box .accordion-button:not(.collapsed) {
  pointer-events: none;
  cursor: default;
  background: transparent;
  box-shadow: none;
  color: #2F3C7E;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.35;
  padding: 1.25rem 1.25rem .4rem;
}
.faq-box .accordion-button::after {
  display: none;
}
.faq-box .accordion-body {
  padding: 0 1.25rem 1.25rem;
  font-size: .97rem;
  line-height: 1.65;
  color: #2b3440;
}
.faq-box .accordion-body p {
  margin: 0 0 .5rem;
  max-width: 70ch;
}
.faq-box .accordion-body p:last-child {
  margin-bottom: 0;
}
/* Einheitliches Schriftbild: in manchen Antworten stand der ganze Text in <strong> */
.faq-box .accordion-body strong {
  font-weight: 400;
}
.faq-box .accordion-item {
  border-bottom: 1px solid #e3e8ef;
}
@media (max-width: 575.98px) {
  .faq-box .accordion-button,
  .faq-box .accordion-button:not(.collapsed) {
    padding: 1rem 1rem .35rem;
    font-size: 1rem;
  }
  .faq-box .accordion-body {
    padding: 0 1rem 1rem;
  }
}

/* ===== Firmenprofil-Link unter dem Logo; die Flaeche des Logos ist ebenfalls Link zum Firmenprofil (2026-10-29) ===== */
:is(.alle-angebote-grid, .angebote-suche, .top-attachment, .alle-tax-term) .views-field-firma-profil {
  position: absolute;
  right: 18px;
  top: calc(50% + 46px);
  width: 120px;
  text-align: center;
  font-size: 0.72rem;
  line-height: 1.2;
  z-index: 2;
}
:is(.alle-angebote-grid, .angebote-suche, .top-attachment, .alle-tax-term) .views-field-firma-profil a {
  color: #6b7f9e;
  text-decoration: none;
}
:is(.alle-angebote-grid, .angebote-suche, .top-attachment, .alle-tax-term) .views-field-firma-profil a:hover,
:is(.alle-angebote-grid, .angebote-suche, .top-attachment, .alle-tax-term) .views-field-firma-profil a:focus-visible {
  color: #1f3a8a;
  text-decoration: underline;
}
:is(.alle-angebote-grid, .angebote-suche, .top-attachment, .alle-tax-term) .views-field-firma-profil a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 100%;
  height: 88px;
}
@media (max-width: 767px) {
  :is(.alle-angebote-grid, .angebote-suche, .top-attachment, .alle-tax-term) .views-field-firma-profil { display: none; }
}

/* ===== Firmenprofil (block_kontakt): Logo im weissen Kasten wie in Listen und Karten (2026-10-29) ===== */
.block-views-blockfirmenprofil-block-kontakt .views-field-field-logo:has(img) {
  box-sizing: border-box;
  width: 170px;
  height: 112px;
  padding: 8px;
  background: #fff;
  border: 1px solid #e3ebf3;
  border-radius: 12px;
  overflow: hidden;
}
.block-views-blockfirmenprofil-block-kontakt .views-field-field-logo:has(img) .field-content {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.block-views-blockfirmenprofil-block-kontakt .views-field-field-logo:has(img) img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  padding: 0;
  object-fit: contain;
  display: block;
}

/* ===== Tax-Seiten: Beschreibung unter dem H1 optisch wie ein H4, im Markup ein Absatz (SEO: kein uebersprungener Heading-Level) (2026-10-30) ===== */
.taxonomy-term-intro p {
  font-size: 1.275rem;
  font-weight: 500;
  line-height: 1.2;
  margin: 0 0 8px;
}
@media (max-width: 767px) {
  .taxonomy-term-intro p { font-size: 1.1rem; }
}

/* Zitat-Icon vor der Beschreibung (rein dekorativ, 2026-10-30) */
.taxonomy-term-intro p {
  position: relative;
  padding-left: 40px;
}
.taxonomy-term-intro p::before {
  content: "\201C";
  position: absolute;
  left: 0;
  top: -0.12em;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 3.4rem;
  line-height: 1;
  font-weight: 700;
  color: #8dc157;
}
@media (max-width: 767px) {
  .taxonomy-term-intro p { padding-left: 30px; }
  .taxonomy-term-intro p::before { font-size: 2.6rem; }
}

/* Zitat-Icon als SVG, mehr Luft um den Text (2026-10-30) */
.taxonomy-term-intro p {
  padding: 6px 0 6px 64px;
  margin: 0 0 14px;
}
.taxonomy-term-intro p::before {
  content: "";
  top: 4px;
  width: 40px;
  height: 40px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cpath fill='%238dc157' d='M4 16.5C4 11.5 7 8.5 12 8v3.2c-2.4.5-3.6 1.8-3.7 3.8H12V24H4v-7.5zm14 0c0-5 3-8 8-8.5v3.2c-2.4.5-3.6 1.8-3.7 3.8H26V24h-8v-7.5z'/%3E%3C/svg%3E") center / contain no-repeat;
  font-size: 0;
}
@media (max-width: 767px) {
  .taxonomy-term-intro p { padding: 4px 0 4px 46px; }
  .taxonomy-term-intro p::before { width: 30px; height: 30px; top: 2px; }
}

/* Beschreibung leichter und grauer (2026-10-30) */
.taxonomy-term-intro p {
  font-weight: 400;
  color: #6b7280;
  font-size: 1.1em;
}

/* Text naeher ans Zitat-Icon (2026-10-30) */
.taxonomy-term-intro p { padding-left: 46px; }
@media (max-width: 767px) {
  .taxonomy-term-intro p { padding-left: 34px; }
}

/* Zitat-Icon etwas hoeher: Unterkante auf Hoehe der Grundlinie der ersten Zeile (2026-10-30) */
.taxonomy-term-intro p::before { top: -6px; }
@media (max-width: 767px) {
  .taxonomy-term-intro p::before { top: -4px; }
}

/* Laender-Seitenleiste: Flagge und Wappen in EINER gruenen Kopfkarte nebeneinander, darunter Langtext (2026-10-30) */
.col-sm-3 .taxonomy-term-sidebar {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
}
.col-sm-3 .taxonomy-term-sidebar::before {
  content: "";
  grid-area: 1 / 1 / 2 / 3;
  align-self: stretch;
  background: rgb(237, 244, 230);
  border: 1px solid #d4e8c7;
  border-radius: 8px;
  margin-bottom: 18px;
}
.col-sm-3 .taxonomy-term-sidebar > .field--name-field-flagge,
.col-sm-3 .taxonomy-term-sidebar > .field--name-field-wappen {
  grid-row: 1;
  position: relative;
  background: none;
  border: 0;
  border-radius: 0;
  margin: 0 0 18px;
  padding: 14px 10px;
  justify-content: center;
  text-align: center;
}
.col-sm-3 .taxonomy-term-sidebar > .field--name-field-flagge { grid-column: 1; }
.col-sm-3 .taxonomy-term-sidebar > .field--name-field-wappen { grid-column: 2; border-left: 1px solid #d4e8c7; }
.col-sm-3 .taxonomy-term-sidebar > .field--name-field-flagge img {
  width: 100%;
  max-width: 84px;
  height: auto;
  border: 1px solid rgba(0,0,0,.12);
  border-radius: 3px;
}
.col-sm-3 .taxonomy-term-sidebar > .field--name-field-wappen img {
  max-width: 76px;
  max-height: 84px;
}
.col-sm-3 .taxonomy-term-sidebar > .field--name-field-beschreibung { grid-column: 1 / -1; }
/* ohne Wappen: Flagge allein ueber die volle Breite */
.col-sm-3 .taxonomy-term-sidebar > .field--name-field-flagge:last-of-type,
.col-sm-3 .taxonomy-term-sidebar:not(:has(.field--name-field-wappen)) > .field--name-field-flagge { grid-column: 1 / -1; }
/* Kopfkarten-Grid nur fuer Laender-Seitenleiste (mit Flagge), nicht fuer Hauptkategorien (Bild bleibt gross) (2026-10-30) */
.col-sm-3 .taxonomy-term-sidebar:not(:has(> .field--name-field-flagge)) { display: block; }
.col-sm-3 .taxonomy-term-sidebar:not(:has(> .field--name-field-flagge))::before { display: none; }

/* Taxonomie-Seiten Desktop: Share + Job-Alert unten (wie Detailseiten, JS detailActionsDesktop), oben etwas Luft statt der Kopfleiste (2026-10-30) */
@media (min-width: 768px) {
  html body.path-taxonomy #main > .row-offcanvas {
    margin-top: 24px;
  }
}


/* ===== Job-Alert am Listenende (Taxonomie, Desktop) (2026-10-30) =====
   JS detailActionsDesktop setzt den Alert-Block in .alert-reveal direkt unter die letzte Stelle. Dezenter Hinweis
   "Nichts gefunden?" im Look der Stellenkarten; faehrt vom unteren Fensterrand an seinen Platz (.is-visible), bleibt dort. */
@media (min-width: 768px) {
  html body:is(.path-taxonomy, .page-node-4864, .path-angebote-suche) .alert-reveal {
    margin: 12px 0 8px;
    position: relative;
    z-index: 50; /* Job-Alert-Popup muss ueber dem Logo-Slider (.featured-bottom) liegen */
  }
  html body:is(.path-taxonomy, .page-node-4864, .path-angebote-suche) .alert-reveal__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 6px;
    padding: 28px 24px 30px;
    background: #fff;
    border: 1px solid #e3ebf5;
    border-left: 4px solid #8ccbff;
    border-radius: 6px;
    transform: translateY(100vh);
    opacity: 0;
    transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.5s ease;
  }
  html body:is(.path-taxonomy, .page-node-4864, .path-angebote-suche) .alert-reveal.is-visible .alert-reveal__card {
    transform: none; /* kein transform im Endzustand: sonst eigener Stacking-Context, Popup landet hinter dem Slider */
    opacity: 1;
  }
  html body:is(.path-taxonomy, .page-node-4864, .path-angebote-suche) .alert-reveal__title {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 600;
    color: #002071;
  }
  html body:is(.path-taxonomy, .page-node-4864, .path-angebote-suche) .alert-reveal__text {
    margin: 0 0 10px;
    font-size: 0.95rem;
    color: #5a6782;
  }
  html body:is(.path-taxonomy, .page-node-4864, .path-angebote-suche) .alert-reveal__btn > .block {
    margin: 0;
    width: auto;
  }
  html body:is(.path-taxonomy, .page-node-4864, .path-angebote-suche) .alert-reveal .asa-alert-trigger {
    font-size: 1.05rem !important;
    padding: 12px 30px !important;
    border-radius: 8px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  html body:is(.path-taxonomy, .page-node-4864, .path-angebote-suche) .alert-reveal__card { transition: none; }
}

/* Taxonomie-Seiten: keine Share-Buttons (2026-10-30). Detailseiten behalten sie. */
html body:is(.path-taxonomy, .page-node-4864) #block-boot-sub-simplesocialshareblock {
  display: none !important;
}

/* Quickangebote mobil: kompakte Karten statt bildschirmhoher Slides. Reihenfolge Kopfzeile, Titel, Berufe, kleines Logo
   linksbuendig, danach der Button direkt darunter (kurze Titel liessen sonst viel Leerraum) (2026-10-31) */
@media (max-width: 767px) {
  html body .externi-nabidky .views-view-responsive-grid__item,
  html body .externi-nabidky .views-view-responsive-grid__item-inner {
    min-height: 0 !important;
    height: auto !important;
  }
  html body .externi-nabidky .views-view-responsive-grid__item {
    scroll-snap-stop: normal !important;
  }
  html body .externi-nabidky .views-view-responsive-grid__item-inner > .views-field-title { order: 0; }
  html body .externi-nabidky .views-view-responsive-grid__item-inner > .views-field-field-bran-e-profese {
    order: 1;
    text-align: left;
  }
  html body .externi-nabidky .views-view-responsive-grid__item-inner > .views-field-quelle-logo {
    position: static;
    transform: none;
    order: 2;
    max-width: none;
    text-align: left;
    padding: 0;
    margin: 12px 0 0;
  }
  html body .externi-nabidky .views-field-quelle-logo img {
    max-width: 120px;
    margin: 0;
  }
  html body .externi-nabidky .views-view-responsive-grid__item-inner > .snap-cta {
    order: 3;
    margin-top: 16px !important;
  }
}

/* Kartenkopf mobil: Flagge - Land - Datum in einer Zeile, darunter die Kategorien (spart eine Zeile) (2026-10-31) */
@media (max-width: 767px) {
  html body :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: 14px;
  }
  html body :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-meta__row {
    display: contents;
  }
  html body :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-meta__loc {
    flex: 0 1 auto;
    order: 0;
  }
  html body :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-meta__date {
    flex: 0 0 auto;
    order: 1;
  }
  html body :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-meta__chips {
    flex: 1 1 100%;
    order: 2;
    margin-top: 8px;
  }
  html body :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-top .snap-meta__loc {
    padding-right: 0;
  }
}

/* Footer: Themen-Block (Témata) auf Mobil ausblenden (2026-10-31) */
@media (max-width: 767px) {
  html body .footer-themen { display: none !important; }
}

/* Kartenkopf mobil: Land als erkennbarer Link mit grosser Tippflaeche (2026-11-01) */
@media (max-width: 767px) {
  html body :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-meta__loc a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    margin: -10px 0;
    padding: 0 6px 0 0;
    text-decoration: underline dotted #8dc157;
    text-decoration-thickness: 2px;
    text-underline-offset: 5px;
    -webkit-tap-highlight-color: rgba(141, 193, 87, 0.3);
  }
  html body :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-meta__loc a::after {
    content: "\203A";
    margin-left: 5px;
    color: #8dc157;
    font-weight: 700;
  }
  html body :is(.alle-angebote-grid, .angebote-suche, .view-id-front.view-display-id-block_3, .view-id-alle_angebote.view-display-id-front_3, .alle-tax-term).view .snap-meta__loc a:active {
    background: rgba(141, 193, 87, 0.18);
    border-radius: 6px;
  }
}

/* Brotkrumen (Region breadcrumb, Block boot_sub_breadcrumbs; Uebersicht + Taxonomie-Seiten): mehr Luft nach oben,
   dezent, ohne Haus-Icon, Trenner als gruener Pfeil (2026-11-02) */
html body .region-breadcrumb nav[aria-label="breadcrumb"] {
  margin: 34px 0 4px;
}
html body .region-breadcrumb .breadcrumb {
  margin: 0;
  padding: 0;
  background: none;
  font-size: 0.85rem;
  line-height: 1.4;
}
html body .region-breadcrumb .breadcrumb-item a::before {
  content: none;
  display: none;
}
html body .region-breadcrumb .breadcrumb-item a {
  color: #4a5a7e;
  text-decoration: none;
}
html body .region-breadcrumb .breadcrumb-item a:hover {
  color: #002071;
  text-decoration: underline;
}
html body .region-breadcrumb .breadcrumb-item.active {
  color: #7b8599;
}
html body .region-breadcrumb .breadcrumb-item + .breadcrumb-item {
  padding-left: 0.55rem;
}
html body .region-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  content: "\203A";
  padding-right: 0.55rem;
  color: #8dc157;
  font-weight: 700;
}

/* Firmenprofil-Link: Logo-Kasten sitzt in kurzen Karten bei mind. 48px von oben (nicht mittig), daher Link nie hoeher
   als Kastenunterkante (132px) setzen und Karten mit Link mindestens so hoch machen, dass er in die Karte passt (2026-11-02) */
@media (min-width: 768px) {
  :is(.alle-angebote-grid, .angebote-suche, .top-attachment, .alle-tax-term) .views-field-firma-profil {
    top: max(136px, calc(50% + 46px));
  }
  html body :is(.alle-angebote-grid, .angebote-suche, .top-attachment, .alle-tax-term) .views-view-responsive-grid__item-inner:has(.views-field-firma-profil) {
    min-height: 162px !important;
  }
}

/* Obory (berufe) einer Hauptkategorie als Chips unter dem Titel (ip_term_seo_obory_chips) */
.obory-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 12px 0 18px; }
.obory-chips h3 { margin: 0; font-size: 0.8rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #6b7a99; }
.obory-chips ul.obory-chips__list { display: flex; flex-direction: row; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0; padding: 0; }
.obory-chips li { margin: 0; padding: 0; border: 0; }
.obory-chips a { display: inline-flex; align-items: baseline; gap: 6px; padding: 3px 10px; border-radius: 14px; background: #eef2fa; color: #1f3a8a; font-size: 0.85rem; line-height: 1.5; text-decoration: none; }
.obory-chips a:hover, .obory-chips a:focus-visible { background: #e9f3dc; color: #2f6f12; }
.obory-chips__count { font-size: 0.75rem; color: #4a5a7a; }

/* Startseite "weitere Stellen" (alle_angebote/front_3, Desktop): gleiche Karten wie Nabidky prace (Test 2026-11-03) */
@media (min-width: 768px) {
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item {
    background: #fff !important; border: 1px solid #dfe9f5 !important; border-left: 5px solid #90cbf9 !important;
    border-radius: 8px !important; margin: 0 0 18px !important; overflow: visible !important;
    box-shadow: none !important; transition: box-shadow .15s ease;
  }
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item:hover { box-shadow: 0 4px 14px rgba(3,35,115,.12) !important; }
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner { padding: 14px 18px !important; background: transparent !important; }
  /* Kopfzeile als Pillen: Trenner-Text ausblenden, Links als Chips */
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field.views-field-nothing { background: none !important; border: 0 !important; padding: 0 0 8px !important; margin: 0 !important; box-shadow: none !important; }
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-nothing > .field-content { font-size: 0 !important; display: flex !important; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-nothing > .field-content a { font-size: .82rem !important; font-weight: 600 !important; color: #032373 !important; text-decoration: none !important; background: #eef4fc !important; border: 1px solid #d5e3f6 !important; border-radius: 999px !important; padding: 2px 11px !important; position: relative; z-index: 2; line-height: 1.4 !important; margin: 0 !important; }
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-nothing > .field-content a:hover { background: #dde9f8 !important; }
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-nothing > .field-content img { height: 15px !important; width: auto !important; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0,0,0,.1); margin: 0 !important; }
  /* Datum als ruhiger Chip direkt hinter den Kategorie-Chips (2026-10-28): weisse Flaeche statt blauer Fuellung und kein Hover,
     damit er als Info und nicht als Link wirkt. Uhr-Icon sitzt per ::before im Chip (gilt dadurch auch fuer externi_nabidky,
     das kein .clock-icon im Rewrite hat); das separate .clock-icon-Element (alle_angebote) wird ausgeblendet. */
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-nothing > .field-content time { display: inline-flex !important; align-items: center; font-size: .82rem !important; font-weight: 500 !important; color: #6b7a99 !important; background: #fff !important; border: 1px solid #d5e3f6 !important; border-radius: 999px !important; padding: 2px 11px !important; line-height: 1.4 !important; margin: 0 !important; white-space: nowrap; }
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-nothing > .field-content time::before { content: ""; width: 13px; height: 13px; margin-right: 6px; flex: none; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b7a99' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") center / contain no-repeat; }
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-nothing > .field-content .clock-icon { display: none !important; }
  /* Content-Type-Punkt (nur fuer die Redaktion) bleibt am rechten Rand, jetzt wo das Datum links steht */
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-nothing > .field-content .ct-dot { margin-left: auto !important; }
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-nothing > .field-content .badge-top { font-size: .78rem !important; }
  /* Titel gross und ganze Karte klickbar */
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-title h3 { margin: 2px 0 6px !important; font-size: 1.35rem !important; line-height: 1.3 !important; font-weight: 500 !important; }
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-title h3 a { color: #032373 !important; text-decoration: none !important; }
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-title h3 a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
}

/* Startseite front_3: kompaktere Karten + Untertitel wie auf Nabidky prace (2026-11-03) */
@media (min-width: 768px) {
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item { margin: 0 0 16px !important; }
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner { padding: 12px 18px !important; }
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field.views-field-nothing { padding: 0 0 7px !important; }
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-title h3 { margin: 2px 0 5px !important; font-size: 1.3rem !important; line-height: 1.3 !important; }
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-title { padding: 0 !important; }
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-untertitel { padding: 0 0 8px !important; margin: 0 !important; max-width: 90%; }
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-untertitel h4,
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-untertitel h5 { font-size: 1em !important; font-weight: 400 !important; line-height: 1.45 !important; margin: 0 !important; padding: 0 !important; color: inherit !important; }
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-bran-e-profese { margin-top: 5px !important; font-size: .9rem !important; line-height: 1.4 !important; }
  html body .view-id-alle_angebote.view-display-id-front_3 .views-field-field-logo { padding-top: 6px !important; padding-bottom: 6px !important; }
  html body .view-id-alle_angebote.view-display-id-front_3 .views-field-field-logo img { max-height: 60px !important; width: auto !important; }
}

/* front_3: Titel/Untertitel/Berufe nicht unter das Logo laufen lassen (Logo steht rechts, absolut positioniert) */
@media (min-width: 768px) {
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner:has(.views-field-field-logo img) > :is(.views-field-title, .views-field-field-untertitel, .views-field-field-bran-e-profese) { max-width: calc(100% - 150px) !important; }
}

/* front_3: Punkt + Stift links vom Logo, damit das Logo nach oben ruecken kann (2026-11-03) */
@media (min-width: 768px) {
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner:has(.views-field-field-logo img) > .views-field-nothing > .field-content { max-width: calc(100% - 150px) !important; }
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo { top: 14px !important; }
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-firma-profil { top: 104px !important; }
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner:has(.views-field-firma-profil) { min-height: 128px !important; }
}

/* front_3: Logo-Position gewinnt gegen die Regel mit :not(#kasten) (2026-11-03) */
@media (min-width: 768px) {
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo:has(img):not(#kasten) { top: 14px !important; }
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > .views-field-field-logo:has(.logo-fallback):not(#kasten) { top: 14px !important; }
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner:has(.views-field-field-logo img) > .views-field-nothing > .field-content { max-width: calc(100% - 140px) !important; }
}

/* front_3: auch Logos aus field_logo_1/-link (Karten ohne eigenes field_logo) nach oben + Text/Kopfzeile freihalten */
@media (min-width: 768px) {
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner > :is(.views-field-field-logo, .views-field-field-logo-1, .views-field-field-logo-link, .views-field-quelle-logo):has(img):not(#kasten) { top: 14px !important; }
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner:has(> :is(.views-field-field-logo, .views-field-field-logo-1, .views-field-field-logo-link, .views-field-quelle-logo) img) > :is(.views-field-title, .views-field-field-untertitel, .views-field-field-bran-e-profese) { max-width: calc(100% - 150px) !important; }
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner:has(> :is(.views-field-field-logo, .views-field-field-logo-1, .views-field-field-logo-link, .views-field-quelle-logo) img) > .views-field-nothing > .field-content { max-width: calc(100% - 140px) !important; }
  html body .view-id-alle_angebote.view-display-id-front_3 .views-view-responsive-grid__item .views-view-responsive-grid__item-inner:has(> :is(.views-field-field-logo, .views-field-field-logo-1, .views-field-field-logo-link, .views-field-quelle-logo) img) > .views-field-firma-profil { top: 104px !important; }
}

/* Laender-Sidebar: Langtext ueber die volle Breite (auch Sprachvarianten field_beschreibung_pl/_sk und description),
   die Regel oben greift nur fuer die Klasse ohne Sprachsuffix -> Text blieb in der halben Grid-Spalte. */
.col-sm-3 .taxonomy-term-sidebar > [class*="field--name-field-beschreibung"],
.col-sm-3 .taxonomy-term-sidebar > .field--name-description { grid-column: 1 / -1; }

/* Startseite front/block_1: Laender-Flaggen in der Kopfzeile vertikal mittig (alle Laender einheitlich) */
.block-views-blockfront-block-1 .views-field-nothing-1 img { vertical-align: middle; }

/* ===== Fullnode Stellen (stellenangebot block_8 / angebot block_3): Logo im einheitlichen weissen Kasten wie in Listen, "Profil firmy" darunter (2026-11-05) ===== */
.col-sm-6 .fullnode-tabelle-adresse .ip-adress-head__logo {
  flex: 0 0 170px;
  width: 170px;
  max-width: 170px;
}
.col-sm-6 .fullnode-tabelle-adresse .ip-adress-head__logo .views-field-field-logo,
.col-sm-6 .fullnode-tabelle-adresse .ip-adress-head__logo .views-field-field-logo-link {
  text-align: center;
}
.col-sm-6 .fullnode-tabelle-adresse .ip-adress-head__logo .views-field-field-logo img,
.col-sm-6 .fullnode-tabelle-adresse .ip-adress-head__logo .views-field-field-logo-link img {
  box-sizing: border-box;
  width: 170px;
  height: 112px;
  max-width: 170px;
  max-height: 112px;
  padding: 8px;
  background: #fff;
  border: 1px solid #e3ebf3;
  border-radius: 12px;
  object-fit: contain;
  margin: 0 auto;
}
.col-sm-6 .fullnode-tabelle-adresse .ip-adress-head__logo .views-field-firma-profil {
  margin-top: 6px;
  text-align: center;
  font-size: 0.72rem;
  line-height: 1.2;
}
.col-sm-6 .fullnode-tabelle-adresse .ip-adress-head__logo .views-field-firma-profil a {
  color: #6b7f9e;
  text-decoration: none;
}
.col-sm-6 .fullnode-tabelle-adresse .ip-adress-head__logo .views-field-firma-profil a:hover,
.col-sm-6 .fullnode-tabelle-adresse .ip-adress-head__logo .views-field-firma-profil a:focus-visible {
  color: #1f3a8a;
  text-decoration: underline;
}

/* Breite Karte: Logo steht absolut rechts (24px nach unten gerueckt) und darf neben der Flaggenzeile ueberstehen;
   Text, Flaggenzeile und gruene Linie laufen nur links davon. Schmale Karte: Logo bricht wie bisher unter den Text. */
.col-sm-6 .fullnode-tabelle-adresse { container-type: inline-size; }
@container (min-width: 400px) {
  .ip-adress-head:has(.ip-adress-head__logo img) { position: relative; }
  .ip-adress-head:has(.ip-adress-head__logo img) .ip-adress-head__text { flex: 1 1 100%; padding-right: 195px; }
  .ip-adress-head:has(.ip-adress-head__logo img) .ip-adress-head__logo { position: absolute; bottom: -35px; right: 25px; margin: 0; }
}

/* Arbeitgeber-Inzerat-Seite (node 222): Share-Buttons und Job-Alert ausblenden */
body.page-node-222 #block-boot-sub-simplesocialshareblock,
body.page-node-222 #block-boot-sub-angebotstellealertblock { display: none !important; }

/* Suchseite: etwas Luft oben statt der Kopfleiste (Share/Alert wandern nach unten) */
@media (min-width: 768px) {
  html body.path-angebote-suche #main > .row-offcanvas { margin-top: 24px; }
}

/* Startseite: Titel "Was schreibt die CZ/PL/SK-Presse?" mit derselben wachsenden Linie wie die anderen Block-Titel (borderGrow) */
body.path-frontpage .block-views-blockpressemonitor-block-9 h2 {
  position: relative;
  padding-bottom: 10px;
}
body.path-frontpage .block-views-blockpressemonitor-block-9 h2::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 5px;
  background: #8bc34a;
  animation: borderGrow 2.8s ease-out 0.6s forwards;
}

/* Karten: Scroll-Hinweis (grauer Overlay mit Strg/Cmd-Text) beim Seiten-Scrollen ueber der Karte ausblenden.
   Gesture-Handling bleibt aktiv (Seite scrollt ueber der Karte, Strg/Cmd+Scroll zoomt); Touch-Hinweis bleibt. */
.leaflet-container.leaflet-gesture-handling-scroll-warning:after {
  display: none !important;
}

/* Startseite: Karte bleibt oben stehen, Kategorie-Kacheln und danach der Seiteninhalt schieben sich darueber (nur Desktop),
   wie auf der Angebote-Uebersicht. Die Region wird per Abstandshalter (::after) um die Kartenhoehe verlaengert und um
   denselben Betrag wieder hochgezogen, damit die Karte so lange klebt, bis sie ganz verdeckt ist. */
@media (min-width: 992px) {
  body.path-frontpage .featured-top .region-featured-top {
    margin-bottom: -400px;
  }
  body.path-frontpage .featured-top .region-featured-top::after {
    content: "";
    flex: 0 0 100%;
    height: 400px;
  }
  body.path-frontpage .featured-top .block-views-blockfront-block-2 {
    position: sticky;
    top: 0;
    z-index: 0;
  }
  body.path-frontpage .featured-top .block-views-blockhauptkategorien-cards-block-1,
  body.path-frontpage .featured-top .block-views-blockhauptkategorien-cards-block-mobile {
    position: relative;
    z-index: 1;
    background: #fff;
    display: flow-root;
  }
  body.path-frontpage #main-wrapper {
    position: relative;
    z-index: 1;
  }
}

/* Startseite Desktop: Button unter den Listen ("Dalsi nabidky", "Vsechny zpravy") als Trennlinie mit Button in der Mitte.
   Mobil (unter 768px) bleibt der dunkelblaue Block. */
@media (min-width: 768px) {
  html body .ip-joblist-more {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 28px 0 8px;
    padding: 0;
    background: none;
    border: 0;
    border-radius: 0;
  }
  html body .ip-joblist-more::before,
  html body .ip-joblist-more::after {
    content: "";
    flex: 1;
    height: 1px;
    background: #e3e8ef;
  }
  html body .ip-joblist-more__link,
  html body .ip-joblist-more__link:visited {
    background: #f1f8e6;
    color: #1b2a4a !important;
    font-weight: 700;
    font-size: 15px;
    padding: 9px 24px;
    border: 1.5px solid #8dc157;
    border-radius: 8px;
    transition: border-color .2s ease, background-color .2s ease, color .2s ease;
  }
  html body .ip-joblist-more__link:hover,
  html body .ip-joblist-more__link:focus-visible {
    background: #8dc157;
    border-color: #8dc157;
    color: #fff !important;
  }
  html body .ip-joblist-more__arrow {
    color: #6fa23a;
    display: inline-block;
    transition: transform .2s ease;
  }
  html body .ip-joblist-more__link:hover .ip-joblist-more__arrow,
  html body .ip-joblist-more__link:focus-visible .ip-joblist-more__arrow {
    color: #fff;
    transform: translateX(3px);
  }
}

/* ===== Firmen-Uebersicht (View firmenprofil / page_2, /firmy): Karten wie "Top zamestnavatele" auf der Startseite
   plus Werkzeugleiste (Suche, Sortierung) per JS ===== */
.view-id-firmenprofil.firmen-grid .views-view-responsive-grid { align-items: stretch !important; }
.view-id-firmenprofil.firmen-grid .views-view-responsive-grid__item {
  background: #eaf2fb;
  border: 1px solid #cfe0f4;
  border-radius: 8px;
  padding: 0;
  display: flex;
  flex-direction: column;
  height: 100%;
  box-sizing: border-box;
  transition: all 0.2s ease;
  overflow: hidden;
  position: relative;
}
.view-id-firmenprofil.firmen-grid .views-view-responsive-grid__item:hover {
  border-color: #8dc157;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}
.view-id-firmenprofil.firmen-grid .views-view-responsive-grid__item-inner {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  height: 100% !important;
  box-sizing: border-box;
}
.view-id-firmenprofil.firmen-grid .views-field-nothing-1 {
  display: flex;
  align-items: center;
  gap: 6px;
  background: #fff;
  padding: 8px 12px;
  border-bottom: 1px solid #cfe0f4;
  font-size: 0.8em;
  color: #555;
  width: 100%;
  box-sizing: border-box;
  order: initial !important;
}
.view-id-firmenprofil.firmen-grid .views-field-nothing-1 img { vertical-align: middle; }
.view-id-firmenprofil.firmen-grid .views-field-field-logo {
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 20px 12px;
  width: 100%;
  height: 120px;
  box-sizing: border-box;
  order: initial !important;
  margin-top: 0 !important;
}
.view-id-firmenprofil.firmen-grid .views-field-field-logo .field-content,
.view-id-firmenprofil.firmen-grid .views-field-field-logo a { display: flex; align-items: center; justify-content: center; }
.view-id-firmenprofil.firmen-grid .views-field-field-logo img {
  width: 140px;
  height: 90px;
  max-width: none;
  max-height: none;
  object-fit: contain;
  background: #fff;
  border: 1px solid #cfe0f4;
  border-radius: 8px;
  padding: 8px;
  box-sizing: border-box;
}
.view-id-firmenprofil.firmen-grid .firma-logo-placeholder {
  width: 140px;
  height: 90px;
  background: #fff;
  border: 1px dashed #cfe0f4;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.view-id-firmenprofil.firmen-grid .firma-logo-placeholder::before {
  content: "business";
  font-family: "Material Icons";
  font-size: 36px;
  color: #b8cde6;
}
.view-id-firmenprofil.firmen-grid .views-field-title {
  display: flex !important;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  box-sizing: border-box;
  padding: 4px 16px 14px !important;
  min-height: 3.4em;
  order: initial !important;
}
.view-id-firmenprofil.firmen-grid .views-field-title .field-content {
  font-size: 1.1em;
  font-weight: 600;
  color: #0c447c;
  line-height: 1.3;
  text-align: center;
  width: 100%;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.view-id-firmenprofil.firmen-grid .views-field-title .field-content a { color: #0c447c; text-decoration: none; }
.view-id-firmenprofil.firmen-grid .views-field-title .field-content a:hover { text-decoration: underline; }
.view-id-firmenprofil.firmen-grid .views-view-responsive-grid__item[hidden] { display: none !important; }

.firmen-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin: 0 0 16px;
}
.firmen-toolbar__search {
  flex: 1 1 260px;
  height: 40px;
  padding: 0 14px;
  border: 1px solid #d5dae2;
  border-radius: 8px;
  background: #fff;
  font-size: 15px;
  box-sizing: border-box;
}
.firmen-toolbar__search:focus { outline: none; border-color: #8dc157; box-shadow: 0 0 0 3px rgba(141,193,87,.25); }
.firmen-toolbar__sort {
  flex: 0 0 auto;
  height: 40px;
  padding: 0 12px;
  border: 1px solid #d5dae2;
  border-radius: 8px;
  background: #fff;
  font-size: 15px;
  cursor: pointer;
}
.firmen-toolbar__sort:focus { outline: none; border-color: #8dc157; box-shadow: 0 0 0 3px rgba(141,193,87,.25); }
.firmen-toolbar__count { flex: 0 0 auto; font-size: 14px; color: #6b7686; margin-left: auto; }
.firmen-empty { padding: 24px 0; color: #6b7686; }

/* Firmen-Uebersicht: Sortier-Dropdown mit eigenem Pfeil (Theme-Standard fuer select ueberschreiben) */
html body .firmen-toolbar .firmen-toolbar__sort {
  -webkit-appearance: none;
  appearance: none;
  min-width: 190px;
  padding: 0 38px 0 14px;
  color: #1b2a4a;
  line-height: 38px;
  background-color: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%236fa23a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 12px 8px;
}

/* Firmen-Uebersicht: Link "Aktuelle Angebote (N)" als Kartenfuss, wie "Aktualni nabidka" bei den Top-Arbeitgebern */
.view-id-firmenprofil.firmen-grid .views-field-ip-offers {
  margin-top: auto;
  padding: 10px 12px 12px;
  width: 100%;
  box-sizing: border-box;
  text-align: center;
  border-top: 1px solid #cfe0f4;
  min-height: 46px;
}
.view-id-firmenprofil.firmen-grid .views-field-ip-offers:empty { border-top-color: transparent; }
.view-id-firmenprofil.firmen-grid .views-field-ip-offers a.job-label-link {
  position: relative;
  display: inline-block;
  padding-bottom: 2px;
  color: #185fa5;
  text-decoration: none;
}
.view-id-firmenprofil.firmen-grid .views-field-ip-offers a.job-label-link::after {
  content: '';
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 0;
  height: 2px;
  background: #8dc157;
  transition: right 0.25s ease;
}
.view-id-firmenprofil.firmen-grid .views-field-ip-offers a.job-label-link:hover::after,
.view-id-firmenprofil.firmen-grid .views-field-ip-offers a.job-label-link:focus::after { right: 0; }
.view-id-firmenprofil.firmen-grid .job-label-icon {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 4px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg) translateY(-1px);
  vertical-align: middle;
}
.view-id-firmenprofil.firmen-grid .firmen-offer-count {
  display: inline-block;
  min-width: 22px;
  padding: 0 7px;
  margin-left: 4px;
  border-radius: 999px;
  background: #8dc157;
  color: #fff;
  font-size: 0.85em;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}

/* Firmen-Uebersicht (/firmy): Share-Buttons und Job-Alert ausblenden, der Brotkrumen-Pfad bleibt */
body:has(.view-id-firmenprofil.firmen-grid) #block-boot-sub-simplesocialshareblock,
body:has(.view-id-firmenprofil.firmen-grid) #block-boot-sub-angebotstellealertblock { display: none !important; }

/* Firmen-Uebersicht: Karte im gleichen Stil wie die anderen Uebersichtskarten (Rahmen, Radius, blauer Schatten) */
.view-id-firmenprofil.firmen-grid .geolocation-map-container {
  margin: 0 0 20px;
  border: 1px solid #90cbf9;
  border-radius: 12px;
  box-shadow: 0 4px 6px rgba(79, 144, 200, 0.25);
}

/* Firmen: Abstand Karte zu Suchleiste */
body .view-id-firmenprofil.firmen-grid .firmen-toolbar{margin-top:24px}

/* Firmen-Karte: Logo im Popup */
.view-id-firmenprofil .leaflet-popup-content .firma-popup-logo{margin:0 0 8px}
.view-id-firmenprofil .leaflet-popup-content .firma-popup-logo img{display:block;max-width:100%;height:auto;max-height:110px;width:auto;object-fit:contain}
.view-id-firmenprofil .leaflet-popup-content{width:200px !important;min-width:200px}

/* Firmen-Karten Startseite (front block_1): TOP-Reiter wie bei den Top-Angeboten (ragt oben rechts aus der Karte), hellblau */
.view-id-front.view-display-id-block_1 .views-view-responsive-grid__item-inner { position: relative; }
.view-id-front.view-display-id-block_1 .views-field-nothing-1 .badge-top {
  position: absolute;
  top: 1px;
  right: 16px;
  float: none;
  transform: translateY(-100%);
  margin: 0;
  display: inline-block;
  padding: 4px 14px 5px;
  font-weight: 700;
  font-size: 0.78em;
  letter-spacing: 0.07em;
  line-height: 1.4;
  color: #032373;
  background: #EAF2FB;
  border-radius: 6px 6px 0 0;
  box-shadow: 0 -1px 3px rgba(0,0,0,0.08);
  z-index: 5;
}

/* TOP-Reiter ragt aus der Karte: Item darf nicht abschneiden, Zeilenabstand fuer den Reiter, Ecken der Kopf-/Fusszeile selbst runden */
.view-id-front.view-display-id-block_1 .views-view-responsive-grid__item { overflow: visible; }
.view-id-front.view-display-id-block_1 .views-view-responsive-grid { row-gap: 32px; }
.view-id-front.view-display-id-block_1 .views-field-nothing-1 { border-radius: 8px 8px 0 0; }
.view-id-front.view-display-id-block_1 .views-field-nothing { border-radius: 0 0 8px 8px; }

/* Pressemonitor DE-Bloecke (block_2/block_8, nur Klasse pressemonitor-cards-de): Zeitungs-Symbol vor der Rubrik wie bei block_9 */
.pressemonitor-cards-de .views-field-field-monitor-typ .field-content:not(:has(.ip-ico))::before,
.block-views-blockpressemonitor-block-2 .views-field-field-monitor-typ .field-content:not(:has(.ip-ico))::before,
.block-views-blockpressemonitor-block-8 .views-field-field-monitor-typ .field-content:not(:has(.ip-ico))::before {
  content: "";
  display: inline-block;
  width: 1.35em;
  height: 1.35em;
  margin-right: 6px;
  vertical-align: -0.28em;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22 3l-1.67 1.67L18.67 3 17 4.67 15.33 3l-1.66 1.67L12 3l-1.67 1.67L8.67 3 7 4.67 5.33 3 3.67 4.67 2 3v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V3zM11 19H4v-6h7v6zm9 0h-7v-2h7v2zm0-4h-7v-2h7v2zm0-4H4V8h16v3z'/%3E%3C/svg%3E") no-repeat center / contain;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22 3l-1.67 1.67L18.67 3 17 4.67 15.33 3l-1.66 1.67L12 3l-1.67 1.67L8.67 3 7 4.67 5.33 3 3.67 4.67 2 3v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V3zM11 19H4v-6h7v6zm9 0h-7v-2h7v2zm0-4h-7v-2h7v2zm0-4H4V8h16v3z'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Quickangebot-2026 Vollansicht als Karte wie in den Listen (externi_nabidky), 2026-11-10 */
.qa-full { max-width: 860px; margin: 0 auto; padding: 8px 0 32px; }
.qa-full .qa-card {
  background: #fff; border: 1px solid #d5e3f6; border-left: 5px solid #90cbf9; border-radius: 8px;
  padding: 18px 22px 20px;
}
.qa-full .qa-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin-bottom: 12px; }
.qa-full .qa-flag { height: 15px; width: auto; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0, 0, 0, .12); }
.qa-full .qa-chip {
  display: inline-flex; align-items: center; gap: 6px;
  background: #eef4fc; border: 1px solid #d5e3f6; border-radius: 999px;
  padding: 2px 11px; font-size: .82rem; line-height: 1.4; font-weight: 600; color: #032373;
}
.qa-full .qa-chip--date { background: #fff; color: #6b7a99; font-weight: 500; }
.qa-full .qa-clock { flex: none; opacity: .8; }
.qa-full .qa-title { margin: 0 0 6px; line-height: 1.25; font-size: 1.75rem; font-weight: 400; color: #032373; }
.qa-full .qa-firma { font-size: 1.05rem; font-weight: 600; margin: 0 0 6px; }
.qa-full .qa-profs { font-size: .85rem; font-weight: 500; color: #6b7a99; margin: 0 0 18px; }
.qa-full .qa-cta { margin: 14px 0 12px; }
.qa-full .qa-go {
  padding: 10px 22px; font-weight: 600; font-size: .95rem; border-radius: 6px;
  color: #3f6d12; background: rgba(141, 193, 87, .14); border: 1px solid #8dc157;
  transition: background-color .15s, color .15s;
}
.qa-full .qa-go:hover, .qa-full .qa-go:focus-visible { background: #8dc157; color: #fff; border-color: #8dc157; }
.qa-full .qa-hint { font-size: .9rem; opacity: .75; margin: 0 0 14px; }
.qa-full .qa-source { font-size: .85rem; opacity: .6; border-top: 1px solid rgba(0, 0, 0, .12); padding-top: 10px; }
@media (max-width: 575px) {
  .qa-full .qa-card { padding: 14px 16px 16px; }
  .qa-full .qa-title { font-size: 1.4rem; }
  .qa-full .qa-go { display: block; width: 100%; text-align: center; }
}

/* Arbeitgeber-Einfahr-Karte (nur DE-Startseite), 2026-11-10 */
.ip-slidein {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 1040;
  width: 480px;
  max-width: calc(100vw - 32px);
  padding: 28px 32px 24px;
  color: #fff;
  background: linear-gradient(135deg, #0162a5 0%, #014a7c 100%);
  border-radius: 16px;
  border-bottom: 6px solid #8dc157;
  box-shadow: 0 18px 48px rgba(0, 0, 0, .35);
  transform: translateY(calc(100% + 48px));
  opacity: 0;
  transition: transform .5s ease, opacity .5s ease;
}
.ip-slidein[hidden] { display: none; }
.ip-slidein.is-visible { transform: translateY(0); opacity: 1; }
.ip-slidein__close {
  position: absolute; top: 10px; right: 14px;
  width: 36px; height: 36px;
  font-size: 28px; line-height: 1;
  color: #fff; background: transparent; border: 0; cursor: pointer; opacity: .8;
}
.ip-slidein__close:hover, .ip-slidein__close:focus-visible { opacity: 1; }
.ip-slidein p { margin: 0; }
.ip-slidein__eyebrow {
  display: inline-block; margin-bottom: 10px !important; padding: 4px 12px;
  font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  background: rgba(255, 255, 255, .16); border-radius: 999px;
}
.ip-slidein__title { font-size: 24px; font-weight: 800; line-height: 1.2; margin-bottom: 10px !important; padding-right: 24px; }
.ip-slidein__sub { font-size: 16px; color: rgba(255, 255, 255, .92); margin-bottom: 18px !important; }
.ip-slidein__cta {
  display: inline-block; padding: 14px 28px;
  font-weight: 800; font-size: 17px; text-decoration: none;
  color: #0b2a16; background: linear-gradient(180deg, #8dc157, #78b445); border-radius: 10px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .25);
  transition: transform .2s ease, box-shadow .2s ease;
}
.ip-slidein__cta:hover, .ip-slidein__cta:focus-visible { color: #0b2a16; transform: translateY(-2px); box-shadow: 0 12px 26px rgba(0, 0, 0, .3); }
.ip-slidein__trust {
  display: flex; flex-wrap: wrap; gap: 6px 18px;
  margin: 18px 0 0; padding: 0; list-style: none;
  font-size: 13px; color: rgba(255, 255, 255, .92);
}
.ip-slidein__trust li::before { content: "✔"; margin-right: 6px; color: #dff3db; }
.ip-slidein__contact { margin-top: 16px !important; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .2); font-size: 17px; color: rgba(255, 255, 255, .9); line-height: 1.6; }
.ip-slidein__contact a { color: #fff; font-weight: 700; text-decoration: underline; }
.ip-slidein__contact a[href^="tel:"] { color: #c5e39a; font-size: 19px; white-space: nowrap; }
@media (max-width: 575px) { .ip-slidein__contact { font-size: 15px; } .ip-slidein__contact a[href^="tel:"] { font-size: 17px; } }
@media (prefers-reduced-motion: reduce) {
  .ip-slidein { transition: none; }
}
@media (max-width: 575px) {
  /* Platz fuer das Cookie-Symbol unten links lassen */
  .ip-slidein { bottom: 64px; right: 16px; padding: 22px 20px 18px; }
  .ip-slidein__title { font-size: 20px; }
  .ip-slidein__sub { font-size: 14px; }
  .ip-slidein__cta { display: block; text-align: center; }
}
