/* ==========================================================================
   1. ALLGEMEINE SEITEN- & LAYOUT-STILE
   ========================================================================== */

/* 1.1. Grundlegende Body-Stile
   -------------------------------------------------------------------------- */
body {
  font-family: Arial, Geneva, "DejaVu Sans", sans-serif;
}

body.toolbar-fixed {
  padding-top: 39px;
}
body.toolbar-fixed.toolbar-tray-open {
  padding-top: 78px;
}


/* 1.2. Haupt-Inhaltsbereich ('main')
   -------------------------------------------------------------------------- */
main {
  box-shadow: 0 5px 5px #b9b8b9;
  -moz-box-shadow: 0 5px 5px #b9b8b9;
  -webkit-box-shadow: 0 5px 5px #b9b8b9;
  padding-bottom: 10px;
  background-image: url(../images/bubble_bg_8.png);
  background-repeat: repeat-y;
  background-position: center 0;
  background-size: 100%;
}

/* 1.3. Zentraler Inhalts-Container (wird von 'main' und Footern genutzt)
   -------------------------------------------------------------------------- */
main .container,
main .layout-container,
.footer-container,
.content-footer-wrapper .container {
  max-width: 1003px;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 1200px) {
  h2, .h2 {
    font-size: 1.4em;
  }
}

h3 {
  font-size: 1.4em;
}

p {
  font-size: 1em;
}
/* ==========================================================================
   2. HEADER & HAUPTNAVIGATION
   ========================================================================== */

header[role="banner"] {
  background-color: #22b9ca;
  width: 100%;
  box-shadow: 0 5px 5px #b9b8b9;
  margin-bottom: 20px;
}

.region-header {
  max-width: 820px;
  height: 101px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

/* 2.1. Logo & Branding im Header
   -------------------------------------------------------------------------- */
.region-header #block-kulturrucksack-theme-site-branding {
  order: 1;
  flex-shrink: 0;
  margin: 0;
  padding: 0;
}
.region-header #block-kulturrucksack-theme-site-branding .site-logo img {
  height: auto;
  max-width: 100%;
}
.region-header #block-kulturrucksack-theme-site-branding .site-title {
  display: none;
}

/* 2.2. Hauptnavigation im Header
   -------------------------------------------------------------------------- */
.region-header #block-kulturrucksack-theme-main-menu {
  order: 2;
  margin-right: 50px;
  padding: 0;
}
.region-header #block-kulturrucksack-theme-main-menu ul.navbar-nav {
  display: flex;
  flex-direction: row;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 17px;
  letter-spacing: 1px;
}
.region-header #block-kulturrucksack-theme-main-menu .nav-item {
  margin: 0 5px;
}
.region-header #block-kulturrucksack-theme-main-menu .nav-link {
  display: block;
  color: #000000;
  font-weight: bold;
  padding: 0px 10px;
  text-decoration: none;
  border-radius: 5px;
  transition: background-color 0.2s ease, color 0.2s ease;
}
/* Aktiv- & Hover-Zustand für Navigationslinks */
.region-header #block-kulturrucksack-theme-main-menu .nav-link:hover,
.region-header #block-kulturrucksack-theme-main-menu .nav-link.active,
.region-header #block-kulturrucksack-theme-main-menu .nav-item a.is-active {
  background-color: #ffffff;
  -moz-border-radius: 5px;
  border-radius: 5px;
}

body.path-frontpage .region-content {
  background-color: #1a1a1a;
  padding: 1px 20px;
}

/* ==========================================================================
   3. STARTSEITEN-SPEZIFISCHE STILE
   ========================================================================== */

body.path-frontpage h1 {
  display: none;
}

/* "Aktuelles"-Ansicht-Block */
.block-views-blockaktuelles-startseite-block-1 {
  background-color: #ffffff;
  padding: 20px;
  border: 1px solid #cccccc;
  margin-bottom: 20px;
}
.block-views-blockaktuelles-startseite-block-1 h2 {
  background-color: #333333;
  color: #ffffff;
  padding: 10px 20px;
  margin: -20px -20px 20px -20px;
  font-size: 1.3em;
}
.block-views-blockaktuelles-startseite-block-1 .views-field-title-1 a {
  color: #9d4c94;
  text-decoration: none;
  font-size: 1.4em;
  font-weight: bold;
}
.block-views-blockaktuelles-startseite-block-1 .views-field-title-1 a:hover {
  text-decoration: underline;
}
.block-views-blockaktuelles-startseite-block-1 .field-content p {
  margin-bottom: 0px;
}
.block-views-blockaktuelles-startseite-block-1 .views-field-nothing {
  margin: 0;
  padding: 0 0 20px 0;
}
.block-views-blockaktuelles-startseite-block-1 .views-field-nothing a {
  color: #9d4c94;
  margin: 0;
  padding: 0;
}


/* ==========================================================================
   4. EINFACHER FOOTER (region-footer)
   ========================================================================== */

.region-footer {
  padding: 20px 0;
  z-index: 101;
  position: relative;
}

.footer-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.footer-logos {
  display: flex;
  align-items: center;
  gap: 30px;
}
.footer-logos img {
  height: 50px;
  width: auto;
}
.footer-rechts {
  font-size: 14px;
  display: flex;
  gap: 0.5em;
}
.footer-rechts a {
  color: #5d256c;
  text-decoration: none;
}
.footer-rechts a:hover {
  text-decoration: underline;
}

.region-footer .block {
  margin-bottom: 20px;
  width: 100%;
}

#footer_desktop {
  width: 100%;
}

/* ==========================================================================
   5. "MEGA-FOOTER" (region-content-footer)
   ========================================================================== */

.content-footer-wrapper {
  position: relative;
  overflow: hidden;
  margin-top: 20px;
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}

.content-footer-wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, #3c3c3c 0%, #474747 50%, #5b5b5b 100%);
  z-index: 0;
}

.region-content-footer {
  display: grid;
  grid-template-columns: 1fr 1.8fr 1.1fr 1.5fr; /* 4 Spalten */
  color: #fff;
  padding-bottom: 40px;
  position: relative;
  z-index: 1;
}

/* Der pinke Hintergrund: Deckt Spalte 3 & 4 ab und geht über alle Zeilen */
.region-content-footer::after {
  content: "";
  grid-column: 3 / 5;
  grid-row: 1 / 10; /* Deckt bis zu 9 Zeilen ab */
  margin: 10px 10px 10px 0; 
  background: linear-gradient(180deg, #d81b8c 0%, #b51f7a 35%, #8f2b6f 65%, #6b295a 100%);
  box-shadow: -6px 0 12px rgba(0,0,0,.25);
  z-index: -1; /* Hinter den Text */
  pointer-events: none;
}

/* Blöcke in Spalte 1 & 2 */
#block-kulturrucksack-theme-footermenu { grid-column: 1; grid-row: 1 / 5; }
#block-kulturrucksack-theme-kontaktblock { 
  grid-column: 2; 
  grid-row: 1 / 5;
  font-size: 13px;
  padding-right: 10px; 
}

#block-kulturrucksack-theme-kontaktblock  h2 {
  font-size: 16px;
}

#block-kulturrucksack-theme-kontaktblock a {
color: white;
}

/* Blöcke in Spalte 3 (Pinker Bereich links) */
#block-kulturrucksack-theme-kommunensidemenu-2 {
  grid-column: 3;
  grid-row: 1;
}

#block-kulturrucksack-theme-adminredaktion {
  grid-column: 3;
  grid-row: 2;
  padding-top: 0 !important; /* Kein Extra-Padding, damit es bündig bleibt */
}

/* Blöcke in Spalte 4 (Pinker Bereich rechts) */
#block-kulturrucksack-theme-benutzeranmeldung,
#block-kulturrucksack-theme-usermenu {
  grid-column: 4;
  grid-row: 1 / 5; /* Zieht den Login oder das User-Menü über die ganze Höhe */
}

/* Gemeinsame Padding-Stile für die Blöcke */
.region-content-footer > nav,
.region-content-footer > .block {
  padding: 24px 30px;
  position: relative;
  z-index: 2;
}

.region-content-footer h2 {
  margin: 0 0 12px;
  color: #fff;
  font-weight: 700;
  font-size: 1em;
}

.region-content-footer .nav-link {
  color: #fff !important;
  font-size: 13px;
  padding: 2px 0;
  text-decoration: none;
}

.region-content-footer .nav-link:hover {
  text-decoration: underline;
}

/* ==========================================================================
   LOGIN-BLOCK SPEZIFISCH
   ========================================================================== */

#block-kulturrucksack-theme-benutzeranmeldung::before {
  content: "Login für Kulturrucksack-Beauftragte";
  display: block;
  font-weight: 700;
  margin-bottom: 12px;
  font-size: 1em;
}

#block-kulturrucksack-theme-benutzeranmeldung input[type="text"],
#block-kulturrucksack-theme-benutzeranmeldung input[type="password"] {
  width: 100%;
  max-width: 180px;
  height: 24px;
  background: #fff;
  border: none !important;
  margin-bottom: 8px;
  padding: 0 8px;
  color: #000;
}

#block-kulturrucksack-theme-benutzeranmeldung input[type="submit"] {
  background: #000 !important;
  color: #fff !important;
  border: none;
  padding: 8px 20px;
  font-weight: 400;
  font-size: 13px;
  box-shadow: 2px 2px 5px rgba(0,0,0,0.4);
  cursor: pointer;
  margin-top: 5px;
  border-radius: 0px;
}

#block-kulturrucksack-theme-benutzeranmeldung .custom-request-password-link a {
  color: #fff;
  font-size: 12px;
  text-decoration: none;
  display: inline-block;
  margin-top: 8px;
}

#block-kulturrucksack-theme-benutzeranmeldung .item-list {
  display: none;
}

/* ==========================================================================
   ADMIN / REDAKTION – Titel nebeneinander
   ========================================================================== */

#block-kulturrucksack-theme-adminredaktion > h2 {
  display: flex;
  gap: 6px;
  white-space: nowrap;
}





/* 5.3. Formular-Elemente (Login)
   -------------------------------------------------------------------------- */
.region-content-footer .form-item {
  margin-bottom: 14px;
}
.region-content-footer label {
  display: none;
}
.region-content-footer input[type="text"],
.region-content-footer input[type="email"],
.region-content-footer input[type="password"] {
  width: 100%;
  padding: 2px;
  border: none !important;
  border-radius: 0;
  color: #000;
  background: #fff;
}
.region-content-footer input[type="submit"] {
  background: #000;
  color: #fff;
  border: none !important;
  padding: 12px 24px;
  font-weight: 700;
  font-size: .9em;
  box-shadow: 2px 2px 5px rgba(0,0,0,.3);
  cursor: pointer;
}
.region-content-footer .item-list a {
  color: #fff;
  font-size: .9em;
  text-decoration: none;
}
.region-content-footer .item-list a:hover {
  text-decoration: underline;
}

.region-footer td {
  border: none !important;
}

/* ==========================================================================
   6. RESPONSIVE ANPASSUNGEN (Media Queries)
   ========================================================================== */

@media (max-width: 980px) {
  .region-content-footer {
    grid-template-columns: 1fr 1fr;
  }
  .region-content-footer > .block:nth-child(3)::before {
    left: 0;
    width: 200%;
  }
}

@media (max-width: 640px) {
  .region-content-footer {
    grid-template-columns: 1fr;
  }
  .region-content-footer > .block:nth-child(3)::before {
    width: 100%;
    height: 45%;
    min-height: 200px;
    box-shadow: none;
  }
}

.region-content-footer #block-kulturrucksack-theme-benutzeranmeldung-2 .custom-request-password-link {
  margin-top: 15px;
}

.region-content-footer #block-kulturrucksack-theme-benutzeranmeldung-2 .custom-request-password-link a {
  color: #ffffff;
  font-size: 0.9em;
  text-decoration: none;
}

.region-content-footer #block-kulturrucksack-theme-benutzeranmeldung-2 .custom-request-password-link a:hover {
  text-decoration: underline;
}

.region-content-footer #block-kulturrucksack-theme-benutzeranmeldung-2 .item-list {
  display: none;
}


.video-wrapper video {
  width: 100%;
  height: auto;
  display: block;
}

/* ==========================================================================
   Stile für die Interaktive NRW-Karte
   ========================================================================== */


.nrw-map-master-wrapper {
    padding-left: 20px;
    padding-right: 20px !important;
    background-color: #fff;
    position: relative;
}

.map-main-title {
    position: absolute;
    top: 50px;
    left: 45px;
    width: 100%;
    z-index: 100;
    font-weight: bold;
    font-size: 1.4rem;
    color: #413e41;
    pointer-events: none;
}

.legend-area {
    padding-top: 80px;
    padding-left: 25px;
}

.search-container #map-search-input {
    border: 2px solid #9C4C94 !important;
    border-radius: 0;
    margin-bottom: 10px;
    height: 25px;
}

.btn-kulturrucksack {
  background-color: #9d4c94;
  background-image: url(../images/button_bg.gif);
  background-repeat: repeat-x;
  padding: 0.3em 1.1em;
  color: #fff;
  cursor: pointer;
  border: 0 !important;
  margin-right: 0.2em !important;
  -moz-box-shadow: 0 0 5px #b9b8b9;
  -webkit-box-shadow: 0 0 5px #b9b8b9;
  box-shadow: 0 0 5px #b9b8b9;
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
  margin-left: 0px;
}

#map-search-btn:hover, 
#map-search-btn:focus, 
#map-search-btn:active,
#map-search-btn:focus-visible {
    background-color: #9d4c94 !important;
    background-image: url(../images/button_bg.gif) !important;
    background-repeat: repeat-x !important;
    box-shadow: 0 0 5px #b9b8b9 !important;
    color: #fff !important;
        border: 0 !important;
    outline: none !important;
        transform: none !important; 
        cursor: pointer !important;
}

#map-search-btn {
    width: auto !important;
}

.map-legend-image img {
    max-width: 250px;
    height: auto;
    display: block;
}

.map-area {
    position: relative;
}

.karten-wrapper {
    position: relative;
    background: #fff;
}

.karten-hintergrund {
    width: 100%;
    height: auto;
    display: block;
}

.karten-punkt {
    position: absolute;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    transform: translate(-50%, -50%);
    z-index: 20;
    transition: transform 0.1s ease, border-color 0.1s ease;
}

.karten-punkt:hover {
    transform: translate(-50%, -50%) scale(1.4);
    z-index: 1000;
    border-color: #000;
}

.kulturrucksack_map-icon-3 { background-color: #B1C800; } /* 2012: Grün */
.kulturrucksack_map-icon-1 { background-color: #802d89; } /* 2013: Lila */
.kulturrucksack_map-icon-4 { background-color: #2ab6d5; } /* 2014: Türkis */
.kulturrucksack_map-icon-2 { background-color: #f15a22; } /* 2015: Orange */
.kulturrucksack_map-icon-5 { background-color: #ffc20e; } /* 2016: Gelb */
.kulturrucksack_map-icon-6 { background-color: #e3007f; } /* 2017: Pink */
.kulturrucksack_map-icon-7 { background-color: #005a9c; } /* 2021: Blau */

#standorte-hover {
    position: absolute;
    background: #fff;
    padding: 6px 12px;
    border: 2px solid #9C4C94;
    border-radius: 4px;
    z-index: 9999;
    font-weight: bold;
    color: #333;
    pointer-events: none;
    white-space: nowrap;
    box-shadow: 3px 3px 10px rgba(0,0,0,0.2);
}


.view-id-frontpage {
    background-color: #3f3d3d;
    margin-top: 20px;
    margin-bottom: 20px;
}

.view-id-frontpage .view-header h2 {
    color: #ffffff;
    font-size: 1.5rem;
    margin-bottom: 20px;
}

.view-id-frontpage article.node--view-mode-teaser {
    background: #ffffff;
    margin-bottom: 15px;
    padding: 20px;
    display: flex;
    gap: 20px;
    border-radius: 2px;
}

.view-id-frontpage article.node--view-mode-teaser h2 a {
    color: #9C4C94 !important;
    text-decoration: none;
    font-weight: bold;
    font-size: 1.4rem;
}

.view-id-frontpage .node--view-mode-teaser .field--type-image {
    flex-shrink: 0;
    width: 150px;
}

.view-id-frontpage .node--view-mode-teaser img {
    width: 100%;
    height: auto;
}

.view-id-frontpage .node__links a {
    color: #9C4C94;
    font-weight: bold;
    text-decoration: none;
}


.masquerade-block-form {
  background: white;
  padding: 20px;
}

.view-frontpage.view-display-id-block_1 {
  background: #1a1a1a;;
}

.view-frontpage.view-display-id-block_1 .news-header-bar {
  background: #3f3d3d;
  color: #fff;
  font-size: 18px;
  padding: 8px 10px;
  border: 1px solid rgba(255,255,255,.2);
}

.view-frontpage.view-display-id-block_1 .newsfeed-row {
  display: grid !important;
  grid-template-columns: 57px 1fr !important;
  column-gap: 10px;                      
  align-items: start;
  background: #fff;
  padding: 10px 12px;                 
}


.view-frontpage.view-display-id-block_1 .newsfeed-row .views-field-field-news-images {
  grid-column: 1 !important;
  grid-row: 1 / span 10 !important;
    width: 57px !important;
  max-width: 57px !important;
}

.view-frontpage.view-display-id-block_1 .newsfeed-row .views-field-field-news-images img {
  width: 57px !important;
  height: 57px !important;
  display: block !important;
  object-fit: cover; 
  border-radius: 2px; 
}


.view-frontpage.view-display-id-block_1 .newsfeed-row .views-field-title {
  margin: 0 !important;
  line-height: 1.2;
}

.view-frontpage.view-display-id-block_1 .newsfeed-row .views-field-field-news-teaser p {
  margin: 2px 0 0 0 !important;
  font-size: .95rem;
  color: #333;
}


.view-frontpage.view-display-id-block_1 .newsfeed-row .views-field-field-artikelbild,
.view-frontpage.view-display-id-block_1 .newsfeed-row .views-field-field-image,
.view-frontpage.view-display-id-block_1 .newsfeed-row .views-field-field-vng-image-thumbnail {
  display: none !important;
}

.view-frontpage.view-display-id-block_1 .newsfeed-row .views-field-title a {
  color: #9c3d91;
  font-weight: 700;
  text-decoration: none;
  font-size: 1.05rem;
}

.view-frontpage.view-display-id-block_1 .newsfeed-row .views-field-field-news-teaser p {
  margin: 4px 0 0 0;
  font-size: .95rem;
  color: #333;
}


.views-field-view-node a {
    font-size: 1em;
}

.view-frontpage.view-display-id-block_1
.newsfeed-row .views-field-view-node a,
.view-frontpage.view-display-id-block_1
.newsfeed-row .views-field-path a {
  display: inline-block;
  color: #9c3d91;
  text-decoration: none;
  font-size: 1em;
  font-weight: 500;
}

.view-frontpage.view-display-id-block_1
.newsfeed-row .views-field-view-node a:hover,
.view-frontpage.view-display-id-block_1
.newsfeed-row .views-field-path a:hover {
  text-decoration: underline;
}


.toolbar .toolbar-menu {
  color: black;
}

body.path-frontpage .region-content {
    display: flex !important;
    flex-direction: column !important;
}

#block-kulturrucksack-theme-main-page-content {
    order: -1 !important;
}

#block-kulturrucksack-theme-page-title {
    order: -2 !important;
}

#block-kulturrucksack-theme-frontpagenrwkarte {
    order: 1 !important;
    margin-bottom: 0px;
}

#block-kulturrucksack-theme-blockvideodown {
    order: 2 !important;
}

.region-content > .block {
    order: 3;
}


.frontpage-upper-region {
  display: flex;
  align-items: flex-start;
  gap: 30px;
  padding: 0 20px;
}

.region-sidebar-first {
  background: #fff;
  flex: 0 0 280px;
  max-width: 280px;
  margin-right: 10px;
  margin-left: 0px;
  margin-top: 80px;
  width: unset;
}

.region-sidebar-first h2 {
  margin: 0;
  padding: 10px;
  background: #222;
  color: #fff;
  font-size: 1.2rem;
}

.region-sidebar-first form {
  padding: 15px;
}

.region-content-top {
  flex-grow: 1;
}

.block-highlight-veranstaltung article {
  position: relative;
  overflow: hidden;
}

.block-highlight-veranstaltung .node__content {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 15px;
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
}

.block-highlight-veranstaltung h2 a {
  color: #fff !important;
  font-size: 1.2rem;
}

.region-breadcrumb {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 0;
  position: relative;
}

.region-breadcrumb .form-item label {
  font-weight: 600;
}

#block-kulturrucksack-theme-filteroptionenkulturplanerpage-1 {
  flex: 0 0 220px;
  overflow: hidden;
  margin-right: 40px;
  padding: 0;
  background: #fff;
  border: 1px solid #ccc;
}

#block-kulturrucksack-theme-filteroptionenkulturplanerpage-1 h2 {
  height: 30px;
  line-height: 30px;
  margin: 0;
  padding: 0 10px;
  background: #222 url("/themes/kulturrucksack_theme/images/bg_blocktitle.png") no-repeat 0 0 !important;
  color: #fff;
  font-size: 16px;
}

#block-kulturrucksack-theme-filteroptionenkulturplanerpage-1 .form--inline {
  display: block !important;
}

#block-kulturrucksack-theme-filteroptionenkulturplanerpage-1 .form-item {
  display: block !important;
  width: auto !important;
  margin: 5px 15px !important;
}

#block-kulturrucksack-theme-filteroptionenkulturplanerpage-1 label {
  display: block;
  margin-bottom: 2px;
  color: #413e41;
  font-size: 14px;
  font-weight: bold;
}

#block-kulturrucksack-theme-filteroptionenkulturplanerpage-1 .form-select {
  width: 100% !important;
  padding: 0 5px !important;
  border: 1px solid #ccc;
  border-radius: 0 !important;
  font-size: 11px !important;
  line-height: 20px !important;
}

#block-kulturrucksack-theme-filteroptionenkulturplanerpage-1 .form-actions {
  display: block !important;
  text-align: center;
  margin: 10px 15px 0 15px !important;
  padding: 0 !important;
}

#edit-submit-kulturplaner {
  width: 100% !important;
  height: 25px !important;
  line-height: 25px !important;
  padding: 0 !important;
  background-color: #9d4c94 !important;
  background-image: url("/themes/kulturrucksack_theme/images/button_bg.gif") !important;
  background-repeat: repeat-x !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: bold !important;
  text-transform: none !important;
  cursor: pointer;
  box-shadow: 0 0 5px #b9b8b9 !important;
}

#edit-submit-kulturplaner:hover {
  background-color: #9d4c94 !important;
  opacity: 1 !important;
}

#block-kulturrucksack-theme-veranstaltungstartseite {
  flex: 0 0 720px;
  width: 720px;
  position: relative;
}

#block-kulturrucksack-theme-veranstaltungstartseite h2 {
  display: none !important;
}

#block-kulturrucksack-theme-filteroptionenkulturplanerpage-1 #edit-field-vng-sparten-target-id {
  height: 80px;
}



.node--type-veranstaltung.node--view-mode-teaser {
  position: relative;
  height: 100%;
}

.node--type-veranstaltung.node--view-mode-teaser .field--name-field-image img,
.node--type-veranstaltung.node--view-mode-teaser .field--name-field-vng-image-banner img {
  display: block;
  width: 100%;
  height: auto;
}

.node--type-veranstaltung.node--view-mode-teaser .node__content {
  left: 0;
  right: 0;
  bottom: 0;
  padding: 15px;
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  z-index: 10;
}

.node--type-veranstaltung.node--view-mode-teaser h2 a {
  color: #fff !important;
  font-size: 1.3rem;
  text-decoration: none;
}

.node--type-veranstaltung.node--view-mode-teaser .field {
  color: #fff;
}

#veranstaltung-node-form div #edit-field-vng-angebotspreis .form-item label span.price-none {
  display: block;
  float: left;
  height: 25px;
  padding-left: 30px;
  background: url("/themes/kulturrucksack_theme/images/icon_angebot_kostenlos.png") no-repeat top left transparent;
}

label[for^="edit-field-vng-angebotspreis-54"]::before,
label[for^="edit-field-vng-angebotspreis-53"]::before,
label[for^="edit-field-vng-angebotspreis-55"]::before,
label[for^="edit-field-vng-veranstaltungsart"]::before,
label[for="edit-field-vng-anmeldungsart-3"]::before,
label[for="edit-field-vng-anmeldungsart-4"]::before,
label[for="edit-field-vng-anmeldungsart-5"]::before {
  content: "";
  display: inline-block;
  width: 25px;
  height: 25px;
  margin-right: 10px;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

label[for^="edit-field-vng-angebotspreis-54"]::before {
  background-image: url("/themes/kulturrucksack_theme/images/icon_angebot_kostenlos.png");
}

label[for^="edit-field-vng-angebotspreis-53"]::before {
  background-image: url("/themes/kulturrucksack_theme/images/icon_angebot_ermaessigt.png");
}

label[for^="edit-field-vng-angebotspreis-55"]::before {
  background-image: url("/themes/kulturrucksack_theme/images/icon_angebot_kostenpflichtig.png");
}

label[for^="edit-field-vng-veranstaltungsart"]::before {
  background-image: url("/themes/kulturrucksack_theme/images/icon_rucksack.png");
}

label[for="edit-field-vng-anmeldungsart-3"]::before {
  background-image: url("/themes/kulturrucksack_theme/images/icon_angebot_einzel.png");
}

label[for="edit-field-vng-anmeldungsart-4"]::before {
  background-image: url("/themes/kulturrucksack_theme/images/icon_angebot_gruppe.png");
}

label[for="edit-field-vng-anmeldungsart-5"]::before {
  background-image: url("/themes/kulturrucksack_theme/images/icon_anmeldung_keine.png");
}

#edit-field-vng-anmeldungsart-wrapper legend,
#edit-field-vng-angebotspreis-wrapper legend {
  margin-bottom: 10px;
  color: #333;
  font-weight: bold;
}

.field--name-field-vng-anmeldungsart,
.field--name-field-vng-region,
.field--name-field-vng-angebotspreis,
.field--name-field-vng-veranstaltungsart {
  display: inline-block !important;
  vertical-align: middle;
  margin-right: 12px;
  margin-bottom: 8px;
}

.field--name-field-vng-anmeldungsart a,
.field--name-field-vng-region a,
.field--name-field-vng-angebotspreis a,
.field--name-field-vng-veranstaltungsart .field__item {
  display: inline-block;
  font-size: 0 !important;
  line-height: 0;
  text-decoration: none;
}

.field--name-field-vng-anmeldungsart .field__item a::before,
.field--name-field-vng-region .field__item a::before,
.field--name-field-vng-angebotspreis .field__item a::before,
.field--name-field-vng-veranstaltungsart .field__item::before {
  content: "";
  display: inline-block;
  width: 25px;
  height: 25px;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

[href*="einzelperson"]::before {
  background-image: url("/themes/kulturrucksack_theme/images/icon_anmeldung_einzelperson.png");
}

[href*="gruppe"]::before {
  background-image: url("/themes/kulturrucksack_theme/images/icon_anmeldung_gruppe.png");
}

[href*="moeglich"]::before {
  background-image: url("/themes/kulturrucksack_theme/images/icon_anmeldung_keine.png");
}

[href*="lokal"]::before {
  background-image: url("/themes/kulturrucksack_theme/images/icon_angebot_lokal.png");
}

[href*="kostenlos"]::before {
  background-image: url("/themes/kulturrucksack_theme/images/icon_angebot_kostenlos.png");
}

[href*="ermaessigter"]::before {
  background-image: url("/themes/kulturrucksack_theme/images/icon_angebot_ermaessigt.png");
}

[href*="regulaer"]::before {
  background-image: url("/themes/kulturrucksack_theme/images/icon_angebot_kostenpflichtig.png");
}

.field--name-field-vng-veranstaltungsart .field__item::before {
  background-image: url("/themes/kulturrucksack_theme/images/icon_rucksack.png");
}

.bef-exposed-form .form--inline > .form-item,
.bef-exposed-form .form--inline .js-form-wrapper > .form-item {
  float: none !important;
}

#block-kulturrucksack-theme-adaptivetheme-kulturrucksack-block-14 {
  z-index: 50;
}

#block-kulturrucksack-theme-adaptivetheme-kulturrucksack-block-14 .multilang-block br {
  display: none;
}

#block-kulturrucksack-theme-adaptivetheme-kulturrucksack-block-14 .multilang-block a {
  display: block;
  margin: 0;
}

#block-kulturrucksack-theme-adaptivetheme-kulturrucksack-block-14 .multilang-block img {
  display: block;
}

.node--type-veranstaltung.node--view-mode-teaser-startseite {
  position: relative;
  width: 720px;
  overflow: hidden;
}

.node--type-veranstaltung.node--view-mode-teaser-startseite > h2 {
  display: none;
}

.node--type-veranstaltung.node--view-mode-teaser-startseite .node__content {
  position: relative;
  padding: 0;
  width: 720px;
  display: block !important;
}

.node--type-veranstaltung.node--view-mode-teaser-startseite .field--name-field-vng-image-banner,
.node--type-veranstaltung.node--view-mode-teaser-startseite .field--name-field-vng-image-banner img {
  display: block;
  width: 720px !important;
  height: auto;
  margin: 0;
  padding: 0;
}

.node--view-mode-teaser-startseite .event-image-wrapper {
  width: 720px;
  height: 320px;
  overflow: hidden;
  margin: 0 0 15px 0;
}

.node--view-mode-teaser-startseite .event-image-wrapper img {
  width: 100% !important;
  height: 320px !important;
  object-fit: cover;
  display: block;
}

.node--type-veranstaltung.node--view-mode-teaser-startseite .field--name-field-vng-image-banner img {
  height: 320px;
  object-fit: cover;
}

.node--type-veranstaltung.node--view-mode-teaser-startseite .node__content::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 70px;
  background: rgba(0, 0, 0, 0.8) url("/themes/kulturrucksack_theme/images/bg_slider_title.gif") no-repeat left bottom;
  z-index: 1;
}

.node--type-veranstaltung.node--view-mode-teaser-startseite .field--name-field-field-vng-address,
.node--type-veranstaltung.node--view-mode-teaser-startseite .field--name-field-vng-datum {
  position: absolute;
  left: 15px;
  z-index: 10;
  color: #fff;
  padding-right: 14px;
}

.node--type-veranstaltung.node--view-mode-teaser-startseite .field--name-field-field-vng-address {
  bottom: 32px;
  font-size: 1.05rem;
  font-weight: bold;
}

.node--type-veranstaltung.node--view-mode-teaser-startseite .field--name-field-field-vng-address,
.node--type-veranstaltung.node--view-mode-teaser-startseite .field--name-field-field-vng-address p {
  white-space: nowrap;
  margin: 0;
}

.node--type-veranstaltung.node--view-mode-teaser-startseite .field--name-field-field-vng-address br {
  display: none;
}

.node--type-veranstaltung.node--view-mode-teaser-startseite .field--name-field-vng-datum {
  bottom: 10px;
  font-size: 0.9rem;
  opacity: 0.95;
  color: #eee;
}

.node--type-veranstaltung.node--view-mode-teaser-startseite .field--name-field-vng-anmeldungsart,
.node--type-veranstaltung.node--view-mode-teaser-startseite .field--name-field-vng-angebotspreis,
.node--type-veranstaltung.node--view-mode-teaser-startseite .field--name-field-vng-veranstaltungsart {
  position: absolute;
  bottom: 15px;
  z-index: 20;
}

.node--type-veranstaltung.node--view-mode-teaser-startseite .field--name-field-vng-veranstaltungsart {
  right: 15px;
}

.node--type-veranstaltung.node--view-mode-teaser-startseite .field--name-field-vng-angebotspreis {
  right: 55px;
}

.node--type-veranstaltung.node--view-mode-teaser-startseite .field--name-field-vng-anmeldungsart {
  right: 95px;
}

#block-kulturrucksack-theme-veranstaltungstartseite .node--view-mode-teaser-startseite [href*="einzelperson"]::before,
#block-kulturrucksack-theme-veranstaltungstartseite .node--view-mode-teaser-startseite [href*="gruppe"]::before,
#block-kulturrucksack-theme-veranstaltungstartseite .node--view-mode-teaser-startseite [href*="moeglich"]::before,
#block-kulturrucksack-theme-veranstaltungstartseite .node--view-mode-teaser-startseite [href*="lokal"]::before,
#block-kulturrucksack-theme-veranstaltungstartseite .node--view-mode-teaser-startseite [href*="kostenlos"]::before,
#block-kulturrucksack-theme-veranstaltungstartseite .node--view-mode-teaser-startseite [href*="ermaessigter"]::before,
#block-kulturrucksack-theme-veranstaltungstartseite .node--view-mode-teaser-startseite [href*="regulaer"]::before,
#block-kulturrucksack-theme-veranstaltungstartseite .node--view-mode-teaser-startseite .field--name-field-vng-veranstaltungsart .field__item::before {
  content: "";
  display: inline-block;
  width: 30px;
  height: 30px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  vertical-align: middle;
  position: relative;
  z-index: 100;
}

.node--view-mode-teaser-startseite [href*="ermaessigter"]::before {
  background-image: url("/themes/kulturrucksack_theme/images/icon_angebot_ermaessigt_g.png");
}

.node--view-mode-teaser-startseite [href*="moeglich"]::before {
  background-image: url("/themes/kulturrucksack_theme/images/icon_anmeldung_keine_g.png");
}

.node--view-mode-teaser-startseite [href*="einzelperson"]::before {
  background-image: url("/themes/kulturrucksack_theme/images/icon_anmeldung_einzelperson_g.png");
}

.node--view-mode-teaser-startseite [href*="kostenlos"]::before {
  background-image: url("/themes/kulturrucksack_theme/images/icon_angebot_kostenlos_gr.png");
}

.node--view-mode-teaser-startseite .field--name-field-vng-veranstaltungsart .field__item::before {
  background-image: url("/themes/kulturrucksack_theme/images/icon_rucksack_g.png");
}

.node--view-mode-teaser-startseite .field--name-field-vng-anmeldungsart a,
.node--view-mode-teaser-startseite .field--name-field-vng-angebotspreis a,
.node--view-mode-teaser-startseite .field--name-field-vng-veranstaltungsart .field__item {
  pointer-events: none !important;
  cursor: default !important;
  display: inline-block;
}



#block-kulturrucksack-theme-views-block-kommunen-logos-slider-block-1 {
    background-color: #ffffff !important;
    border: 5px solid #888888 !important; 
    margin: 40px 0px !important;         
    padding: 10px 0 !important;           
    width: auto !important;
    box-shadow: none;
    clear: both;
    height: 100px;
}

.view-kommunen-logos-slider .slick-slide img {
    height: 58px !important;             
    max-width: 200px !important;         
    width: auto !important;              
    object-fit: contain !important;      
    margin: 0 auto !important;           
    display: block;
    padding: 0 15px;
    background: transparent !important;
}

.view-kommunen-logos-slider .slick-arrow,
.view-kommunen-logos-slider .slick-dots,
#block-kulturrucksack-theme-views-block-kommunen-logos-slider-block-1 h2 {
    display: none !important;
}

.slick__slide, 
.media,
.media--blazy, 
.media--slick, 
.media--ratio,
.is-b-loading, 
.is-b-loaded,
.slick-slide {
    background-color: transparent !important;
    background-image: none !important;
}

.is-b-loading::before, 
.is-b-loading::after,
.media--loading::before {
    display: none !important;
    content: none !important;
}



/* ==========================================================================
   WEISSER KASTEN FÜR INHALTSSEITEN (DETAILSEITEN)
   ========================================================================== */

body:not(.path-frontpage) main .container {
    background-color: #ffffff !important;
    max-width: 980px; 
    margin-top: 30px;
    padding: 20px;
    box-shadow: 0 0 10px #b9b8b9;
    -webkit-box-shadow: 0 0 10px #b9b8b9;
    -moz-box-shadow: 0 0 10px #b9b8b9;
    width: 100%;
}

body:not(.path-frontpage) main .content-footer-wrapper {
margin-top: 0px;
}

body:not(.path-frontpage) #block-kulturrucksack-theme-adaptivetheme-kulturrucksack-block-14 {
    position: absolute;
    right: -60px; /* Schiebt den Block rechts aus dem weißen Kasten raus */
    width: 35px;  /* Feste Breite für die Flaggen-Spalte */
    margin: 0;
    padding: 0;
    z-index: 100;
}

body:not(.path-frontpage) h1 {
  font-size: 20px;
  margin-bottom: 20px !important;
}

#block-kulturrucksack-theme-seitentitel {
  margin-bottom: 60px;
}


/* ==========================================================================
   1. FORMULAR-FIXES (FOKUS, CHECKBOXEN, RADIOS)
   ========================================================================== */

/* Fokus-Zustand bereinigen */
input:focus, select:focus, .form-control:focus, .form-check-input:focus {
    outline: none !important;
    box-shadow: none !important;
    background-color: #fff !important; 
    border-color: #9C4C94 !important;
}

/* Checkboxen & Radios: Sofortiger Haken/Punkt (Offline-sicher) */
.form-check-input:checked {
    background-color: #0d6efd !important;
    border-color: #0d6efd !important;
}

.form-check-input[type="checkbox"]:checked {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e") !important;
}

/* Radios vergrößern und Punkt setzen */
.form-check-input[type="radio"] {
    width: 1.25em !important;
    height: 1.25em !important;
}

.form-check-input[type="radio"]:checked {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e") !important;
}

.form-check-input:active {
    filter: brightness(90%);
}

/* ==========================================================================
   2. BESCHRIFTUNGEN & LAYOUT (DETAILSEITE)
   ========================================================================== */

.view-kulturplaner label[for*="-min"],
.view-kulturplaner label[for*="-max"],
#block-kulturrucksack-veranstaltungblock-1 label[for*="-min"],
#block-kulturrucksack-veranstaltungblock-1 label[for*="-max"],
#block-kulturrucksack-theme-kulturplaner-veranstaltungblock-1 label[for*="-min"],
#block-kulturrucksack-theme-kulturplaner-veranstaltungblock-1 label[for*="-max"],
#block-kulturrucksack-kulturplaner-veranstaltungblock-2 label[for*="-min"],
#block-kulturrucksack-kulturplaner-veranstaltungblock-2 label[for*="-max"] {
    font-size: 0;
    line-height: 0;
    color: transparent;
}

.view-kulturplaner label[for*="-min"]::after,
#block-kulturrucksack-veranstaltungblock-1 label[for*="-min"]::after,
#block-kulturrucksack-theme-kulturplaner-veranstaltungblock-1 label[for*="-min"]::after,
#block-kulturrucksack-kulturplaner-veranstaltungblock-2 label[for*="-min"]::after {
    content: "Von";
    font-size: 16px;
    font-weight: bold;
    color: #413e41;
    visibility: visible;
    display: block;
    margin-bottom: 5px;
}

.view-kulturplaner label[for*="-max"]::after,
#block-kulturrucksack-veranstaltungblock-1 label[for*="-max"]::after,
#block-kulturrucksack-theme-kulturplaner-veranstaltungblock-1 label[for*="-max"]::after,
#block-kulturrucksack-kulturplaner-veranstaltungblock-2 label[for*="-max"]::after {
    content: "Bis";
    font-size: 16px;
    font-weight: bold;
    color: #413e41;
    visibility: visible;
    display: block;
    margin-bottom: 15px;
}

.page-node-type-veranstaltung .region-content {
    display: flex !important;
    flex-wrap: wrap; 
    align-items: flex-start;
    gap: 30px;
}

.page-node-type-veranstaltung #block-kulturrucksack-theme-seitentitel {
    flex: 0 0 100%;
}

#block-kulturrucksack-theme-kulturplaner-veranstaltungblock-1 {
    flex: 0 0 220px;
    width: 220px;
    background: #fff;
    border: 1px solid #ccc;
    padding: 0 !important;
}

.page-node-type-veranstaltung article.node--type-veranstaltung {
    flex: 1;
    min-width: 0;
}

/* ==========================================================================
   3. BLOCK-HEADER (GLOSSY)
   ========================================================================== */

#block-kulturrucksack-theme-kulturplaner-veranstaltungblock-1 h2 {
    background: #000 url("../images/bg_blocktitle.png") no-repeat 0 0 !important;
    display: block !important;
    color: #fff !important;
    height: 33px !important;
    line-height: 33px !important;
    padding: 0 13px !important;
    font-size: 16px !important;
    font-weight: normal !important;
    margin: 0 !important;
    border-radius: 0 !important;
}

#block-kulturrucksack-theme-kulturplaner-veranstaltungblock-1 fieldset {
  border: none;
}

#block-kulturrucksack-theme-kulturplaner-veranstaltungblock-1 .fieldset-legend {
  font-size: 16px;
  font-weight: bold;
}

/* ==========================================================================
   4. KULTURPLANER INHALT & DROPDIOWNS
   ========================================================================== */

#block-kulturrucksack-theme-kulturplaner-veranstaltungblock-1 .js-form-item-field-vng-kommune-target-id,
#block-kulturrucksack-theme-kulturplaner-veranstaltungblock-1 fieldset,
#block-kulturrucksack-theme-kulturplaner-veranstaltungblock-1 .field--name-field-digitalangebot-value {
    padding: 10px !important;
    background: #fff;
    display: block !important;
    margin-bottom: 0px !important;
  padding-bottom: 0px !important;
}

#block-kulturrucksack-theme-kulturplaner-veranstaltungblock-1 label,
#block-kulturrucksack-theme-kulturplaner-veranstaltungblock-1 legend {
    font-size: 16px !important;
    font-weight: bold !important;
    color: #413e41;
    display: block;
    width: auto;
    padding: 0;
}

#edit-field-vng-kommune-target-id,
#edit-field-vng-datum-value,
.form-select {
    width: 100% !important;
}

#edit-field-vng-datum-value-1-wrapper {
    border: none !important;
    margin: 0 !important;
    padding: 10px 0 0 0 !important;
    background: transparent !important;
}

#block-kulturrucksack-theme-kulturplaner-veranstaltungblock-1 .form-check {
    margin-bottom: 0px;
}

#block-kulturrucksack-theme-kulturplaner-veranstaltungblock-1 .form-check-label {
    font-size: 12px;
    font-weight: normal !important;
}

/* ==========================================================================
   5. BUTTON (LINKSBÜNDIG & ECKIG)
   ========================================================================== */

#block-kulturrucksack-theme-kulturplaner-veranstaltungblock-1 .form-actions {
    margin: 10px 15px 20px 15px !important;
    padding: 0 !important;
    text-align: left !important; /* LINKSBÜNDIG */
}

#edit-submit-kulturplaner-veranstaltung,
#edit-submit-kulturplaner-veranstaltung--2 {
    padding: 0 !important;
    border-radius: 0 !important; /* ECKIG */
    border: 0 !important;
    background-color: #9d4c94 !important;
    background-image: url("../images/button_bg.gif") !important;
    width: calc(100% - 30px) !important;
    color: #fff !important;
    font-weight: bold !important;
    cursor: pointer;
}

#block-kulturrucksack-theme-kulturplaner-veranstaltungblock-1 .form-select {
  padding: 0px 5px 0 5px !important;
}


/* 1. Inhalts-Region aufräumen */
/* Wir entfernen das Flexbox-Layout von vorhin, da das Menü nicht mehr hier liegt */
.region-content {
  display: block; 
}

/* 2. Der Seitentitel: Jetzt LINKSBÜNDIG */
#block-kulturrucksack-theme-kommunensidemenu,
#block-kulturrucksack-theme-seitentitel {
  width: 100%;
  margin-bottom: 30px;
  text-align: left; /* Zurück auf Links */
}
#block-kulturrucksack-theme-kommunensidemenu h1,
#block-kulturrucksack-theme-seitentitel h1 {
  margin-left: 0;
  padding-left: 0;
}

/* 3. Das Info-Menü in der SIDEBAR */
.region-sidebar-first #block-kulturrucksack-theme-infomenu {
  margin-top: 0;
}

/* Menü-Liste: Strich OBEN entfernt */
.region-sidebar-first #block-kulturrucksack-theme-infomenu ul.nav {
  flex-direction: column !important;
  border-top: none !important; /* WAAGERECHTER STRICH ÜBER IDEE WEG */
  padding: 0;
  margin: 0;
}

.region-sidebar-first #block-kulturrucksack-theme-kommunensidemenu ul.nav li,
.region-sidebar-first #block-kulturrucksack-theme-infomenu ul.nav li {
  border-bottom: 1px solid #e0e0e0;
  width: 100%;
}

/* Letzter Strich UNTER DOWNLOADS weg */
.region-sidebar-first #block-kulturrucksack-theme-kommunensidemenu ul.nav li:last-child,
.region-sidebar-first #block-kulturrucksack-theme-infomenu ul.nav li:last-child {
  border-bottom: none !important; 
}

.region-sidebar-first #block-kulturrucksack-theme-kommunensidemenu ul.nav li a:hover,
.region-sidebar-first #block-kulturrucksack-theme-infomenu ul.nav li a:hover {
  color: #9C4C94 !important;
}

.region-sidebar-first #block-kulturrucksack-theme-kommunensidemenu ul.nav li a, 
.region-sidebar-first #block-kulturrucksack-theme-infomenu ul.nav li a {
  display: block;
  padding: 12px 0;
  color: #444;
  text-decoration: none;
  font-size: 15px;
  background: transparent;
}

/* AKTIV-ZUSTAND (LILA) */
/* Wichtig: Funktioniert nur bei relativen Links im Menü (/info/...) */
.region-sidebar-first #block-kulturrucksack-theme-kommunensidemenu ul.nav li a-is-active,
.region-sidebar-first #block-kulturrucksack-theme-kommunensidemenu ul.nav li a.active,
.region-sidebar-first #block-kulturrucksack-theme-infomenu ul.nav li a.is-active,
.region-sidebar-first #block-kulturrucksack-theme-infomenu ul.nav li a.active {
  color: #9C4C94 !important; /* Dein Lila */
  font-weight: 500;
}

/* 4. Der Haupttext (Content) */
article.node {
  padding-right: 250px; /* 250px Weißraum RECHTS neben dem Text */
}

/* Responsive: Wenn es zu eng wird */
@media (max-width: 1200px) {
  article.node {
    padding-right: 0; /* Weißraum rechts weg bei kleineren Monitoren */
  }
}


/* --- Suche auf der Kulturkarte (Update: Button unter Input) --- */

.map-search-section {
    margin-bottom: 15px;
}

/* Das Label */
.map-search-section label.fw-bold {
    display: block;
    margin-bottom: 5px;
    font-size: 14px;
    color: #333;
}

/* Den Flex-Container von Bootstrap auf "Spalte" umstellen, 
   damit der Button unter das Input-Feld rutscht */
.map-search-section .d-flex {
    display: flex !important;
    flex-direction: column !important; /* Untereinander stapeln */
    align-items: flex-start; /* Links ausrichten */
    gap: 10px !important; /* Abstand zwischen Input und Button */
}

/* Das Eingabefeld (Input) - Style der alten Seite */
#map-search-input {
    border: 2px solid #9C4C94 !important; /* Lila Rahmen wie gewünscht */
    width: 580px !important; /* Breite angepasst an Karte */
    height: 30px; /* Höhe wie im Screenshot */
    padding: 2px 8px;
    border-radius: 0;
    box-shadow: none;
    font-size: 15px;
    background-color: #fff;
}

/* Der Button (jetzt unter dem Input) */
.btn-lila {
    background-color: #9d4c94;
    background-image: linear-gradient(to bottom, #d81b8c 0%, #b51f7a 35%, #8f2b6f 65%, #6b295a 100%);
    background-repeat: repeat-x;
    padding: 4px 15px;
    color: #fff;
    cursor: pointer;
    border: 0;
    border-radius: 2px;
    box-shadow: 0 0 5px #b9b8b9;
    font-size: 14px;
    height: auto;
    line-height: 1.2;
    display: inline-block;
}

.btn-lila:hover {
    filter: brightness(1.1);
    color: #fff;
}

/* Block-Abstand korrigieren */
#block-kulturrucksack-theme-kulturkarte .map-page-wrapper {
    padding-left: 0;
    margin-top: 20px;
}



/* Container für das gesamte Raster */
.view-teilnehmende-kommunen .views-view-grid {
  margin-top: 20px;
}

/* Jede einzelne Spalte/Zelle im Raster */
.view-teilnehmende-kommunen .views-col {
  padding: 15px;
}

/* Die Box um das Logo herum */
.view-teilnehmende-kommunen .views-field-field-komune-logo { /* Passe den Feldnamen ggf. an */
  border: 1px solid #e0e0e0; /* Der graue Rahmen */
  width: 220px;
  height: 220px;
  display: flex;
  align-items: center; /* Vertikal zentrieren */
  justify-content: center; /* Horizontal zentrieren */
  background-color: #ffffff;
  transition: border-color 0.3s ease;
  box-shadow: 0 0 5px #b9b8b9;
}

/* Optional: Ein leichter Schatten oder dunklerer Rahmen beim Drüberfahren */
.view-teilnehmende-kommunen .views-field-field-komune-logo:hover {
  box-shadow: 0 0 6px #22B9CA;
}

/* Das Bild selbst innerhalb der Box */
.view-teilnehmende-kommunen .views-field-field-komune-logo img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  display: block;
}

#block-kulturrucksack-theme-views-block-teilnehmende-kommunen-block-1 h2 {
  display: none;
}

#block-kulturrucksack-theme-views-block-teilnehmende-kommunen-block-1 .view-teilnehmende-kommunen .views-col {
  padding-top: 15px !important;
  padding-right: 15px !important;
  padding-left: 0px;
}

.region-sidebar-second {
  width: 100%;
  margin-left: 15px;
}

.kuruxSidebar img {
  width: 200px;
}

.kuruxSidebar p a {
  font-size: 14px;
}
/* --- Blog Header Bild --- */
.blog-main-header {
  text-align: center;
  margin-bottom: 40px;
}

.blog-main-header img {
  max-width: 100%;
  height: auto;
  border: 1px dotted #ccc; /* Der feine Rahmen aus Bild 2 */
  padding: 5px;
  box-shadow: 0 0 5px #b9b8b9;
}

/* --- Blog Liste & Beiträge --- */

.path-blog .region-sidebar-first {
  margin-top: 50px;
  margin-right: 0px !important;
  margin-left: -10px;
  padding-left: 0px;
  max-width: 230px;
}

body[class*="blog"] .region-sidebar-first {
  margin-top: 50px;
  margin-right: 0px !important;
  margin-left: -10px;
  padding-left: 0px;
  max-width: 230px;
}

#block-kulturrucksack-theme-blockinfo {
  border: 1px dotted #aaa;
  padding: 10px;
}

#block-kulturrucksack-theme-blockinfo strong {
  font-size: 14px;
}

#block-kulturrucksack-theme-blockinfo .h2-headline h2 {
  color: #9d4c94;
  line-height: 1;
  margin-bottom: 10px;
  background: none;
  font-weight: 700;
  padding-top: 10px;
  padding-right: 0px;
}

#block-kulturrucksack-theme-views-block-blog-archiv-block-1 h2 {
  background: none;
  color: #413e41;
  font-weight: 700;
}

#block-kulturrucksack-theme-filteroptionenblogpage-1 {
  border: 1px dotted #aaa;
}

#block-kulturrucksack-theme-filteroptionenblogpage-1 h2 {
background: url(/themes/kulturrucksack_theme/images/bg_blocktitle.png) no-repeat 0 0 transparent;
  color: #fff;
  padding: 0 13px;
  font-size: 16px;
  font-weight: normal;
  height: 33px;
  line-height: 33px;
}

#block-kulturrucksack-theme-filteroptionenblogpage-1 .form-select {
  width: 100% !important;
  height: 20px !important;
  font-size: 11px !important;
  line-height: 10px !important;
  border-radius: 0px;
}

#block-kulturrucksack-theme-filteroptionenblogpage-1 .form-item label {
  font-weight: 600;
  font-size: 12px;
}

#block-kulturrucksack-theme-filteroptionenblogpage-1 input.form-text {
  border: 1px solid #ccc;
  height: 20px;
  padding: 2px;
  border-radius: 0px;
}

#block-kulturrucksack-theme-filteroptionenblogpage-1 form input.form-submit {
  border-radius: 0px;
  height: 25px;
  font-size: 14px;
  line-height: 1;
}

#block-kulturrucksack-theme-filteroptionenblogpage-1 form input.form-submit:hover {
  background-color: none;
}

#block-kulturrucksack-theme-filteroptionenblogpage-1 .page-blog .region-content .views-row {
  padding-bottom: 60px;
  background: url('images/trennlinie.png') no-repeat center bottom transparent;
  margin-bottom: 20px;
}



.view-blog .views-field-title h2,
.view-blog-archiv .views-field-title h2 {
  margin-bottom: 5px;
  font-size: 1.5rem;
}

.view-blog .views-field-title a,
.view-blog-archiv .views-field-title a {
  color: #9C4C94 !important;
  text-decoration: none;
  font-weight: 700;
}

.view-blog .views-field-created, 
.view-blog-archiv .views-field-created,
.view-blog .views-field-field-blogautor,
.view-blog-archiv .views-field-field-blogautor,
.view-blog .views-field-field-vng-kommune,
.view-blog-archiv .views-field-field-vng-kommune {
  display: inline-block;
  font-size: 0.85rem;
  color: #333;
  margin-right: 0px;
}

.view-blog .views-field-field-blogautor,
.view-blog-archiv .views-field-field-blogautor {
  font-weight: 700;
}

.view-blog .views-field-created,
.view-blog-archiv .views-field-created {
  line-height: 1.9;
  margin-right: 5px;
}

.view-blog .views-field-field-vng-kommune,
.view-blog-archiv .views-field-field-vng-kommune {
  display: block; 
  margin-top: 2px;
}

.view-blog .views-field-field-artikelbild,
.view-blog-archiv .views-field-field-artikelbild {
  float: left;
  margin: 10px 20px 10px 0;
  border: 2px solid #fff;
  outline: 1px solid #ccc;
}

.view-blog .view-field-body-blog,
.view-blog-archiv .view-field-body-blog {
  line-height: 1.5;
  font-size: 0.95rem;
}

.view-blog .views-row,
.view-blog-archiv .views-row {
  padding-bottom: 60px;
  background: url('images/trennlinie.png') no-repeat center bottom transparent;
  margin-bottom: 20px;
}

.more-link, 
.view-blog .more-link a,
.view-blog-archiv .more-link a {
  color: #9C4C94;
  font-weight: bold;
  text-decoration: none;
  margin-left: 5px;
}

.view-blog .pager,
.view-kulturplaner .pager,
.view-blog-archiv .pager {
  width: 100%;             
  display: flex;           
  justify-content: center; 
  margin: 40px 0;
  clear: both;             
}

.view-blog .pagination,
.view-kulturplaner .pagination,
.view-blog-archiv .pagination {
  display: flex;
  flex-wrap: nowrap;       
  list-style: none;
  padding: 0;
  margin: 0;
  border: none;
}

.view-blog .page-item,
.view-blog-archiv .page-item,
.view-blog .pager__item,
.view-kulturplaner .page-item,
.view-kulturplaner .pager__item,
.view-blog-archiv .pager__item {
  margin: 0 3px;           
  background: none !important;
  border: none !important;
  white-space: nowrap;     
}

.view-blog .page-link,
.view-blog .pager__item a,
.view-blog-archiv .page_link,
.view-kulturplaner .page-link,
.view-kulturplaner .pager__item a,
.view-blog-archiv .pager__item a {
  color: #9C4C94 !important; 
  background: none !important;
  border: none !important;
  padding: 5px 5px;
  text-decoration: none;
  font-size: 14px;
}

.view-blog-archiv .pager__item.is-active a {
  color: #000 !important;
  font-weight: bold;
  background: none !important;
}

body[class*="blog"] .pager,
body.path-aktuelles .pager,
.view-kulturplaner .pager {
  width: 100%;             
  display: flex;           
  justify-content: center; 
  margin: 40px 0;
  clear: both;             
}

body[class*="blog"] .pagination,
body.path-aktuelles .pagination,
.view-kulturplaner .pagination {
  display: flex;
  flex-wrap: nowrap;
  list-style: none;
  padding: 0;
  margin: 0;
  border: none;
}

body[class*="blog"] .page-item,
body.path-aktuelles .page-item,
.view-kulturplaner .page-item {
  margin: 0 3px;           
  background: none !important;
  border: none !important;
  white-space: nowrap;     
}

body[class*="blog"] .page-link,
body.path-aktuelles .page-link,
.view-kulturplaner .page-link {
  color: #9C4C94 !important; 
  background: none !important;
  border: none !important;
  padding: 5px 5px;
  text-decoration: none;
  font-size: 14px;
}

body[class*="blog"] .page-link:hover,
body.path-aktuelles .page-link:hover,
.view-kulturplaner .page-link:hover {
  text-decoration: underline;
}

body[class*="blog"] .page-item.active .page-link,
body.path-aktuelles .page-item.active .page-link,
.view-kulturplaner .page-item.active .page-link {
  color: #000 !important;
  font-weight: bold;
  background: none !important;
}

body[class*="blog"] .page-item.disabled .page-link,
body.path-aktuelles .page-item.disabled .page-link,
.view-kulturplaner .page-item.disabled .page-link {
  color: #9C4C94;
  opacity: 0.7;
  background: none !important;
  border: none !important;
}

/* ==========================================================================
   KULTURPLANER: ÜBERSICHT – ABSOLUTE LISTEN-ANSICHT (HORIZONTALE ICONS)
   ========================================================================== */

/* 1) Jede Zeile als „Karte“ mit Platz links fürs absolute Bild */
.view-kulturplaner .views-row {
  position: relative;
  display: block !important;                 /* Kein Flex/Grid auf der Reihe */
  padding: 25px 0 25px 170px;                /* Platz links für das Bild */
  margin-bottom: 0;
  border-top: 1px solid #e0e0e0;
  min-height: 160px;
  clear: both;
}

.view-kulturplaner .views-row:first-child {
  border-top: none;
}

/* 2) Bild absolut links positionieren */
.view-kulturplaner .views-field-field-vng-image-banner,
.view-kulturplaner .views-field-field-image {
  position: absolute;
  left: 0;
  top: 25px;
  width: 140px;
}

.view-kulturplaner .views-field-field-vng-image-banner img,
.view-kulturplaner .views-field-field-image img {
  border: 4px solid #fff;
  box-shadow: 0 0 5px #b9b8b9;
  width: 130px;
  height: 130px;
  object-fit: cover;
}

/* 3) Text-Bereich: automatisch untereinander */
.view-kulturplaner .views-field-field-vng-datum,
.view-kulturplaner .views-field-title,
.view-kulturplaner .views-field-field-vng-beschreibung,
.view-kulturplaner .views-field-body {
  display: block;
  margin-bottom: 5px;
}

.view-kulturplaner .views-field-title a {
  color: #9C4C94 !important;
  font-size: 1.3rem !important;
  font-weight: 700;
  text-decoration: none;
  line-height: 1.2;
}

/* 4) Icons: nebeneinander (horizontal) */
.view-kulturplaner .views-field-field-vng-anmeldungsart,
.view-kulturplaner .views-field-field-vng-angebotspreis,
.view-kulturplaner .views-field-field-vng-veranstaltungsart {
  display: inline-block !important;
  margin-right: 15px;
  margin-top: 10px;
  vertical-align: middle;
}

/* 5) Icon-Ersatz (Pseudo-Elemente) */
.view-kulturplaner .views-field-field-vng-anmeldungsart a,
.view-kulturplaner .views-field-field-vng-angebotspreis a,
.view-kulturplaner .views-field-field-vng-veranstaltungsart .field-content {
  font-size: 0 !important;
  display: inline-block;
  width: 21px;
  height: 25px;
}

.view-kulturplaner .views-field-field-vng-anmeldungsart a::before,
.view-kulturplaner .views-field-field-vng-angebotspreis a::before,
.view-kulturplaner .views-field-field-vng-veranstaltungsart .field-content::before {
  content: "";
  display: block;
  width: 21px;
  height: 25px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.view-kulturplaner .views-field-field-vng-veranstaltungsart .field-content::before {
  background-image: url("/themes/kulturrucksack_theme/images/icon_rucksack.png");
}

#block-kulturrucksack-theme-filteroptionenkulturplanerpage-1 #edit-field-vng-datum-value--wrapper {
  height: 100px;
}

/* ==========================================================================
   KULTURPLANER: DETAIL & ÜBERSICHT – GEMEINSAMES LAYOUT (SIDEBAR + CONTENT)
   ========================================================================== */

/* 1) Spalten-Layout auf der Übersichts-/Detailseite */
.page-node-type-veranstaltung .region-content {
  display: flex !important;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 30px;
}

/* 2) Titel über volle Breite */
.page-node-type-veranstaltung #block-kulturrucksack-theme-seitentitel {
  flex: 0 0 100%;
}

/* 3) Filter-Block (Sidebar) */
#block-kulturrucksack-veranstaltungblock-1 {
  flex: 0 0 220px;
  width: 220px;
  background: #fff;
  border: 1px solid #ccc;
  padding: 0 !important;
  margin-bottom: 30px;
}

/* 4) Inhaltsbereich daneben */
.page-node-type-veranstaltung article.node--type-veranstaltung {
  flex: 1;
  min-width: 0;
}



/* ==========================================================================
   KULTURPLANER: FILTERBLOCK – HEADER, INHALT & FORMULAR-STYLES
   ========================================================================== */

/* 1) Block-Header (Glossy) */
#block-kulturrucksack-veranstaltungblock-1 h2 {
  background: #000 url("../images/bg_blocktitle.png") no-repeat 0 0 !important;
  display: block !important;
  color: #fff !important;
  height: 33px !important;
  line-height: 33px !important;
  padding: 0 13px !important;
  font-size: 16px !important;
  font-weight: normal !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

/* 2) Container / Fieldsets */
#block-kulturrucksack-veranstaltungblock-1 .js-form-item,
#block-kulturrucksack-veranstaltungblock-1 fieldset {
  background: #fff;
  display: block !important;
  border: none !important;
  margin-top: 0;
}

#block-kulturrucksack-veranstaltungblock-1 fieldset {
  padding: 0;
}

#block-kulturrucksack-veranstaltungblock-1 .fieldset-legend {
  font-size: 16px;
  font-weight: 700;
  margin-top: 0;
}

/* 3) Selects */
#block-kulturrucksack-veranstaltungblock-1 .form-select {
  line-height: 10px !important;
  height: 20px;
  font-size: 12px;
}

/* 4) Labels / Checkbox-Radio Text */
#block-kulturrucksack-veranstaltungblock-1 .form-item label {
  font-weight: 700;
}

#block-kulturrucksack-veranstaltungblock-1 .form-check-label {
  font-size: 14px;
  font-weight: normal !important;
}

/* 5) Actions */
#block-kulturrucksack-veranstaltungblock-1 .form-actions {
  padding: 0 !important;
  text-align: left !important;
}

/* 6) Radios (zusammengeführt, vorher doppelt) */
#block-kulturrucksack-veranstaltungblock-1 .form-check-input[type="radio"] {
  width: 1em !important;
  height: 1em !important;
  border-radius: 50%;
}

#block-kulturrucksack-veranstaltungblock-1 .form-check .form-check-input {
  float: none;
  margin-left: -1.5em;
}




/* ==========================================================================
   SPEZIFISCHE SEITEN: KOORDINIERUNGSSTELLE & PARTNER (NODE 36 / 115)
   ========================================================================== */

article[data-history-node-id="36"] .node__content,
article[data-history-node-id="115"] .node__content {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 40px;
  align-items: flex-start;
  font-size: 13px;
}

article[data-history-node-id="36"],
article[data-history-node-id="115"] {
  padding-right: 0 !important;
}

article[data-history-node-id="36"] .field--name-body,
article[data-history-node-id="115"] .field--name-body {
  flex: 1 !important;
  min-width: 0 !important;
}

/* Sidebar-Text-Spalte – unterschiedliche Breite je Node */
article[data-history-node-id="36"] .field--name-field-page-sidebar-text {
  flex: 0 0 220px !important;
  width: 220px !important;
}

article[data-history-node-id="115"] .field--name-field-page-sidebar-text {
  flex: 0 0 200px !important;
  width: 200px !important;
}

/* Gemeinsames Bild-Layout (zusammengeführt) */
article[data-history-node-id="36"] .field--name-field-page-sidebar-text img,
article[data-history-node-id="115"] .field--name-field-page-sidebar-text img {
  width: 177px !important;
  height: auto !important;
  margin-bottom: 10px;
}



/* ==========================================================================
   SIDEBAR: „LETZTE BILDER“ (BLOG BLOCK 1)
   ========================================================================== */

#block-kulturrucksack-theme-views-block-blog-block-1 {
  border: 1px dotted #aaa;
  padding: 18px;
  background-color: #fff;
  margin-bottom: 30px;
  box-sizing: border-box;
  height: 250px;
}

#block-kulturrucksack-theme-views-block-blog-block-1 h2 {
  color: #22B9CA;
  font-size: 18px;
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 15px;
  background: none !important;
  padding: 0;
  text-transform: none;
}

#block-kulturrucksack-theme-views-block-blog-block-1 .field-content {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

#block-kulturrucksack-theme-views-block-blog-block-1 .field-content a {
  display: block;
  background: #fff;
  padding: 4px;
  border: 1px solid #eee;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
  line-height: 0;
}

#block-kulturrucksack-theme-views-block-blog-block-1 img {
  width: 100% !important;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
}

#block-kulturrucksack-theme-views-block-blog-block-1 .field-content a:hover {
  box-shadow: 0 4px 10px rgba(0,0,0,0.25);
  transform: translateY(-1px);
  transition: all 0.2s ease;
}

/* Überschreibt ggf. Blog-Row-Trennlinien innerhalb des Blocks */
#block-kulturrucksack-theme-views-block-blog-block-1 .view-blog .views-row {
  padding-bottom: 0;
  background: none;
  margin-bottom: 0;
}


/* ==========================================================================
   MEDIA LIBRARY: MODAL, GRID, AUSWAHL & BUTTONS
   ========================================================================== */

/* 1) Modal-Größe */
.ui-dialog.media-library-widget-modal {
  width: 95% !important;
  max-width: 1600px !important;
}

/* 2) Grundlayout (Wrapper/Content auf volle Breite) */
#media-library-wrapper,
#media-library-content,
.media-library-view {
  width: 100% !important;
}

/* 3) Grid/Rows-Layout */
.media-library-views-form__rows {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
}

/* 4) Auswahl-Effekt (Glow & Rahmen) */
.media-library-item--selected::before,
.media-library-item.checked::before {
  display: none !important;
}

.media-library-item.checked,
.media-library-item--selected,
tr.media-library-item--table.checked {
  outline: 2px solid #007bff !important;
  outline-offset: -2px;
  box-shadow: 0 0 15px rgba(0, 123, 255, 0.7) !important;
  background-color: rgba(0, 123, 255, 0.08) !important;
  z-index: 5;
  position: relative;
}

/* 5) Raster-Abstände */
.media-library-item--grid {
  margin: 10px !important;
  padding: 0 !important;
}

/* 6) Tabelle: Klickbarkeit signalisieren */
.media-library-item--table .views-field-thumbnail__target-id,
.media-library-item--table .views-field-name {
  cursor: pointer;
}

/* 7) Buttons & Text */
.media-library-view .form-check-input {
  display: none !important;
}

.ui-dialog-buttonset .media-library-select.button--primary {
  background-color: #9d4c94 !important;
  background-image: linear-gradient(to bottom, #d81b8c 0%, #b51f7a 35%, #8f2b6f 65%, #6b295a 100%) !important;
  border: none !important;
  color: #fff !important;
  font-weight: bold;
  font-size: 0 !important; /* Originaltext verstecken */
  padding: 0 !important;
  height: 35px !important;
  min-width: 150px !important;
}

.ui-dialog-buttonset .media-library-select.button--primary::after {
  content: "Bild verwenden";
  font-size: 14px !important;
  display: block;
  line-height: 35px;
  padding: 0 15px;
}

.media-library-selected-count {
  font-size: 0 !important;
  visibility: hidden;
}

/* Modal höher - NUR max-height anpassen, NICHT height! */
.ui-dialog.media-library-widget-modal .ui-dialog-content {
  max-height: 80vh !important;
  height: 80vh !important;
  overflow-y: auto !important;
}

#edit-actions .btn,
#edit-actions .button,
#edit-actions .button--danger,
#edit-actions .btn:hover,
#edit-actions .button:hover,
#edit-actions .button--danger:hover,
#edit-actions .btn:focus,
#edit-actions .button:focus,
#edit-actions .button--danger:focus,
#edit-actions .btn:active,
#edit-actions .button:active,
#edit-actions .button--danger:active,
.js-media-library-open-button,
.js-media-library-open-button:hover,
.js-media-library-open-button:focus,
.js-media-library-open-button:active {
  background-color: #9d4c94 !important;
  background-image: url(../images/button_bg.gif) !important;
  background-repeat: repeat-x !important;
  color: #fff !important;
  cursor: pointer !important;
  border: 0 !important;
  margin-right: 0.2em !important;
  box-shadow: 0 0 5px #b9b8b9 !important;
  text-decoration: none !important;
}

/* 4 Bilder nebeneinander */
.media-library-item--grid {
  width: calc(25% - 20px) !important;
  box-sizing: border-box !important;
}

/* Name und Urheber mittig */
.media-library-item--grid .media-library-item__attributes,
.media-library-item--grid .views-field-field-urheber {
  text-align: center !important;
  width: 100% !important;
}

.media-library-item--grid .views-field-field-urheber {
  font-size: 0.8em !important;
  color: #666 !important;
  padding: 2px 5px 8px !important;
}

/* Bild auf volle Breite */
.media-library-item--grid .media-library-item__preview img {
  width: 100% !important;
  height: 160px !important;
  object-fit: cover !important;
}

/* Karte als relativer Container */
.media-library-item--grid {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
}

.media-library-item__urheber {
  font-size: 16px !important;
  color: #888 !important;
  text-align: center !important;
  padding: 2px 8px 4px !important;
  border-top: 1px solid #eee !important;
  margin-top: 4px !important;
}

/* Urheber außerhalb verstecken */
.media-library-item--grid .views-field-field-urheber {
  display: none !important;
}
/* ==========================================================================
   TAXONOMY: SIDEBAR, AKKORDEON, FILTER-BLÖCKE
   ========================================================================== */

/* 1) Sidebar: Grund-Layout & Spezialblöcke */
.path-taxonomy #block-kulturrucksack-veranstaltungblock-1 {
  width: 210px;
}

.path-taxonomy #block-kulturrucksack-theme-kommune-sidebar-logo h2 {
  background-color: #9C4C94 !important;
}

.path-taxonomy #block-kulturrucksack-theme-kommune-sidebar-kontakt {
  background: #fff !important;
  border: 1px solid #ddd !important;
  padding: 15px !important;
  margin-bottom: 20px !important;
  box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

.path-taxonomy #block-kulturrucksack-theme-kommune-sidebar-kontakt .field-content p {
  font-size: 14px;
}

.path-taxonomy #block-kulturrucksack-theme-seitentitel h1 {
  font-weight: bold;
}

.path-taxonomy #block-kulturrucksack-theme-kommune-sidebar-kontakt h2 {
  background: none !important;
  color: #333 !important;
  padding: 0;
  cursor: default;
}

.path-taxonomy #block-kulturrucksack-theme-kommune-sidebar-kontakt h2::after {
  content: "" !important;
}

.path-taxonomy .region-content .views-element-container h2,
.path-taxonomy .region-sidebar-first .block h2 {
  background-color: #9C4C94;
  color: #fff;
  padding: 10px 15px;
  margin-bottom: 0;
  cursor: pointer;
  position: relative;
}

.region-sidebar-first .block h2,
.path-taxonomy .region-content .views-element-container h2,
.path-taxonomy .region-sidebar-first .block h2 {
  position: relative;
  padding: 10px 40px 10px 15px;
  background-color: #9C4C94;
  color: #fff;
  margin-bottom: 0;
  cursor: pointer;
}

/* Plus/Minus immer ganz rechts */
.region-sidebar-first .block h2::after,
.path-taxonomy .region-content .views-element-container h2::after,
.path-taxonomy .region-sidebar-first .block h2::after {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 20px;
  text-align: center;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1;
  color: #fff;
}

/* geschlossener Zustand */
.region-sidebar-first .block h2.is-closed::after,
.path-taxonomy .region-content .views-element-container h2.is-closed::after,
.path-taxonomy .region-sidebar-first .block h2.is-closed::after {
  content: "+";
}

/* geöffneter Zustand */
.region-sidebar-first .block h2.is-open::after,
.path-taxonomy .region-content .views-element-container h2.is-open::after,
.path-taxonomy .region-sidebar-first .block h2.is-open::after {
  content: "−";
}

.path-taxonomy .region-content .views-element-container h2.is-open::after,
.path-taxonomy .region-sidebar-first .block h2.is-open::after {
  content: "-";
}

body[class*="blog"] h2,
#block-kulturrucksack-theme-blockinfo h2,
#block-kulturrucksack-theme-filteroptionenblogpage-1 h2,
#block-kulturrucksack-theme-views-block-blog-archiv-block-1 h2 {
  cursor: default !important;
}

body[class*="blog"] h2::after,
#block-kulturrucksack-theme-blockinfo h2::after,
#block-kulturrucksack-theme-filteroptionenblogpage-1 h2::after,
#block-kulturrucksack-theme-views-block-blog-archiv-block-1 h2::after {
  content: none !important;
}

.path-taxonomy #block-kulturrucksack-veranstaltungblock-1 h2,
.path-taxonomy #block-kulturrucksack-kulturplaner-veranstaltungblock-2 h2 {
  background: #000 url("../images/bg_blocktitle.png") no-repeat 0 0 !important;
  display: block !important;
  color: #fff !important;
  height: 33px !important;
  line-height: 33px !important;
  padding: 0 13px !important;
  font-weight: normal !important;
  margin: 0 !important;
  cursor: pointer;
  position: relative;
}

.path-taxonomy #block-kulturrucksack-kulturplaner-veranstaltungblock-2 h2 {
  background-color: #00B5C2 !important;
  background-image: none !important;
}

.path-taxonomy #block-kulturrucksack-veranstaltungblock-1 h2.is-open::after,
.path-taxonomy #block-kulturrucksack-kulturplaner-veranstaltungblock-2 h2.is-open::after {
  content: "-";
}

/* 5) Filter-Formulare */
.path-taxonomy #block-kulturrucksack-veranstaltungblock-1 form,
.path-taxonomy #block-kulturrucksack-kulturplaner-veranstaltungblock-2 form {
  border: 1px solid #ddd;
  border-top: none;
  padding: 20px;
  background: #fff;
  margin-bottom: 20px;
}

.path-taxonomy #block-kulturrucksack-veranstaltungblock-1 fieldset,
.path-taxonomy #block-kulturrucksack-kulturplaner-veranstaltungblock-2 fieldset {
  border: none;
  padding: 0;
  margin-top: 10px;
}

.path-taxonomy #block-kulturrucksack-veranstaltungblock-1 .form-select,
.path-taxonomy #block-kulturrucksack-kulturplaner-veranstaltungblock-2 .form-select {
  width: 100%;
  height: 25px;
  padding: 0 5px;
  font-size: 12px;
}

.path-taxonomy #block-kulturrucksack-veranstaltungblock-1 .form-check-label,
.path-taxonomy #block-kulturrucksack-kulturplaner-veranstaltungblock-2 .form-check-label {
  font-size: 14px;
  font-weight: normal !important;
}

.path-taxonomy #block-kulturrucksack-veranstaltungblock-1 .form-actions,
.path-taxonomy #block-kulturrucksack-kulturplaner-veranstaltungblock-2 .form-actions {
  margin-top: 15px;
  text-align: left;
}

.region-sidebar-first #bock-kulturrucksack-theme-kommune-sidebar-logo {
  font-size: 10px !important;
}

/* 6) Submit-Button (Variante --2) */
#edit-submit-kulturplaner-veranstaltung--2 {
  height: 25px;
  line-height: 25px;
  padding: 0 20px;
  border: 0;
  background-color: #9d4c94;
  background-image: url("../images/button_bg.gif");
  background-repeat: repeat-x;
  color: #fff;
  font-weight: bold;
  cursor: pointer;
  box-shadow: 0 0 5px #b9b8b9;
}

#block-kulturrucksack-theme-kommune-sidebar-kontakt h2 {
  font-size: 1em;
  font-weight: bold;
}

/* Container für die klickbaren Logos */
#block-kulturrucksack-theme-views-block-kommune-sidebar-logo-block-1,
#block-kulturrucksack-theme-views-block-kommune-sidebar-logo-block-2 {
    margin-bottom: 20px;
}

/* Die Logos selbst */
.views-field-field-komune-logo a {
    display: block;
    transition: opacity 0.2s ease;
}

.views-field-field-komune-logo a:hover {
    opacity: 0.8; /* Kleiner visueller Effekt beim Drüberfahren */
}

.views-field-field-komune-logo img {
    max-width: 180px;
    height: auto;
    display: block;
    margin-top: 20px;
}

body.page-node-type-veranstaltung .region-sidebar-first {
  padding: 0 !important;
}

/* ==========================================================================
   BLOG: LISTE / PAGER-LOGIK (BLOCK 3)
   ========================================================================== */

/* 1) Pager/Expand-Logik */
#block-kulturrucksack-theme-blog-block-3 .views-row:nth-child(n+3) {
  display: none !important;
}

#block-kulturrucksack-theme-blog-block-3 .view.is-expanded .views-row {
  display: block !important;
}

#block-kulturrucksack-theme-blog-block-3 .view.is-expanded .view-footer {
  display: none !important;
}

/* 2) Zeilenlayout */
#block-kulturrucksack-theme-blog-block-3 .views-row {
  position: relative;
  padding-left: 148px;
  min-height: 140px;
  margin-bottom: 30px;
  padding-bottom: 20px;
  border-bottom: 1px solid #eee;
  margin-top: 20px;
}

#block-kulturrucksack-theme-blog-block-3 .views-row:last-child {
  border-bottom: none;
}

/* 3) Bild */
#block-kulturrucksack-theme-blog-block-3 .views-field-field-artikelbild {
  position: absolute;
  left: 0;
  top: 0;
  width: 128px;
  height: 128px;
  margin: 0 !important;
}

#block-kulturrucksack-theme-blog-block-3 .views-field-field-artikelbild img {
  width: 128px !important;
  height: 128px !important;
  object-fit: cover;
  box-shadow: 0 0 5px #b9b8b9 !important;
  padding: 5px;
  background: #fff;
}

/* 4) Meta: Datum & UID */
#block-kulturrucksack-theme-blog-block-3 .views-field-created,
#block-kulturrucksack-theme-blog-block-3 .views-field-uid {
  display: block !important;
  width: 100% !important;
  margin-left: 0 !important;
  float: none !important;
}

#block-kulturrucksack-theme-blog-block-3 .views-field-created {
  font-size: 0.9rem;
  color: #333;
  margin-bottom: 2px;
}

#block-kulturrucksack-theme-blog-block-3 .views-field-uid {
  font-size: 0.9rem;
  font-weight: bold;
  color: #666;
  margin-bottom: 5px;
}

/* 5) Felder bündig */
#block-kulturrucksack-theme-blog-block-3 .views-field-title,
#block-kulturrucksack-theme-blog-block-3 .views-field-body,
#block-kulturrucksack-theme-blog-block-3 .views-field-view-node,
#block-kulturrucksack-theme-blog-block-3 .views-field-field-blogvideo,
#block-kulturrucksack-theme-blog-block-3 .views-field-field-blogaudio {
  margin-left: 0 !important;
  display: block !important;
  clear: none !important;
}

/* 6) Titel */
#block-kulturrucksack-theme-blog-block-3 .views-field-title a {
  color: #9C4C94 !important;
  font-size: 1.25rem;
  font-weight: bold;
  text-decoration: none;
  display: block;
  margin-bottom: 8px;
}

/* 7) Icons & Links */
#block-kulturrucksack-theme-blog-block-3 .views-field-view-node,
#block-kulturrucksack-theme-blog-block-3 .views-field-field-blogvideo,
#block-kulturrucksack-theme-blog-block-3 .views-field-field-blogaudio {
  margin-top: 10px;
}

#block-kulturrucksack-theme-blog-block-3 .views-field-view-node a {
  color: #9C4C94;
  text-decoration: none;
}

/* 8) Footer-Link */
#block-kulturrucksack-theme-blog-block-3 .view-footer {
  text-align: center;
  padding-top: 10px;
}

#block-kulturrucksack-theme-blog-block-3 .show-all-posts-link {
  color: #9C4C94;
  text-decoration: none;
  font-weight: bold;
  cursor: pointer;
}

.path-blog .region-sidebar-first {
  margin-right: 0px;
}






#block-kulturrucksack-theme-views-block-2 {
    border: 1px dotted #aaa;
    padding: 15px;
    background-color: #fff;
    margin-bottom: 30px;
}

#block-kulturrucksack-theme-views-block-2 h2 {
    color: #B1C800 !important;
    font-size: 1.1rem !important;
    font-weight: 700;
    margin-top: 0;
    margin-bottom: 15px;
    background: none !important;
    padding: 0 !important;
    height: auto !important;
}

#block-kulturrucksack-theme-views-block-2 .views-row {
    padding: 10px 0;
}

#block-kulturrucksack-theme-views-block-2 .views-row:last-child {
    border-bottom: none;
}

#block-kulturrucksack-theme-views-block-2 .views-field-title {
    font-weight: bold;
    line-height: 1.3;
    margin-bottom: 3px;
}

#block-kulturrucksack-theme-views-block-2 .views-field-created {
    font-size: 0.85rem;
    color: #666;
}

#block-kulturrucksack-theme-views-block-2 .views-field-created span::before {
    content: "veröffentlicht am ";
}

#block-kulturrucksack-theme-views-block-2 .views-field-view-node a {
    color: #9C4C94;
    font-size: 0.85rem;
    font-weight: bold;
    text-decoration: none;
}

#block-kulturrucksack-theme-views-block-2 .view-footer {
    display: none !important;
}

body[class*="blog"] article.node {
  padding-right: 0 !important;
}

.node--type-blog.node--view-mode-full footer {
  padding: 0px;
}

.node--type-blog.node--view-mode-full .node__submitted {
  font-size: 0;
}

.node--type-blog.node--view-mode-full .node__submitted a,
.node--type-blog.node--view-mode-full .node__submitted time {
  font-size: 0.95rem;
}

.node--type-blog.node--view-mode-full .field--name-field-vng-kommune {
  color: #413e41;
  font-weight: bold;
  margin-bottom: 15px;
  font-size: 1.1rem;
}

.node--type-blog.node--view-mode-full .field--name-field-artikelbild img {
  width: 100%;
  height: auto;
  box-shadow: 0 0 5px #b9b8b9 !important;
  padding: 5px;
  background: #fff;
  border: 1px solid #eee;
}

.node--type-blog.node--view-mode-full .field--name-field-picture-epository {
  float: right;
  clear: right;
  width: 250px;
  margin-left: 20px;
  font-size: 0.8rem;
  color: #666;
  text-align: center;
  margin-top: -15px;
  margin-bottom: 20px;
}

.node--type-blog.node--view-mode-full .field--name-body {
  line-height: 1.6;
}

.node--type-blog.node--view-mode-full .node__meta article.profile {
  display: none;
}

.node--type-blog.node--view-mode-full .node__submitted {
  font-size: 0.95rem;
  color: #333;
  margin-bottom: 20px;
}

.node--type-blog.node--view-mode-full .node__submitted a {
  font-weight: normal;
  color: #9C4C94;
  text-decoration: none;
}

.node--type-blog.node--view-mode-full .field--name-field-vng-kommune {
  color: #413e41;
  font-weight: bold;
  font-size: 1.1rem;
  margin-bottom: 10px;
  display: block;
}

.node--type-blog.node--view-mode-full .field--name-field-picture-epository {
  float: right;
  clear: right;
  width: 250px;
  margin-left: 20px;
  margin-bottom: 20px;
  text-align: right;
}

.node--type-blog.node--view-mode-full .field--name-field-picture-epository .field__label,
.node--type-blog.node--view-mode-full .field--name-field-picture-epository .field__item {
  display: inline;
  font-size: 0.8em;
  color: #666;
  font-weight: normal;
}

.node--type-blog.node--view-mode-full .field--name-field-picture-epository .field__label::after {
  content: ": ";
}

.node--type-blog.node--view-mode-full .field--name-body {
  line-height: 1.6;
  display: block;
}

.node--type-blog.node--view-mode-full .field--name-body p {
  margin-bottom: 1.2rem;
}

.node--type-blog.node--view-mode-full .field--name-bloggalerie {
  clear: both;
  padding-top: 30px;
  border-top: 1px dotted #ccc;
  margin-top: 20px;
}

.node--type-blog.node--view-mode-full .field--name-bloggalerie .field__label {
  font-weight: bold;
  margin-bottom: 15px;
  display: block;
}

.node--type-blog.node--view-mode-full .field--name-bloggalerie .field__items {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.node--type-blog.node--view-mode-full .field--name-bloggalerie img {
  width: 150px;
  height: 110px;
  object-fit: cover;
  border: 1px solid #ccc;
  padding: 3px;
}

body[class*="blog"] .node__content {
  display: block !important;
}

body[class*="blog"] .field--name-field-picture-epository {
  float: right !important;
  clear: right !important;
  width: 250px !important;
  margin: 0 0 20px 20px !important;
  text-align: right;
  font-size: 0.75rem;
  color: #666;
}

body[class*="blog"] .field--name-body {
  display: inline !important;
  clear: none !important;
}

body[class*="blog"] .field--name-body p {
  display: block;
}

body[class*="blog"] .node__submitted a,
body[class*="blog"] .node__submitted time {
  font-size: 0.95rem !important;
  display: inline-block;
}

body[class*="blog"] .field--name-field-vng-kommune {
  color: #9C4C94;
  font-weight: bold;
  font-size: 1.2rem;
  margin-bottom: 10px;
  display: block;
}

body[class*="blog"] .field--name-field-bloggalerie {
  clear: both;
  margin-top: 30px;
  padding-top: 10px;
}

body[class*="blog"] .field--name-field-bloggalerie .field__label {
  font-weight: bold;
  margin-bottom: 10px;
  display: block;
}

body[class*="blog"] .field--name-field-bloggalerie .field__items::after {
  content: "";
  display: table;
  clear: both;
}

body[class*="blog"] .field--name-field-bloggalerie .field__item {
  float: left;
  margin-right: 11px;
  margin-bottom: 11px;
  width: 95px;
  height: auto;
  padding: 5px;
  background: #fff;
  -webkit-box-shadow: 0 0 5px #b9b8b9;
  -moz-box-shadow: 0 0 5px #b9b8b9;
  box-shadow: 0 0 5px #b9b8b9;
}

body[class*="blog"] .field--name-field-bloggalerie .field__item img {
  width: 100% !important;
  height: 65px !important;
  object-fit: cover;
  display: block;
}

body[class*="blog"] .field--name-body::after {
  content: "";
  display: table;
  clear: both;
}

body[class*="blog"] .region-content {
  padding: 0 !important;
}

body[class*="blog"] .field--name-field-artikelbild img {
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  box-shadow: 0 0 5px #b9b8b9 !important;
  padding: 5px;
  background: #fff;
  border: 1px solid #eee;
}

body[class*="blog"] .node__content .field--name-field-picture-epository {
  float: right !important;
  width: 40% !important;
  max-width: 260px !important;
  margin: 4px 0 15px 20px !important;
  font-size: 0.85em;
}

body[class*="blog"] .node__content .field--name-field-picture-epository .field__label,
body[class*="blog"] .node__content .field--name-field-picture-epository .field__item {
  display: block;
  float: none;
}

body[class*="blog"] .node__content .field--name-field-vng-kommune,
body[class*="blog"] .node__content .field--name-body {
  overflow: hidden;
}

body[class*="blog"] .node__content .field--name-field-bloggalerie {
  clear: both;
}

body[class*="blog"] article .field {
  clear: none;
}

body[class*="blog"] .node__content .blog-banner {
  float: right !important;
  width: auto !important;
  max-width: 220px !important;
  margin: 40px 0 0 20px !important;
}

body[class*="blog"] .node__content .field--name-field-picture-epository {
  float: right !important;
  clear: right !important;
  width: auto !important;
  max-width: 220px !important;
  margin: 4px 0px 10px 20px !important;
  font-size: 0.8rem !important;
  color: #666 !important;
  text-align: left !important;
}

body[class*="blog"] .node__content .blog-banner img {
  box-shadow: 0 0 5px #b9b8b9;
  padding: 5px;
  background: #fff;
  border: 1px solid #eee;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
}

body[class*="blog"] .node__content .field--name-field-picture-epository .field__label,
body[class*="blog"] .node__content .field--name-field-picture-epository .field__item {
  display: block !important;
  float: none !important;
  font-weight: normal !important;
}

body[class*="blog"] .node__content .field--name-field-picture-epository .field__label {
  font-weight: bold !important;
}

body[class*="blog"] .node__content .field--name-field-vng-kommune,
body[class*="blog"] .node__content .field--name-body {
  overflow: hidden !important;
}

body[class*="blog"] .node__content .field--name-field-bloggalerie {
  clear: both !important;
}


.thumbsup-rating-label-up::before {
    display: none !important;
    content: "" !important;
}

.rate-widget.thumbsup {
    border-top: 1px dotted #ccc;
    border-bottom: 1px dotted #ccc;
    padding-bottom: 0px;
    margin-bottom: 0px;
    margin-top: 25px;
    clear: both;
}

.rate-widget.thumbsup table, 
.rate-widget.thumbsup tbody, 
.rate-widget.thumbsup tr, 
.rate-widget.thumbsup td {
    display: inline !important;
    border: none !important;
    background: none !important;
    padding: 0 !important;
}

.rate-widget.thumbsup .rating-table-tr:first-child {
    display: block !important;
    font-weight: bold;
    margin-bottom: 15px;
    color: #333;
    font-size: 1rem;
}

.thumbsup-rating-wrapper {
    display: inline-flex !important;
    align-items: center;
    vertical-align: middle;
}

.thumbsup-rating-label {
    display: inline-block !important;
    width: 32px;
    height: 32px;
    background-color: #9C4C94 !important;
    cursor: pointer;
    margin-right: 8px;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M313.4 32.9c26 5.2 42.9 30.5 37.7 56.5l-2.3 11.4c-5.3 26.7-15.1 52.1-28.8 75.2H464c26.5 0 48 21.5 48 48c0 18.5-10.5 34.6-25.9 42.6C497 275.4 504 288.9 504 304c0 23.4-16.8 43-39.1 47.3c5.6 12.1 8.6 25.4 8.6 39.2c0 28.1-13.1 53.1-33.7 69.6c.3 1.3 .4 2.6 .4 4c0 30.9-25.1 56-56 56H176c-8.8 0-16-7.2-16-16V160c0-10.2 4.9-19.8 13.2-25.9L290 23.9c10.7-7.9 23.9-11 36.6-8.3l-13.2 17.3zM112 160c13.3 0 24 10.7 24 24V456c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V184c0-13.3 10.7-24 24-24h88z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M313.4 32.9c26 5.2 42.9 30.5 37.7 56.5l-2.3 11.4c-5.3 26.7-15.1 52.1-28.8 75.2H464c26.5 0 48 21.5 48 48c0 18.5-10.5 34.6-25.9 42.6C497 275.4 504 288.9 504 304c0 23.4-16.8 43-39.1 47.3c5.6 12.1 8.6 25.4 8.6 39.2c0 28.1-13.1 53.1-33.7 69.6c.3 1.3 .4 2.6 .4 4c0 30.9-25.1 56-56 56H176c-8.8 0-16-7.2-16-16V160c0-10.2 4.9-19.8 13.2-25.9L290 23.9c10.7-7.9 23.9-11 36.6-8.3l-13.2 17.3zM112 160c13.3 0 24 10.7 24 24V456c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V184c0-13.3 10.7-24 24-24h88z'/%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: contain;
    mask-size: contain;
    margin-bottom: 0px;
}

.thumbsup-rating-input,
.thumbsup-rating-submit,
.vote-result {
    display: none !important;
}

.rating-option-result {
    display: inline-block !important;
    font-size: 0.95rem;
    color: #333;
    vertical-align: middle;
}

.rating-option-result::after {
    content: " finden den Beitrag gut.";
  }

  div.thumbsup-rating-wrapper > div > div.rating-option-result {
  margin-bottom: 10px;
}




.view-id-aktuelles .views-row {
    margin-bottom: 40px;
    padding-bottom: 30px;
    border-bottom: 1px dotted #ccc;
    overflow: hidden;
    clear: both;
}

.view-id-aktuelles .views-row:last-child {
    border-bottom: none;
}

.view-id-aktuelles .node__content {
    display: block !important;
}

.view-id-aktuelles h2 {
    margin-top: 0;
    margin-bottom: 15px;
}

.view-id-aktuelles h2 a {
    color: #9C4C94 !important;
    font-weight: bold;
    text-decoration: none;
    font-size: 1.4rem;
    line-height: 1.3;
}

.view-id-aktuelles .field--name-field-news-images {
    float: right !important;
    width: 220px !important;
    margin: 0 0 15px 20px !important;
}

.view-id-aktuelles .field--name-field-news-images img {
    width: 100% !important;
    height: auto !important;
    padding: 5px;
    background: #fff;
    box-shadow: 0 0 5px #b9b8b9;
    border: 1px solid #eee;
}

.view-id-aktuelles .field--name-field-news-body {
    display: block !important;
    clear: none !important;
    line-height: 1.6;
    font-size: 0.95rem;
}

.view-id-aktuelles .field__label {
    font-weight: bold;
    color: #22B9CA;
    margin-bottom: 10px;
    display: block;
}

.view-id-aktuelles .field--name-field-news-attachments,
.view-id-aktuelles .field--name-field-aktuellgalerie {
    clear: both;
    margin-top: 20px;
}

.view-id-aktuelles .field--name-field-news-attachments a {
    color: #9C4C94;
    text-decoration: none;
    font-weight: bold;
}

.view-id-aktuelles .field--name-field-aktuellgalerie .field__items {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.view-id-aktuelles .field--name-field-aktuellgalerie .field__item {
    width: 95px;
    height: 65px;
    padding: 4px;
    background: #fff;
    box-shadow: 0 0 5px #b9b8b9;
}

.view-id-aktuelles .field--name-field-aktuellgalerie img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.view-id-aktuelles .node__links {
    display: none !important;
}


/* 1. Den echten Dateinamen (z.B. a0.pdf) unsichtbar machen */
.view-id-werbemedien .views-field-field-upload a {
    font-size: 0 !important;
    text-decoration: none;
}

/* 2. Das Wort "PDF" für PDF-Dateien einblenden */
.view-id-werbemedien .file--mime-application-pdf a::after {
    content: "PDF";
    font-size: 13px;
    font-weight: bold;
    color: #9C4C94;
}

/* 3. Das Wort "WORD" für Doc-Dateien einblenden */
.view-id-werbemedien .file--mime-application-msword a::after,
.view-id-werbemedien .file--mime-application-vnd-openxmlformats-officedocument-wordprocessingml-document a::after {
    content: "Word";
    font-size: 13px;
    font-weight: bold;
    color: #9C4C94;
}

/* 4. Das Wort "PNG" für Bilder einblenden */
.view-id-werbemedien .file--mime-image-png a::after {
    content: "PNG";
    font-size: 13px;
    font-weight: bold;
    color: #9C4C94;
}

/* 5. Das Wort "Indesign-Dateien" für ZIP/InDesign einblenden */
.view-id-werbemedien .file--mime-application-zip a::after {
    content: "Indesign-Datei";
    font-size: 13px;
    font-weight: bold;
    color: #9C4C94;
}

/* 6. Komma zwischen den Links stylen */
.view-id-werbemedien .views-field-field-upload .file {
    display: inline-block;
    margin-right: 5px;
}

.view-werbemedien .views-table tbody tr:nth-child(1) td:first-child,
.view-werbemedien .views-table tbody tr:nth-child(2) td:first-child,
.view-werbemedien .views-table tbody tr:nth-child(8) td:first-child,
.view-werbemedien .views-table tbody tr:nth-child(14) td:first-child,
.view-werbemedien .views-table tbody tr:nth-child(20) td:first-child,
.view-werbemedien .views-table tbody tr:nth-child(26) td:first-child,
.view-werbemedien .views-table tbody tr:nth-child(32) td:first-child,
.view-werbemedien .views-table tbody tr:nth-child(38) td:first-child {
  font-size: 14px;
}

.view-werbemedien .views-table tr {
  font-size: 13px;
}



body.page-node-type-veranstaltung:not(.path-node-edit):not(.path-node-add) .region-content {
    display: block !important;
    padding: 0px;
}


/* Bildurheber-Text klein und grau */
body.page-node-type-veranstaltung:not(.path-node-edit):not(.path-node-add) .field--name-field-picture-epository .field__label,
body.page-node-type-veranstaltung:not(.path-node-edit):not(.path-node-add) .field--name-field-picture-epository .field__item {
    font-size: 0.75rem !important;
    color: #666 !important;
    display: inline !important;
    padding-right: 0px;
}

/* Beschreibungstext-Fluss */
body.page-node-type-veranstaltung:not(.path-node-edit):not(.path-node-add) .field--name-field-vng-beschreibung {
    display: block !important;
    line-height: 1.6;
}

body.page-node-type-veranstaltung:not(.path-node-edit):not(.path-node-add) .field--name-field-vng-beschreibung::after {
    content: "";
    display: table;
    clear: both;
}

/* Icons (Anmeldung, Preis etc.) nur im Frontend umstylen */
body.page-node-type-veranstaltung:not(.path-node-edit):not(.path-node-add) .field--name-field-vng-anmeldungsart,
body.page-node-type-veranstaltung:not(.path-node-edit):not(.path-node-add) .field--name-field-vng-angebotspreis,
body.page-node-type-veranstaltung:not(.path-node-edit):not(.path-node-add) .field--name-field-vng-veranstaltungsart {
    display: inline-block !important;
    vertical-align: middle !important;
    margin-right: 6px !important;
    margin-left: 0 !important;
    margin-bottom: 20px !important;
    width: auto !important;
}
body.page-node-type-veranstaltung .field--name-field-vng-anmeldungsart .field__item,
body.page-node-type-veranstaltung .field--name-field-vng-angebotspreis .field__item,
body.page-node-type-veranstaltung .field--name-field-vng-veranstaltungsart .field__item {
    font-size: 0 !important;
}

body.page-node-type-veranstaltung .field--name-field-vng-anmeldungsart a::before,
body.page-node-type-veranstaltung .field--name-field-vng-angebotspreis a::before,
body.page-node-type-veranstaltung .field--name-field-vng-veranstaltungsart .field__item::before {
    content: "" !important;
    display: inline-block !important;
    width: 21px !important;
    height: 25px !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: auto !important;
    image-rendering: -webkit-optimize-contrast;
    vertical-align: baseline;
}

body.page-node-type-veranstaltung [href*="einzelperson"]::before { background-image: url("/themes/kulturrucksack_theme/images/icon_angebot_einzel.png"); }
body.page-node-type-veranstaltung [href*="kostenlos"]::before { background-image: url("/themes/kulturrucksack_theme/images/icon_angebot_kostenlos.png"); }
body.page-node-type-veranstaltung .field--name-field-vng-veranstaltungsart .field__item::before { background-image: url("/themes/kulturrucksack_theme/images/icon_rucksack.png"); }

body.page-node-type-veranstaltung .node__content > .field {
    clear: both;
    margin-bottom: 5px;
    font-size: 0.95rem;
}

body.page-node-type-veranstaltung .field__label {
    font-weight: bold;
    display: inline-block;
    color: #333;
}

body.page-node-type-veranstaltung .field--name-field-vng-region {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.page-node-type-veranstaltung .field--label-inline .field__label, body.page-node-type-veranstaltung .field--label-inline .field__items {
  float: none;
}

body.page-node-type-veranstaltung:not(.path-node-edit):not(.path-node-add) .field--name-field-field-vng-address {
    clear: both;
    margin-top: 30px;
    padding-top: 15px;
    border-top: 1px dotted #ccc;
}

body.page-node-type-veranstaltung .field--name-field-field-vng-address .field__label {
    display: block !important;
    font-weight: bold;
    font-size: 0.95rem;
    color: #333;
    margin-bottom: 10px;
    text-transform: none;
}

body.page-node-type-veranstaltung .field--name-field-field-vng-address .field__item {
    display: block !important;
    white-space: normal !important;
    line-height: 1.5;
}

body.page-node-type-veranstaltung .field--label-inline .field__label,
body.page-node-type-veranstaltung .field--label-inline .field__items,
body.page-node-type-veranstaltung .field--label-inline .field__item {
  display: inline !important;
  padding-right: 0px;
}

body.page-node-type-veranstaltung .field--label-inline {
  display: block !important;
}

body.page-node-type-veranstaltung .field--name-field-field-vng-address p {
  margin: 0 !important;
  padding: 0 !important;
}

body.page-node-type-veranstaltung .field--name-field-anmeldeinformation a[href^="mailto"] {
  display: block !important;
}

.back-to-municipality a {
    color: #9C4C94 !important;
    text-decoration: none;
    font-size: 0.85rem;
    display: block;
    margin-bottom: 10px;
}

.page-node-type-veranstaltung article.node--type-veranstaltung .shariff .orientation-horizontal {
    display: -webkit-box;
}


.vocabulary-kurux-redaktionen .content {
  display: block !important;
}

.vocabulary-kurux-redaktionen .field--name-field-artikelbild {
  float: right !important;
  width: 250px !important;
  margin: 0 0 10px 20px !important;
}

.vocabulary-kurux-redaktionen .field--name-field-artikelbild img {
  width: 100% !important;
  height: auto !important;
  padding: 5px;
  background: #fff;
  border: 1px solid #ccc;
  box-shadow: 0 0 5px #b9b8b9;
}

.vocabulary-kurux-redaktionen .field--name-field-beschreibung-redaktion {
  display: block !important;
  clear: none !important;
}

.vocabulary-kurux-redaktionen .field--name-field-beschreibung-redaktion p:first-child {
  margin-top: 0 !important;
}




.vocabulary-kurux-redaktionen #block-kulturrucksack-theme-seitentitel h1 {
  font-size: 18px !important;
  font-weight: normal !important;
}

.vocabulary-kurux-redaktionen .field--name-field-beschreibung-redaktion p strong {
  font-size: 16px !important;
}

.vocabulary-kurux-redaktionen .content {
  display: block !important;
}

.vocabulary-kurux-redaktionen .field--name-field-artikelbild {
  float: right !important;
}

.vocabulary-kurux-redaktionen .field--name-field-artikelbild img {
  width: 250px !important;
  height: auto !important;
  padding: 5px;
  background: #fff;
  border: 1px solid #ccc;
  box-shadow: 0 0 5px #b9b8b9;
}

.vocabulary-kurux-redaktionen .field--name-field-beschreibung-redaktion {
  display: block !important;
  clear: none !important;
}

.vocabulary-kurux-redaktionen .field--name-field-beschreibung-redaktion p:first-child {
  margin-top: 0 !important;
}

#block-kulturrucksack-theme-views-block-kurux-beitraege-block-1 h2 {
  background: none !important;
  color: #333 !important;
  padding: 0 !important;
  margin-top: 40px !important;
  margin-bottom: 20px !important;
  cursor: default !important;
  font-weight: bold !important;
  font-size: 1.3rem !important;
  display: block !important;
  height: auto !important;
}

#block-kulturrucksack-theme-views-block-kurux-beitraege-block-1 h2::after {
  content: none !important;
}

#block-kulturrucksack-theme-views-block-kurux-beitraege-block-1 [data-block="content"] {
  border: none !important;
  padding: 0 !important;
  display: block !important;
}

.view-id-kurux_beitraege .views-row {
  margin-bottom: 25px;
  padding-bottom: 15px;
  border-bottom: 1px dotted #ccc;
}

.view-id-kurux_beitraege .views-field-title a {
  color: #333 !important;
  font-weight: bold !important;
  text-decoration: none;
  font-size: 1.1rem;
}

.view-id-kurux_beitraege .views-field-created {
  font-size: 0.9rem;
  color: #666;
  margin: 5px 0;
}

.view-id-kurux_beitraege .views-field-view-node a {
  color: #9C4C94;
  font-weight: bold;
  text-decoration: none;
  font-size: 0.9rem;
}

.vocabulary-kurux-redaktionen .field--name-field-beschreibung-redaktion p strong {
  font-size: 16px !important;
}

.vocabulary-kurux-redaktionen .content {
  display: block !important;
}

.vocabulary-kurux-redaktionen .field--name-field-artikelbild {
  float: right !important;
  width: 250px !important;
  margin: 0 0 10px 20px !important;
}

.vocabulary-kurux-redaktionen .field--name-field-beschreibung-redaktion {
  display: block !important;
  clear: none !important;
}


#block-kulturrucksack-theme-views-block-kurux-beitraege-block-1 h2 {
  background: none !important;
  color: #333 !important;
  padding: 0 !important;
  margin-top: 30px !important;
  cursor: default !important;
  font-weight: bold !important;
  font-size: 1.3rem !important;
}

#block-kulturrucksack-theme-views-block-kurux-beitraege-block-1 h2::after {
  content: none !important;
}

#block-kulturrucksack-theme-views-block-kurux-beitraege-block-1 [data-block="content"] {
  border: none !important;
  padding: 0 !important;
  background: transparent !important;
}

.view-id-kurux_beitraege .views-field-title a {
  color: #333 !important;
  font-weight: bold !important;
}

#block-kulturrucksack-theme-blockinfo {
  border: 1px dotted #aaa !important;
  padding: 8px !important;
  background-color: #fff;
  margin-bottom: 20px;
  padding-left: 0px;
}


#block-kulturrucksack-theme-blockinfo img {
  max-width: 100%;
  height: auto;
}

body[class*="blog"] .region-sidebar-first,
body.vocabulary-kurux-redaktionen .region-sidebar-first,
body.path-taxonomy .region-sidebar-first {
  margin-top: 50px !important;
  margin-right: 0px !important;
  margin-left: -10px !important;
  padding-left: 0px !important;
  max-width: 230px !important;
}

.vocabulary-kurux-redaktionen .field--name-field-bloggalerie {
    clear: both;
    margin-top: 30px;
    padding-top: 15px;
}

.vocabulary-kurux-redaktionen .field--name-field-bloggalerie .field__label {
    font-weight: bold;
    margin-bottom: 10px;
}

.vocabulary-kurux-redaktionen .field--name-field-bloggalerie .field__item {
    float: left;
    margin-right: 11px;
    margin-bottom: 11px;
    width: 95px;
    height: auto;
    padding: 5px;
    background: #fff;
    box-shadow: 0 0 5px #b9b8b9;
}

.vocabulary-kurux-redaktionen .field--name-field-bloggalerie img {
    width: 100% !important;
    height: 65px !important;
    object-fit: cover;
    display: block;
}

#block-kulturrucksack-theme-views-block-kurux-beitraege-block-1 {
  clear: both !important;
}

#block-kulturrucksack-theme-views-block-kurux-beitraege-block-1 h2 {
  background: none !important;
  color: #333 !important;
  padding: 0 !important;
  margin-top: 30px !important;
  cursor: default !important;
  font-weight: bold !important;
  font-size: 1.3rem !important;
  clear: both !important;
}

#block-kulturrucksack-theme-views-block-kurux-beitraege-block-1 h2::after {
  content: none !important;
}

.view-id-kurux_beitraege .views-field-title a {
  color: #333 !important;
  font-weight: bold !important;
  text-decoration: none;
}

body[class*="blog"] .field--name-field-blogaudio,
body[class*="blog"] .field--name-field-kurux-redaktionen,
body[class*="blog"] .shariff,
body[class*="blog"] .rate-widget {
    border-top: 1px dotted #ccc !important;
    padding-top: 15px !important;
    margin-top: 20px !important;
    clear: both;
}

body[class*="blog"] article:has(.field--name-field-kurux-redaktionen) .shariff {
    display: none !important;
}

body[class*="blog"] .field--name-field-kurux-redaktionen .field__label,
body[class*="blog"] .field--name-field-kurux-redaktionen .field__item {
    display: inline !important;
    font-size: 0.95rem;
}

body[class*="blog"] .field--name-field-kurux-redaktionen .field__label {
    font-weight: bold;
}

body[class*="blog"] .field--name-field-kurux-redaktionen .field__label::after {
    content: ": ";
}

body[class*="blog"] .field--name-field-kurux-redaktionen a {
    color: #9C4C94 !important;
    text-decoration: none;
}

body[class*="blog"] .field--name-field-blogaudio .field__label {
    font-weight: bold;
    margin-bottom: 10px;
    display: block;
}

body[class*="blog"] .node__content {
    display: block !important;
}

body[class*="blog"] .field--name-field-picture-epository {
    float: right !important;
    clear: right !important;
    width: 250px !important;
    text-align: right;
    margin-bottom: 20px;
}


#block-kulturrucksack-theme-views-block-blog-block-4 .view-blog .views-row, .view-blog-archiv .views-row {
  padding-bottom: 10px;
  background: transparent;
}

body[class*="blog"] .field--name-field-picture-epository {
  float: right !important;
  clear: right !important;
  width: 250px !important;
  text-align: right !important;
  display: block !important;
  margin-top: -10px !important;
}

body[class*="blog"] .field--name-field-picture-epository .field__label {
  display: block !important;
  width: 100% !important;
  font-size: 0.8em !important;
  color: #666 !important;
  font-weight: bold !important;
  padding: 0 !important;
  margin-top: 10px
}

body[class*="blog"] .field--name-field-picture-epository .field__label::after {
  content: ":";
}

body[class*="blog"] .field--name-field-picture-epository .field__item {
  display: block !important;
  width: 100% !important;
  font-size: 0.8em !important;
  color: #666 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.fieldset-wrapper body.page-node-type-veranstaltung .field--name-field-vng-anmeldungsart, body.page-node-type-veranstaltung .field--name-field-vng-angebotspreis, body.page-node-type-veranstaltung .field--name-field-vng-veranstaltungsart {
  line-height: 1.4;
}

.node--type-veranstaltung.node--view-mode-full .field--name-field-vng-image-banner img {
  width: 470px !important;
  height: 226px !important;
  object-fit: cover !important;
  max-width: none;
  box-shadow: 0 0 5px #b9b8b9;
}

.node--type-veranstaltung.node--view-mode-full .field--name-field-picture-epository .field__label {
  font-weight: bold !important;
}

.node--type-veranstaltung.node--view-mode-full .field--name-field-picture-epository {
  text-align: right !important;
}

#edit-title-wrapper label::after,
.field--name-title label::after {
  content: " *";
  color: red;
}



.js-media-library-selection .media-library-item__preview img {
  width: 200px !important;
  height: 150px !important;
  object-fit: cover !important;
}

/* Karte als Flex-Container damit order funktioniert */
.js-media-library-selection .media-library-item--grid {
  display: flex !important;
  flex-direction: column !important;
    width: 200px !important;
}

.js-media-library-selection .media-library-item__remove.icon-link {
  all: unset !important;
  display: block !important;
  margin-top: 5px !important;
  background-color: #9d4c94 !important;
  background-image: url(../images/button_bg.gif) !important;
  background-repeat: repeat-x !important;
  padding: 0.3em 1.1em !important;
  color: #fff !important;
  cursor: pointer !important;
  border: 0 !important;
  box-shadow: 0 0 5px #b9b8b9 !important;
  width: 100% !important;
  box-sizing: border-box !important;
  text-align: center !important;
}

.js-media-library-selection .js-media-library-item {
  display: flex !important;
  flex-direction: column !important;
}

.js-media-library-selection .media-library-item__remove.icon-link {
  order: 99 !important;
}

.node-veranstaltung-edit-form #node-veranstaltung-form-group-vng-images fieldset {
  width: fit-content;
}

#block-kulturrucksack-theme-weitere-veranstaltungen-kommune-block-1 {
  border: 2px dotted #000;
  padding-bottom: 20px;
  padding-top: 5px;
  width: 224px;
  font-size: 14px;
  padding: 6px 13px !important;
}

#block-kulturrucksack-theme-weitere-veranstaltungen-kommune-block-1 .views-field-title .field-content a {
  color: #00c4d3;
  font-size: 17px;
  font-weight: normal;
}

#block-kulturrucksack-theme-weitere-veranstaltungen-kommune-block-1 h2 {
  color: #9D4C94 !important;
  font-weight: normal !important;
  font-size: 18px !important;
  line-height: 1.3em !important;
}

body.page-node-type-veranstaltung article.node {
  padding-right: 0 !important;
}

#block-kulturrucksack-theme-weitere-veranstaltungen-kommune-block-1 .view-content .views-row {
  margin-bottom: 20px !important;
  background-image: url("../images/bg_gradient_line_re.png") !important;
  background-position: center bottom !important;
  background-repeat: no-repeat !important;
  padding-bottom: 15px !important;
}

.view-blog-archiv .views-row {
  padding-bottom: 60px;
  background: url('images/trennlinie.png') no-repeat center bottom transparent;
  margin-bottom: 20px;
}

.view-blog-archiv .views-field-created,
.view-blog-archiv .views-field-uid {
  display: inline-block !important;
  font-size: 0.875rem !important;
}

.view-blog-archiv .views-field-uid {
  display: inline-block !important;
  font-size: 0.875rem !important;
}

.view-blog-archiv .views-field-uid .field-content {
  font-weight: bold;
  margin-left: 5px;
  color: #413e41;
}

.view-blog-archiv .views-field-field-vng-kommune {
  display: block !important;
  clear: left !important;
}


.media-library-item__edit-btn {
  margin-top: 6px;
  text-align: center;
  font-size: 0.85em;
  text-decoration: none;
}

.media-library-edit-dialog .field--name-status,
.media-library-edit-dialog .field--name-field-field-bilderwelt,
.media-library-edit-dialog .field--name-field-schlagworte,
.media-library-edit-dialog #edit-revision-information,
.media-library-edit-dialog #edit-path-0,
.media-library-edit-dialog #edit-author,
.media-library-edit-dialog .js-form-type-vertical-tabs,
.media-library-edit-dialog button[data-once="ajax"],
.media-library-edit-dialog .field-multiple-drag,
.media-library-edit-dialog td:last-child .button--danger {
  display: none !important;
}

.media-library-edit-dialog #edit-field-media-image-0-remove-button,
.media-library-edit-dialog .ui-dialog-buttonpane .button--danger {
  display: none !important;
}

.media-library-edit-dialog [data-drupal-selector="edit-field-media-image-0-remove-button"] {
  display: none !important;
}

.media-library-edit-dialog .file {
  display: none !important;
}

.media-library-edit-dialog .ui-dialog-content {
  height: auto !important;
  max-height: 80vh !important;
  overflow-y: auto !important;
}

.media-library-edit-dialog {
  width: 50% !important;
  max-width: 600px !important;
}

.media-library-item__edit-btn {
    background: transparent !important; 
    border: none !important;      
    box-shadow: none !important;   
    color: #7d2082 !important;    
    padding: 0 !important;        
    font-size: 13px;
    cursor: pointer;
}


.media-library-item__edit-btn:focus {
    outline: none !important;
    box-shadow: none !important;
}

  #block-kulturrucksack-theme-kontaktblock .field--name-body::after {
    content: "";
    display: block;
    width: 177px;
    height: 163px;
    margin-top: -30px;    
    background-image: url("/sites/default/files/page/images/akb_logo_kulturrucksack_0.jpg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }

    .custom-tabs { display: flex; gap: 4px; margin-bottom: 16px; }
  .custom-tabs .tab {
    padding: 6px 14px;
    border: 1px solid #ccc;
    text-decoration: none;
    color: #333;
    background: #f5f5f5;
  }
  .custom-tabs .tab.active {
    background: #9C4C94 !important;
    color: white;
    border-color: #9C4C94 !important;
  }


/* ==========================================================================
   KOMPLETT-FIX: MOBILE OPTIMIERUNG (Header, Inhaltsfluss & Rahmen)
   ========================================================================== */

@media (max-width: 991px) {

  .region-breadcrumb {
    display: none !important;
  }

  main .container, 
  body:not(.path-frontpage) main .container {
    width: 100% !important;
    max-width: 100% !important;
    padding: 15px !important;
    margin-top: 0 !important;
    box-shadow: none !important;
  }

  article.node {
    padding-right: 0 !important;
  }


  .header-flex-container, 
  .region-header {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    height: 75px !important;
    padding: 0 15px !important;
    background-color: #22b9ca;
    margin: 0px;
  }

  .navbar-toggler {
    order: -1 !important;
    display: block !important;
    background-color: #22b9ca;
    margin-right: 15px !important;
    z-index: 1001;
    border: 1px solid;
  }

  .navbar-toggler-icon {
    filter: invert(1);
    width: 22px;
  }

  #block-kulturrucksack-theme-site-branding {
    order: 1 !important;
    margin: 0 !important;
  }

  #block-kulturrucksack-theme-site-branding img {
    height: 60px !important;
    width: auto;
  }

  #block-kulturrucksack-theme-main-menu {
    order: 2 !important;
    width: 100%;
    display: none; 
    background-color: #22b9ca !important;
    position: absolute;
    top: 75px;
    left: 0;
    z-index: 1000;
    padding: 10px 0 25px 0 !important;
    box-shadow: 0 5px 10px rgba(0,0,0,0.2);
  }

  #block-kulturrucksack-theme-main-menu.show {
    display: block !important;
  }

  #block-kulturrucksack-theme-main-menu ul.navbar-nav {
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 0 15px !important;
  }

  #block-kulturrucksack-theme-main-menu .nav-link {
    color: #000 !important;
    font-weight: bold;
    font-size: 18px;
    padding: 12px 15px !important;
    text-align: left;
    width: 100%;
  }

  #block-kulturrucksack-theme-main-menu .nav-link.active,
  #block-kulturrucksack-theme-main-menu .nav-link.is-active {
    background-color: #000 !important;
    color: #fff !important;
    border-radius: 4px;
  }


  #block-kulturrucksack-theme-filteroptionenkulturplanerpage-1 {
    border: 1px solid #ccc !important;
    height: auto !important;
    flex: none !important;
    margin-bottom: 20px !important;
  }

  #block-kulturrucksack-theme-views-block-kommunen-logos-slider-block-1 {
    border: 1px solid #888 !important;
    margin: 30px 0 !important;
    height: auto !important;
  }

  .view-frontpage.view-display-id-block_1 .news-header-bar {
    border: 1px solid rgba(255,255,255,0.1) !important;
    font-size: 15px !important;
  }


  #map-search-input, 
  #map-search-btn, 
  .btn-kulturrucksack {
    width: 100% !important;
    max-width: 100% !important;
    margin: 5px 0 !important;
  }

  .map-main-title {
    position: relative !important;
    top: 0 !important;
    left: 0 !important;
    text-align: center;
    padding: 15px 0 !important;
  }

  .view-frontpage.view-display-id-block_1 .newsfeed-row {
    display: flex !important;
    flex-direction: column !important;
    padding: 15px !important;
  }

  .view-frontpage.view-display-id-block_1 .newsfeed-row .views-field-field-news-images {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 10px 0 !important;
  }

  .node--type-veranstaltung.node--view-mode-teaser-startseite,
  .node--type-veranstaltung.node--view-mode-teaser-startseite .node__content,
  .node--type-veranstaltung.node--view-mode-teaser-startseite .field--name-field-vng-image-banner img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }

  .node--type-veranstaltung.node--view-mode-full .field--name-field-vng-image-banner,
  .node--type-veranstaltung.node--view-mode-full .field--name-field-picture-epository,
  body[class*="blog"] .field--name-field-artikelbild {
    float: none !important;
    width: 100% !important;
    margin: 0 0 15px 0 !important;
  }
}

@media (max-width: 576px) {
  body.path-frontpage .region-content {
    padding: 10px 5px !important;
  }
}

/* ==========================================================================
   MOBILE NEWSFEED: BILD OBEN & GROSS (REIHENFOLGE ÄNDERN)
   ========================================================================== */

@media (max-width: 991px) {
  .view-frontpage.view-display-id-block_1 .newsfeed-row {
    display: flex !important;
    flex-direction: column !important;
    padding: 20px 15px !important;
    align-items: center !important;
    text-align: center !important;
  }

  .view-frontpage.view-display-id-block_1 .newsfeed-row .views-field-field-news-images {
    order: -1 !important;
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 0 15px 0 !important;
  }

  .view-frontpage.view-display-id-block_1 .newsfeed-row .views-field-field-news-images img {
    width: 100% !important; 
    height: auto !important;
    max-width: 100% !important;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  }

  .view-frontpage.view-display-id-block_1 .newsfeed-row .views-field-title {
    order: 1 !important;
    margin-bottom: 10px !important;
  }

  .view-frontpage.view-display-id-block_1 .newsfeed-row .views-field-title a {
    font-size: 1.25rem !important;
    line-height: 1.3;
  }

  .view-frontpage.view-display-id-block_1 .newsfeed-row .views-field-field-news-teaser {
    order: 2 !important;
    margin-bottom: 10px !important;
  }

  .view-frontpage.view-display-id-block_1 .newsfeed-row .views-field-view-node {
    order: 3 !important;
  }

  .view-frontpage.view-display-id-block_1 .newsfeed-row .views-field-field-artikelbild,
  .view-frontpage.view-display-id-block_1 .newsfeed-row .views-field-field-image,
  .view-frontpage.view-display-id-block_1 .newsfeed-row .views-field-field-vng-image-thumbnail {
    display: none !important;
  }
}

/* ==========================================================================
   MOBILE FOOTER & LOGO-BALKEN FIX
   ========================================================================== */

@media (max-width: 991px) {
  #footer_desktop {
    display: none !important;
  }

    .logo-balken-region,
  .footer-logos,
  .region-footer-logos {
    display: none !important;
  }

  #footer_mobile {
    display: block !important;
    text-align: center;
    padding: 15px 0 !important;
    background-color: #fff;
    width: 100% !important;
  }

  .block {
    margin-bottom: 0px;
  }

@media (max-width: 991px) {
  #footer_mobile img {
    width: 300px !important;
    height: 54px !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    display: block !important;
    max-width: none !important;
  }

  #footer_mobile .col-xs-12 {
    margin-bottom: 20px !important;
  }
  
  #footer_mobile .text-center {
    margin-top: 10px !important;
  }
}

  #footer_mobile .text-center a {
    color: #9c3d91 !important;
    text-decoration: none !important;
    display: inline-block;
    padding: 0 2px;
  }

  #footer_mobile .text-center {
    word-spacing: 2px;
  }

  .legend-area {
  padding-top: 0px;
  padding-left: 0px;
}
}

@media (max-width: 1024px) {
  .container {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
}

@media (max-width: 991px) {


  #block-kulturrucksack-theme-benutzeranmeldung {
    display: block !important;
    padding: 25px !important;
    color: #ffffff !important;
    border-radius: 4px;
  }

  #block-kulturrucksack-theme-benutzeranmeldung::before,
  #block-kulturrucksack-theme-benutzeranmeldung h2 {
    color: #ffffff !important;
    font-weight: bold !important;
    font-size: 17px;
    margin-bottom: 15px !important;
    display: block !important;
  }

  #block-kulturrucksack-theme-benutzeranmeldung input[type="text"],
  #block-kulturrucksack-theme-benutzeranmeldung input[type="password"] {
    background-color: #ffffff !important;
    border: none !important;
    border-radius: 4px !important;
    height: 38px !important;
    margin-bottom: 12px !important;
    width: 100% !important;
    max-width: unset;
    padding-left: 10px !important;
  }

  #block-kulturrucksack-theme-benutzeranmeldung .custom-request-password-link {
    margin: 10px 0 15px 0 !important;
    font-size: 14px !important;
  }

  #block-kulturrucksack-theme-benutzeranmeldung .custom-request-password-link a {
    color: #ffffff !important;
    text-decoration: none !important;
  }

  #block-kulturrucksack-theme-benutzeranmeldung .custom-request-password-link::before {
    content: "• ";
    color: #ffffff;
    font-size: 20px;
    vertical-align: middle;
    margin-right: 5px;
  }

  #block-kulturrucksack-theme-benutzeranmeldung input[type="submit"] {
    background-color: #9d4c94 !important;
    background-image: url("../images/button_bg.gif") !important;
    background-repeat: repeat-x !important;
    border: 1px solid rgba(255,255,255,0.3) !important;
    color: #ffffff !important;
    padding: 8px 25px !important;
    font-weight: bold !important;
    border-radius: 2px !important;
    box-shadow: 0 0 8px rgba(255,255,255,0.2) !important;
    cursor: pointer !important;
    margin-bottom: 0px;
  }

  #block-kulturrucksack-theme-benutzeranmeldung .item-list {
    display: none !important;
  }

  .content-footer-wrapper::before {
  background: none;
}

#block-kulturrucksack-theme-benutzeranmeldung form {
  margin: 0px;
}
}

/* ==========================================================================
   DETAILSEITEN-STIL: WEISSER KASTEN MIT SEITENLINIEN
   ========================================================================== */

body:not(.path-frontpage) main .container {
  background-color: #ffffff !important;
  box-shadow: 0 0 10px #b9b8b9 !important;
  border-left: 1px solid #e0e0e0 !important;
  border-right: 1px solid #e0e0e0 !important;
  border-top: 1px solid #e0e0e0 !important;
  border-bottom: 1px solid #e0e0e0 !important;
  margin-top: 30px !important;
  width: 93% !important;
}

@media (max-width: 991px) {
  .region-content-footer {
    padding: 0 !important;
    display: block !important;
  }

  #block-kulturrucksack-theme-benutzeranmeldung {
    display: block !important;
    margin: 20px 15px !important; 
    width: auto !important;
    padding: 25px !important;
    background: #9C4C95 linear-gradient(to bottom, #d81b8c 0%, #b51f7a 35%, #8f2b6f 65%, #6b295a 100%) !important;
    color: #ffffff !important;
    border-radius: 4px;
    box-sizing: border-box !important;
  }

  #block-kulturrucksack-theme-benutzeranmeldung .form-control {
    width: 100% !important;
    max-width: 300px !important;
    height: 38px !important;
    border-radius: 4px !important;
    margin-bottom: 10px !important;
  }

  #block-kulturrucksack-theme-benutzeranmeldung .custom-request-password-link {
    margin: 15px 0 !important;
    text-align: left;
  }

  #block-kulturrucksack-theme-benutzeranmeldung .form-actions {
    text-align: left !important;
    margin: 0 !important;
  }
}

@media (max-width: 991px) {
  #block-kulturrucksack-theme-footermenu,
  #block-kulturrucksack-footer-kommunen {
    display: none !important;
  }

  #block-kulturrucksack-theme-kontaktblock {
    display: none !important;
  }

  body[class*="info"] #block-kulturrucksack-theme-kontaktblock,
  body.path-info #block-kulturrucksack-theme-kontaktblock {
    display: block !important;
    margin: 20px 15px !important;
    background: #ffffff !important;
    border: 1px solid #ccc !important;
    padding: 0 !important;
    width: auto !important;
  }

  body[class*="info"] #block-kulturrucksack-theme-kontaktblock h2 {
    background: #000 url("../images/bg_blocktitle.png") no-repeat 0 0 !important;
    color: #fff !important;
    height: 33px !important;
    line-height: 33px !important;
    padding: 0 15px !important;
    font-size: 16px !important;
    margin: 0 !important;
  }

  body[class*="info"] #block-kulturrucksack-theme-kontaktblock .field__item {
    padding: 15px !important;
    color: #333 !important;
    font-size: 14px !important;
  }

  #block-kulturrucksack-theme-benutzeranmeldung {
    display: block !important;
    margin: 20px 15px !important;
    padding: 25px !important;
    background: #9C4C95 linear-gradient(to bottom, #d81b8c 0%, #b51f7a 35%, #8f2b6f 65%, #6b295a 100%) !important;
    color: #ffffff !important;
    width: auto !important;
  }

  #block-kulturrucksack-theme-benutzeranmeldung .form-control {
    width: 100% !important;
    max-width: 220px !important;
    height: 32px !important;
    border-radius: 4px !important;
    margin-bottom: 10px !important;
  }

  #block-kulturrucksack-theme-benutzeranmeldung .custom-request-password-link::before {
    content: "• ";
    color: #fff;
    font-size: 20px;
  }
}

@media (max-width: 991px) {
  #block-kulturrucksack-theme-footermenu,
  #block-kulturrucksack-footer-kommunen {
    display: none !important;
  }

  
  body.path-frontpage #block-kulturrucksack-theme-kontaktblock {
    display: none !important;
  }

  body:not(.path-frontpage) #block-kulturrucksack-theme-kontaktblock {
    display: block !important;
    margin: 20px 15px !important;
    background: linear-gradient(180deg, #3c3c3c 0%, #474747 50%, #5b5b5b 100%);
    border: 1px solid #ccc !important;
    width: auto !important;
    box-sizing: border-box !important;
  }

  body:not(.path-frontpage) #block-kulturrucksack-theme-kontaktblock h2 {
    color: #fff !important;
    height: 33px !important;
    line-height: 33px !important;
    padding: 0 15px !important;
    font-size: 16px !important;
    margin: 0 !important;
  }

  body:not(.path-frontpage) #block-kulturrucksack-theme-kontaktblock .field--name-body {
    padding: 15px !important;
    color: white;

    font-size: 14px !important;
  }

  #block-kulturrucksack-theme-benutzeranmeldung, #block-kulturrucksack-theme-usermenu {
    display: block !important;
    margin: 20px 15px !important;
    padding: 25px !important;
    background: #9C4C95 linear-gradient(to bottom, #d81b8c 0%, #b51f7a 35%, #8f2b6f 65%, #6b295a 100%) !important;
    color: #ffffff !important;
    width: auto !important;
    box-sizing: border-box !important;
  }

  #block-kulturrucksack-theme-benutzeranmeldung .form-control {
    width: 100% !important;
    max-width: 220px !important;
    height: 32px !important;
    border-radius: 4px !important;
    margin-bottom: 10px !important;
    background: #fff !important;
  }
  
  #block-kulturrucksack-theme-benutzeranmeldung .custom-request-password-link::before {
    content: "• ";
    color: #fff;
    font-size: 20px;
    vertical-align: middle;
  }
}

@media (max-width: 991px) {
  body:not(.path-frontpage) #block-kulturrucksack-theme-kontaktblock .field--name-body::after {
    content: "";
    display: block;
    width: 177px;
    height: 163px;
    margin-top: -30px;    
    background-image: url("/sites/default/files/page/images/akb_logo_kulturrucksack_0.jpg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
  }
}



/* ==========================================================================
   MOBILE PAGINATION (PAGER) OPTIMIERUNG
   ========================================================================== */

@media (max-width: 768px) {
  .pager {
    margin: 20px 0 !important;
    display: flex;
    justify-content: center;
  }

  .pagination {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    padding: 0 !important;
    gap: 5px;
  }

  .pagination .page-item {
    margin: 0 !important;
  }

  .pagination .page-link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 35px;
    height: 35px;
    padding: 5px !important;
    font-size: 14px !important;
    color: #9c3d91 !important;
    border: 1px solid #dee2e6 !important;
    background-color: #fff !important;
    text-decoration: none;
  }

  .pagination .page-item.active .page-link {
    background-color: #9c3d91 !important;
    border-color: #9c3d91 !important;
    color: #fff !important;
    font-weight: bold;
  }

  .pagination .pager__item--next .page-link span:not([aria-hidden="true"]),
  .pagination .pager__item--last .page-link span:not([aria-hidden="true"]) {
    display: none !important;
  }

  .pagination .page-link [aria-hidden="true"] {
    font-size: 18px;
    font-weight: bold;
  }

  .pagination .page-item.disabled .page-link {
    border: none !important;
    background: transparent !important;
    color: #ccc !important;
  }
}

/* ==========================================================================
   FINAL MOBILE FIX: TEILNEHMENDE KOMMUNEN (1 SPALTE)
   ========================================================================== */

@media (max-width: 991px) {
  .view-teilnehmende-kommunen .views-view-grid,
  .view-teilnehmende-kommunen .views-view-grid > div {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    padding: 0 !important;
    margin: 0 !important;
    float: none !important;
  }

  .view-teilnehmende-kommunen .views-row {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    margin: 0 0 20px 0 !important;
    padding: 0 !important;
    float: none !important;
    clear: both;
  }

  .view-teilnehmende-kommunen .views-col {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    margin: 0 0 15px 0 !important;
    padding: 0 !important;
    float: none !important;
  }

  .view-teilnehmende-kommunen .views-field-field-komune-logo {
    background-color: #ffffff;
    border: 1px solid #e0e0e0;
    box-shadow: 0 0 5px #b9b8b9;
    padding: 20px;
    display: flex !important;
    justify-content: center;
    align-items: center;
    min-height: 120px;
    width: 100%;
    box-sizing: border-box !important;
  }

  .view-teilnehmende-kommunen .views-field-field-komune-logo img {
    max-width: 100% !important;
    height: auto !important;
    max-height: 80px;
    object-fit: contain;
  }

  #block-kulturrucksack-theme-views-block-teilnehmende-kommunen-block-1 h2 {
    text-align: center;
    margin-bottom: 20px;
  }

  #block-kulturrucksack-theme-views-block-teilnehmende-kommunen-block-1 .view-teilnehmende-kommunen .views-col {
  padding-right: 0px !important;
}

#block-kulturrucksack-theme-kommunensidemenu-2,#block-kulturrucksack-theme-adminredaktion, #block-kulturrucksack-theme-views-block-kommune-sidebar-logo-block-1, #block-kulturrucksack-theme-views-block-blog-block-1, #block-kulturrucksack-theme-blockinfo,#block-kulturrucksack-theme-views-block-blog-archiv-block-1, #block-kulturrucksack-theme-landesweiteprojektebild, #block-kulturrucksack-veranstaltungblock-1, #block-kulturrucksack-theme-infomenu, #block-kulturrucksack-theme-kommune-sidebar-logo-block-2, #block-kulturrucksack-kulturplaner-veranstaltungblock-2 {
  display: none;
}
}

/* ==========================================================================
   DEAKTIVIERUNG DER LACY-GRID STYLES FÜR MOBILE
   ========================================================================== */

@media (max-width: 1024px) {

  body[class*="blog"] .region-sidebar-first, 
  body.vocabulary-kurux-redaktionen .region-sidebar-first, 
  body.path-taxonomy .region-sidebar-first {
    margin-top: 20px !important;   
    margin-left: 0 !important;      
    margin-right: 0 !important;  
    max-width: 100% !important;    
    padding-left: 0 !important;
    padding-right: 0px !important;
  }

  .region-sidebar-first {
    flex: none !important;          
    width: 100% !important;          
    max-width: 100% !important;     
    margin-top: 20px !important; 
    margin-left: 0 !important;  
    float: none !important;     
    background: transparent !important;
  }

  #content-column, 
  .region-sidebar-first, 
  .region-sidebar-second,
  .two-sidebars .content-inner, 
  .one-sidebar .content-inner {
    float: none !important;        
    margin-left: 0 !important;      
    margin-right: 0 !important;
    width: 100% !important;         
  }

  #block-kulturrucksack-theme-kommune-sidebar-kontakt {
    display: block !important;
    margin: 20px 15px !important;    
    height: auto !important;        
    position: relative !important;
    border: 1px solid #ccc !important;
    background: #fff !important;
  }
  
  #block-kulturrucksack-theme-kommune-sidebar-kontakt h2 {
    height: auto !important;
    position: relative !important;
    margin: 0 !important;
  }
}

/* ==========================================================================
   MOBILE PAGINATION FIX
   ========================================================================== */

@media (max-width: 991px) {
  .pager {
    display: flex !important;
    justify-content: center !important;
    margin: 30px 0 !important;
    width: 100% !important;
    clear: both;
  }

.node--type-veranstaltung.node--view-mode-full .field--name-field-picture-epository {
  text-align: left !important;
}

.node--type-veranstaltung.node--view-mode-full .field--name-field-vng-image-banner img {
  width: 100%;
}

  .pagination {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    padding: 0 !important;
    list-style: none !important;
    gap: 5px;
  }

  .pagination .page-item {
    margin: 0 !important;
  }

  .pagination .page-link {
    display: flex !important;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 5px !important;
    background-color: #ffffff !important;
    border: 1px solid #cccccc !important;
    color: #9c3d91 !important;
    font-size: 14px !important;
    text-decoration: none !important;
    border-radius: 4px;
  }

  .pagination .page-item.active .page-link,
  .pagination .page-item.is-active .page-link {
    background-color: #9c3d91 !important;
    border-color: #9c3d91 !important;
    color: #ffffff !important;
    font-weight: bold;
  }


  .pagination .pager__item--next .page-link,
  .pagination .pager__item--last .page-link {
    font-size: 0 !important;
  }

  .pagination .pager__item--next .page-link [aria-hidden="true"]::before {
    content: "›";
    font-size: 20px !important;
  }

  .pagination .pager__item--last .page-link [aria-hidden="true"]::before {
    content: "»";
    font-size: 20px !important;
  }

  .pagination .page-item.disabled .page-link {
    background: transparent !important;
    border: none !important;
    color: #999 !important;
  }
}


/* ==========================================================================
   MOBILE BLOG FIX: REIHENFOLGE & WILLKOMMENS-BLOCK
   ========================================================================== */

@media (max-width: 991px) {
  .row.g-0 {
    display: flex !important;
    flex-direction: column !important;
  }

  .order-2.order-lg-1 {
    order: 1 !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-top: 0 !important;
  }

  .order-1.order-lg-2 {
    order: 2 !important;
    width: 100% !important;
  }

  .order-3 {
    order: 3 !important;
    width: 100% !important;
    margin-left: 0 !important;
    display: block !important;
  }

  #block-kulturrucksack-theme-blockinfo {
    border: 1px solid #ccc !important;
    padding: 15px !important;
    margin: 10px 15px 20px 15px !important;
    background: #fff;
    height: auto !important;
  }

  #block-kulturrucksack-theme-blockinfo .h2-headline {
    margin: 10px 0 !important;
    position: static !important;
  }

  #block-kulturrucksack-theme-blockinfo img {
    max-width: 120px !important;
    height: auto !important;
    margin: 0 auto !important;
    display: block !important;
  }

  #block-kulturrucksack-theme-blockinfo h2 {
    text-align: center !important;
    font-size: 1.3rem !important;
    background: none !important;
    color: #9d4c94 !important;
  }

  #block-kulturrucksack-theme-blockinfo p {
    text-align: center !important;
    font-size: 14px !important;
  }

  #block-kulturrucksack-theme-filteroptionenblogpage-1 {
    margin: 0 15px 20px 15px !important;
    width: auto !important;
    border: 1px solid #ccc !important;
  }

  #block-kulturrucksack-theme-filteroptionenblogpage-1 input,
  #block-kulturrucksack-theme-filteroptionenblogpage-1 select {
    width: 100% !important;
    max-width: 100% !important;
  }

  #block-kulturrucksack-theme-views-block-blog-archiv-block-1 {
    order: 4 !important;
    margin: 20px 15px !important;
    background: #f9f9f9;
    padding: 15px !important;
    border: 1px solid #eee;
  }
}

@media (max-width: 991px) {

  .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='white' stroke-width='3' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E") !important;
    filter: none !important;
    width: 24px;
    height: 24px;
  }

  .nrw-map-master-wrapper {
  margin-top: 10px;
}
}

body.path-frontpage article.node--type-basic-page {
    display: none !important;
}

body.path-frontpage article[data-history-node-id="24497"] {
    display: none !important;
}

.field--name-field-vng-ort, .field--name-field-vng-kontakt-name, .field--name-field-vng-kontakt-strasse, .field--name-field-vng-kontakt-plz, .field--name-field-vng-kontakt-ort, .field--name-field-vng-kontakt-ort, .field--name-field-vng-kontakt-telefon, .field--name-field-vng-kontakt-email {
  display: none;
}

.field--name-field-anmeldeinformation{
  margin-top: 40px;
}

.news-banner .field--name-name, .news-banner .field--name-field-schlagworte, .news-banner .field--name-field-urheber, .news-banner .field--name-field-beschreibung, .blog-banner .field--name-name, .blog-banner .field--name-field-schlagworte, .blog-banner .field--name-field-urheber, .blog-banner .field--name-field-beschreibung,
.blog-teaser-image .field--name-name, .blog-teaser-image .field--name-field-schlagworte, .blog-teaser-image .field--name-field-urheber, .blog-teaser-image .field--name-field-beschreibung,
.event-banner .field--name-name, .event-banner .field--name-field-schlagworte, .event-banner .field--name-field-urheber, .event-banner .field--name-field-beschreibung,
.event-teaser-image .field--name-name, .event-teaser-image .field--name-field-schlagworte, .event-teaser-image .field--name-field-urheber, .event-teaser-image .field--name-field-beschreibung,
.event-banner-big .field--name-name, .event-banner-big .field--name-field-schlagworte, .event-banner-big .field--name-field-urheber, .event-banner-big .field--name-field-beschreibung {
  display: none;
}

/* ==========================================================================
   NEWS DETAILSEITE: KONSOLIDIERTES LAYOUT (BILD NEBEN TITEL)
   ========================================================================== */

body.page-node-type-news .region-content {
    display: block !important;
    position: relative !important; 
}

  body[class*="aktuelles"] #block-kulturrucksack-theme-seitentitel h1 {
    color: #9C4C94 !important; 
    font-size: 24px !important;
    font-weight: normal !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
    line-height: 1.2;
    padding-right: 250px !important; 
}

.node--type-news.node--view-mode-full .news-banner {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    width: 210px !important;
    height: 140px !important;
    z-index: 100;
}

.node--type-news.node--view-mode-full .news-banner img {
    width: 210px !important;
    height: 140px !important;
    object-fit: cover !important;
    padding: 5px;
    background: #fff;
    border: 1px solid #eee;
    box-shadow: 0 0 5px #b9b8b9;
}

/* 5. Inhalts-Textfluss (Body) */
.node--type-news.node--view-mode-full .node__content {
    padding-right: 250px !important; /* Text rückt links am Bild vorbei */
    display: block !important;
}

.article-type-news .field--name-field-aktuellgalerie .field__item {
    display: inline-block !important;
    width: 95px !important;
    height: 70px !important;
    margin-right: 11px;
    margin-bottom: 11px;
    padding: 5px;
    background: #fff;
    box-shadow: 0 0 5px #b9b8b9;
    vertical-align: top;
}

.article-type-news .field--name-field-aktuellgalerie img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

@media (max-width: 768px) {
    #block-kulturrucksack-theme-seitentitel h1,
    .node--type-news.node--view-mode-full .node__content {
        padding-right: 0 !important;
    }
    
    .node--type-news.node--view-mode-full .news-banner {
        position: relative !important; 
        width: 100% !important;
        height: auto !important;
        margin-bottom: 20px !important;
        text-align: center;
    }
    
    .node--type-news.node--view-mode-full .news-banner img {
        width: 100% !important;
        height: auto !important;
    }
}

.field--name-field-news-attachments .field__label, .field--name-field-aktuellgalerie .field__label {
  color: #22B9CA !important;
}

.article-type-news {
  padding-right: 0px !important;
}

/* ==========================================================================
   NEWSFEED KACHELN: 57px BILD LINKS, TEXT RECHTS
   ========================================================================== */



.view-frontpage .newsfeed-row .views-field-field-news-images,
.view-frontpage .newsfeed-row .views-field-nothing {
    grid-column: 1 !important;
    grid-row: 1 / span 10 !important;
    margin: 0 !important;
}

.view-frontpage .newsfeed-row .views-field-field-news-images img,
.view-frontpage .newsfeed-row .views-field-nothing img {
    width: 57px !important;
    height: 57px !important;
    min-width: 57px !important;
    object-fit: cover !important;
    border-radius: 2px;
}

.view-frontpage .newsfeed-row .views-field-title,
.view-frontpage .newsfeed-row .views-field-field-news-teaser,
.view-frontpage .newsfeed-row .views-field-view-node {
    grid-column: 2 !important;
    padding: 0 !important;
    text-align: left !important;
    margin-left: 10px;
}

.view-frontpage .newsfeed-row .views-field-body {
  margin-left: 10px;
  line-height: 1.4 !important;
  color: #333 !important;

}

.view-frontpage .newsfeed-row .views-field-body p {
     margin-bottom: 0px;
       font-size: 0.85rem !important;
  color: #333 !important;
  font-weight: bold !important;
}

.view-frontpage .newsfeed-row .views-field-title a {
    color: #9C4C94 !important;
    font-weight: bold !important;
    font-size: 1.1rem !important;
    line-height: 1.2;
    text-decoration: none;
}

.view-frontpage .newsfeed-row .views-field-field-news-teaser p {
    font-size: 0.95rem !important;
    line-height: 1.4 !important;
    color: #333 !important;
    font-weight: normal !important;
    margin-bottom: 0px;
}

.view-frontpage .newsfeed-row .views-field-view-node a {
    color: #9C4C94 !important;
    font-size: 0.9rem !important;
    font-weight: normal !important;
    text-decoration: none;
}

.view-frontpage .newsfeed-row .views-field-field-artikelbild,
.view-frontpage .newsfeed-row .views-field-field-image,
.view-frontpage .newsfeed-row .views-field-field-vng-image-thumbnail {
    display: none !important;
}

.newsfeed-image-wrapper .media-library-item__name {
  display: none;
}

#edit-group-verschiedenes fieldset {
    border: none !important;      
    padding: 0 !important;     
    margin: 0 !important;       
    background: transparent !important; 
    box-shadow: none !important; 
}

#edit-group-verschiedenes legend {
    display: none !important;
}

#edit-group-verschiedenes .js-form-item {
    margin-bottom: 5px;
}

#edit-group-verschiedenes #edit-field-veranstaltung-ausgebucht {
  border-top: none;
}


.view-blog .views-row {
    display: block !important;
    margin-bottom: 40px;
    clear: both;
    overflow: hidden;
}

.view-blog .views-field-nothing {
    float: left !important;
    margin: 5px 20px 10px 0 !important;
    width: 200px;
}

.view-blog .blog-teaser-image img {
    width: 100% !important;
    height: auto !important;
    border: 1px solid #ccc;
    padding: 3px;
    background: #fff;
    box-shadow: 0 0 5px #b9b8b9;
}

.view-blog .views-field-body {
    display: block;
    line-height: 1.5;
}


.view-blog .views-field-field-blogkurux,
.view-blog .views-field-field-blogaudio,
.view-blog .views-field-field-bloggalerie,
.view-blog .views-field-field-blogvideo {
    margin-top: 10px;
    margin-right: 10px;
}

.view-blog .views-field-view-node {
    display: inline-block;
    margin-top: 5px;
}

/* ==========================================================================
   KULTURPLANER: BILD LINKS, TEXT RECHTS (BILD 1 LOOK)
   ========================================================================== */

.view-kulturplaner .views-row {
    display: block !important; 
    overflow: hidden;
    padding: 25px 0 !important;
    border-bottom: 1px solid #eee;
    clear: both;
}

.view-kulturplaner .views-field-nothing {
    float: left !important;
    width: 130px !important; 
    margin: 0 20px 10px 0 !important;
}

.view-kulturplaner .event-banner-big img,
.view-kulturplaner .event-teaser-image img {
    width: 130px !important;
    height: 130px !important;
    object-fit: cover !important; 
    padding: 4px;
    background: #fff;
    border: 1px solid #ccc;
    box-shadow: 0 0 5px #b9b8b9;
}

.view-kulturplaner .views-field-field-vng-datum,
.view-kulturplaner .views-field-title,
.view-kulturplaner .views-field-field-vng-beschreibung {
    display: block !important;
    margin-left: 155px !important;
    line-height: 1.4;
}

.view-kulturplaner .views-field-title a {
    color: #9C4C94 !important;
    font-size: 1.25rem !important;
    font-weight: bold !important;
    text-decoration: none;
}

.view-kulturplaner .views-field-field-vng-anmeldungsart,
.view-kulturplaner .views-field-field-vng-angebotspreis,
.view-kulturplaner .views-field-field-vng-veranstaltungsart {
    display: inline-block !important;
    margin-top: 10px;
    margin-right: 10px;
    vertical-align: middle;
    margin-left: 0 !important;
}

.node--type-veranstaltung.node--view-mode-full .event-image-wrapper {
    float: right !important;
    width: 470px !important;
}

.node--type-veranstaltung.node--view-mode-full .event-image-wrapper img {
    width: 470px !important;
    height: 225.85px !important;
    object-fit: cover !important;
    box-shadow: 0 0 5px #b9b8b9;
}


.event-image-wrapper .field--name-name,
.event-image-wrapper .field--name-field-schlagworte,
.event-image-wrapper .field--name-field-urheber,
.event-image-wrapper .field--name-field-beschreibung {
    display: none !important;
}

.node--type-veranstaltung.node--view-mode-full .node__content {
    display: block !important;
    clear: none !important;
}

.node--type-veranstaltung.node--view-mode-full .field--name-field-picture-epository {
    float: right !important;
    clear: right !important;
    width: 470px !important;
    text-align: right;
    margin-bottom: 20px;
}

.node--type-veranstaltung.node--view-mode-full .field--name-field-picture-epository .field__label,
.node--type-veranstaltung.node--view-mode-full .field--name-field-picture-epository .field__item {
    display: inline !important;
    font-size: 0.75rem !important;
    color: #666 !important;
    font-weight: normal !important;
}

/* ==========================================================================
   KULTURPLANER: FINALES KONSOLIDIERTES LAYOUT
   ========================================================================== */

.view-kulturplaner .views-row {
    display: block !important;
    position: relative !important;
    min-height: 150px;
    padding: 25px 0 !important;
    border-bottom: 1px solid #eee;
    clear: both;
}

.view-kulturplaner .views-field-nothing {
    position: absolute !important;
    left: 0 !important;
    top: 25px !important;
    width: 130px !important;
}

.view-kulturplaner .event-teaser-image img,
.view-kulturplaner .event-banner-big img {
    width: 130px !important;
    height: 130px !important;
    object-fit: cover !important;
    padding: 4px;
    background: #fff;
    border: 1px solid #ccc;
    box-shadow: 0 0 5px #b9b8b9;
}

.view-kulturplaner .views-field-field-vng-datum,
.view-kulturplaner .views-field-title,
.view-kulturplaner .views-field-field-vng-beschreibung {
    margin-left: 155px !important;
    display: block !important;
    margin-bottom: 5px !important;
}

.view-kulturplaner .views-field-title a {
    color: #9C4C94 !important;
    font-size: 1.2rem !important;
    font-weight: bold !important;
    text-decoration: none;
}


.view-kulturplaner .views-field-field-vng-anmeldungsart {
    margin-left: 155px !important; 
    display: inline-block !important;
    vertical-align: middle;
    margin-top: 15px !important;
    clear: left; 
}

.view-kulturplaner .views-field-field-vng-angebotspreis,
.view-kulturplaner .views-field-field-vng-veranstaltungsart {
    display: inline-block !important;
    vertical-align: middle;
    margin-top: 15px !important;
    width: auto !important;
}

.view-kulturplaner .views-field-field-vng-beschreibung {
    overflow-wrap: break-word;
    word-wrap: break-word;
    line-height: 1.4;
}

.node--type-veranstaltung .event-image-wrapper .contextual {
    display: none !important;
}



#block-kulturrucksack-theme-views-block-blog-block-4 .contextual,
#block-kulturrucksack-theme-views-block-blog-block-4 .trigger {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.blog-teaser-image .contextual, .event-banner-big .contextual {
    display: none !important;
    pointer-events: none !important;
}

.blog-teaser-image a {
    display: block !important;
    position: relative !important;
    z-index: 100 !important;
    cursor: pointer !important;
}

.field--name-field-field-bilderwelt {
  display: none;
}





#block-kulturrucksack-veranstaltungblock-1 .form-check.js-form-item {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 6px !important;
  padding-left: 0 !important;
  margin: 2px 0 !important;
}

#block-kulturrucksack-veranstaltungblock-1 .form-check.js-form-item .form-check-input {
  position: static !important;
  float: none !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
  width: 14px !important;
  height: 14px !important;
}

#block-kulturrucksack-veranstaltungblock-1 .form-check.js-form-item .form-check-label {
  position: static !important;
  margin: 0 !important;
  padding: 0 !important;
}


.download-button-wrapper .btn-primary {
  background-color: #9d4c94 !important;
  background-image: url(../images/button_bg.gif) !important;
  background-repeat: repeat-x !important;
  color: #fff !important;
  cursor: pointer !important;
  border: 0 !important;
  box-shadow: 0 0 5px #b9b8b9 !important;
  text-decoration: none !important;
  padding: 8px 15px !important;
  font-weight: bold;
  display: block;
  width: 100%;
}

.download-button-wrapper .btn-primary:hover,
.download-button-wrapper .btn-primary:focus,
.download-button-wrapper .btn-primary:active {
  background-color: #7a3b73 !important; 
  color: #fff !important;
}


.view-bilderwelt-galerie .row.g-4 > div {
    display: flex;
    flex-direction: column;
    padding-bottom: 20px; 
    height: auto;
}

.view-bilderwelt-galerie .views-field-field-media-image {
    background: #f8f8f8;
    border: 1px solid #eee;
    height: 200px; 
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin-bottom: 10px;
}

.view-bilderwelt-galerie .views-field-field-media-image img {
    max-height: 100%;
    width: auto;
    object-fit: contain; 
}

.view-bilderwelt-galerie .views-field-field-beschreibung {
    font-size: 0.85rem;
    line-height: 1.3;
    margin-bottom: 15px;
    min-height: 60px; 
    flex-grow: 1; 
}

.view-bilderwelt-galerie .views-field-field-beschreibung .field-content:empty::before {
    content: "\00a0"; 
}

.view-bilderwelt-galerie .views-row {
    border-bottom: 1px solid #eee;
    padding-bottom: 30px;
    margin-bottom: 30px;
}


.view-bilderwelt-galerie .pagination .page-link {
    color: #9d4c94 !important;
    background-color: #fff;
    border-color: #dee2e6;
}

.view-bilderwelt-galerie .pagination .page-item.active .page-link {
    color: #fff !important;
    background-color: #9d4c94 !important;
    border-color: #9d4c94 !important;
}

.view-bilderwelt-galerie .pagination .page-link:hover {
    color: #fff !important;
    background-color: #9d4c94 !important;
    border-color: #9d4c94 !important;
    text-decoration: none;
}

.view-bilderwelt-galerie .pagination .page-item.disabled .page-link {
    color: #6c757d !important;
    background-color: #f8f9fa;
}

.view-id-frontpage .news-header-bar {
    background-color: #3f3d3d !important;
    color: #fff !important;
    padding: 5px 15px;
    font-size: 1.2em;
    border: none;
}

.view-id-frontpage .newsfeed-row {
    background-color: #fff;
    padding: 10px;
    display: grid !important;
    grid-template-columns: 100px 1fr !important;
    align-items: start;
}

.view-id-frontpage .newsfeed-row .views-field-nothing {
    grid-column: 1 !important;
    grid-row: 1 / 4 !important; 
}

.view-id-frontpage .newsfeed-row .newsfeed-image-wrapper img {
    width: 100% !important;
    border-radius: 0;
    display: block;
}

.view-id-frontpage .views-field-title {
    grid-column: 2 !important;
}

.view-id-frontpage .views-field-title a {
    color: #9d4c94 !important;
    font-weight: bold !important;
    text-decoration: none;
    font-size: 1.15rem;
    line-height: 1.2;
}

.view-id-frontpage .views-field-title a:hover {
    text-decoration: underline;
}

.view-id-frontpage .views-field-field-news-teaser {
    grid-column: 2 !important;
    font-size: 0.95rem;
    color: #333;
    line-height: 1.4;
}

.view-id-frontpage .views-field-view-node {
    grid-column: 2 !important;
}


html,
body.maintenance-page {
  background: #f3f3f3 !important;
  margin: 0;
  min-height: 100%;
}

body.maintenance-page .dialog-off-canvas-main-canvas,
body.maintenance-page .layout-container,
body.maintenance-page main,
body.maintenance-page header {
  background: transparent !important;
}

body.maintenance-page {
  font-family: Arial, Helvetica, sans-serif;
  color: #222;
}

body.maintenance-page .layout-container {
  display: block !important;
  min-height: auto !important;
  height: auto !important;
  padding: 30px 20px !important;
}

body.maintenance-page header {
  margin-bottom: 20px;
  text-align: left !important;
}

body.maintenance-page header img {
  max-width: 170px;
  height: auto;
  display: block;
}

body.maintenance-page main {
  max-width: 1000px;
  background: #f7f7f7 !important;
  padding: 16px 20px;
  box-shadow: none !important;
  border: none !important;
}

body.maintenance-page h1 {
  margin: 0 0 16px 0;
  font-size: 2rem;
  font-weight: 400;
  color: #333;
  text-align: left !important;
}

body.maintenance-page a {
  color: #a03c8c;
  text-decoration: none;
}

body.maintenance-page a:hover {
  text-decoration: underline;
}

body.maintenance-page header[role="banner"] {
  box-shadow: none !important;
}



.mt-auto {
  background-color: white;
}