﻿

/* Futura PT Book
        font-family: "futura-pt", sans-serif;
        font-weight: 400;
        font-style: normal;

    Futura PT Book Oblique
        font-family: "futura-pt", sans-serif;
        font-weight: 400;
        font-style: italic;

    Futura PT Heavy
        font-family: "futura-pt", sans-serif;
        font-weight: 700;
        font-style: normal;


Root-Fontsize in body/html:     font-size:16px; 
Container-Font-Size:            font-size: clamp(0.9rem, 1cqw, 1.6rem);
Element-Font-Size p:            1.0em
*/

/*Redaktionssystem*/
#Bereich2 {height:100%!important;}                      /* Für Startseite der Header */
#Bereich2 .block  {height:100%!important; margin:0;}    /* Für Startseite der Header */
.Bereich {border:0px solid #f00;min-height:100px; z-index:1;}
/*Redaktionssystem*/

.clearfix {clear:both!important;}


html {
    hyphens: auto;
    -webkit-hyphens: auto; /* Safari */
    -ms-hyphens: auto;     /* alte IE */
    overflow-wrap: break-word; /* falls nötig zusätzlich */
    word-wrap: break-word;     /* legacy Fallback */
    hyphenate-limit-chars: 6 3 3; /* experimentell */
    /*Alternativ: 
    http://github.com/mnater/Hyphenopoly
    hyphenate-limit-chars: 5 3 2;
    */
    /*Ligaturen entfernen*/
    font-feature-settings: "liga" 0, "clig" 0;
    -webkit-font-feature-settings: "liga" 0, "clig" 0;
    -moz-font-feature-settings: "liga" 0, "clig" 0;
}

    body {
        margin-top: 0;
        transition: margin-top 0.6s ease-out; /*für den Meldungsbutton oben*/
    }
     a {color:#303030; text-decoration:underline;} 
     a:hover {color:#A81D25;} 

    body.meldung-offen { margin-top: 10cqw; }
    body.meldung-kompakt {margin-top: 0; }
    #meldungsbalken {
        line-height:170%;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        height: 0;
        overflow: hidden;
        background-color: #303030;
        color: #ffffff;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        font-size: clamp(18px, 2cqw ,26px);
        z-index: 9999;
        padding: 0 20px;
        box-sizing: border-box;
        transition: height 0.6s ease-out;
    }
    #meldungsbalken #meldungsbalkenText {padding: 6cqw  10cqw 6cqw 10cqw;}
    #meldungsbalken a {color:#fff; text-decoration:none;}
    #meldungsbalken a:hover {text-decoration:underline;}
   #meldungsbalken a::before {
    content: "";
    display: inline-block;
  width: 2.0cqw;
  height: 2.0cqw;
margin-top: -0.3cqw;
  margin-right: 0.35cqw;
  margin-left: -2px;
    background-color: currentColor;
    mask-image: url(../icons/arrow-right.svg);
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    -webkit-mask-image: url(../icons/arrow-right.svg);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    vertical-align: middle;
}
    #meldungsbalken.offen { height: 10cqw; }
    #meldungsbalken.kompakt { height: 0; }
  #meldungsbalkenSchliessen {
    position: absolute;
    right: 2.1cqw;
    top: 50%;
    transform: translateY(-50%);
    width: 4cqw;
    height: 4cqw;
    background-color: transparent;
    background-image: url('../icons/close.svg'); filter:invert(1) brightness(2.5) contrast(2.5);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 4cqw 4cqw;
    cursor: pointer;
    opacity: 0.8;
    transition: opacity 0.2s;
}
#meldungsbalkenSchliessen:hover {
    opacity: 1;
}



/* Alle Blöcke bzw. Container haben eine border unten, außer Zeitstrahl! */
.block.standard,
.block.verteiler_2spaltig,
.block.verteiler_3spaltig {border-bottom: 1px solid #303030!important;}

.add_border_bottom {border-bottom: 1px solid #303030!important;}
.addLinieOben {border-top:1px solid #303030!important;}

body,html {margin:0; padding:0;font-family: "futura-pt", sans-serif;font-weight: 400;font-style: normal; color:#303030; font-size:16px; /*Root-Fontsize*/}
h1,h2,h3,h4,h5,p {margin:0;padding:0;}
h2 { font-size: clamp(26px, 3cqw ,38px);  font-weight: normal;  margin-bottom: 0.7cqw;}
.abs_text  h2 { margin-bottom: 2.2cqw;}



em {font-style:italic; }

a[href^="https"] {
    color: #000;
    text-decoration: none;
}

a[href^="https"]::before,
a.extlink::before {
    content: "";
    display: inline-block;

  width: 1.8cqw;
  height: 1.8cqw;
margin-top: -0.6cqw;
  margin-right: 0.35cqw;
  margin-left: -2px;

    background-color: currentColor;
    mask-image: url(../icons/arrow-right-top.svg);
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    -webkit-mask-image: url(../icons/arrow-right-top.svg);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    vertical-align: middle;
}
a[href^="https"]:hover,
a.extlink:hover {
    color: #A81D25!important;
}

/* Interner Link mit Pfeil (gerade statt diagonal) */
a.intlink {
    color: #303030;
    text-decoration: none;
}
a.intlink::before {
    content: "";
    display: inline-block;

  width: 1.8cqw;
  height: 1.8cqw;
margin-top: -0.4cqw;
  margin-right: 0.35cqw;
  margin-left: 0;

    background-color: currentColor;
    mask-image: url(../icons/arrow-right.svg);
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: contain;
    -webkit-mask-image: url(../icons/arrow-right.svg);
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: contain;
    vertical-align: middle;
}
a.intlink:hover {
    color: #A81D25!important;
}




/*em::before { content: "«"; }
em::after { content: "»"; }
*/
em {/*font-style: oblique 11deg;*/ font-style:italic;}
p {font-size: clamp(18px, 2cqw ,26px);font-weight:400;line-height:130%; margin-bottom:2cqw;}
.istKlappInhalt {opacity:0.5;}
.istKlappInhalt.klapp-offen {opacity:1;}   /* nach dem Ausklappen volle Deckkraft */
.istKlappStart {opacity:1;}
.mitOptKlapp   .istKlappInhaltOpt {opacity:1;}

#header {z-index:999; position: relative; width: 100%; aspect-ratio: 16 / 9; max-height: 900px;height: auto;overflow: hidden; }
#header.pur { position: relative; width: 100%;  aspect-ratio: inherit; height:0px; background-color:transparent; overflow: inherit;    }
#footer_rot { background-color:#A81D25; color:#fff;font-size:16px; margin-top:4cqw; }
#mainmenue { position:fixed; top:0;left:0;z-index:999999999; width:100vw; height:100vh; background-color:#A81D25;color:#fff; display:none;  }
#mainmenue #mainmenu_content .mzeile a.aktiv {    border-bottom: 0.3cqw solid #fff;}

#header_wrapper     {/*>>>>*/ container-type: inline-size; /*font-size: clamp(0.05rem, 1cqw, 1.2rem);*/ /*<<<< orientierungsgröße*/  }
#content_wrapper    {/*>>>>*/ container-type: inline-size; /*font-size: clamp(0.05rem, 1cqw, 1.2rem);*/ /*<<<< orientierungsgröße*/ position:relative; top:0;z-index:2;
                     max-width: 1920px;margin: 0 auto; }
#footer_inner     {/*>>>>*/ container-type: inline-size; /*font-size: clamp(0.05rem, 1cqw, 1.2rem);*/ /*<<<< orientierungsgröße*/   position:relative; top:0;z-index:2;max-width: 1920px;margin: 0 auto; min-height:100px; }


#header .header_bg { height: 100%; width: 100%;  background-size: cover;background-position: top center;}
#header #header_pur { height: inherit; width: 100%; background-image: none; }

#header #header_wrapper #quicklinks { position:absolute; bottom:10cqw; left:60%;  }
#header #header_wrapper #quicklinks  {margin-bottom:0;margin-top:0; padding:0;line-height: 5.15cqw; font-size: clamp(30px,4cqw,4cqw );font-weight:700; }

#header #header_wrapper #quicklinks a {position:relative; display: inline-flex; background: #A81D25; color:#fff;  
                                       width:100%;box-decoration-break: clone; -webkit-box-decoration-break: clone;padding: 0.1em 0.2em; display: inline; text-decoration:none; z-index:1; }

#header #header_wrapper #quicklinks a:first-child  {z-index:3;}
#header #header_wrapper #quicklinks a:nth-of-type(2n)  { margin-left:1em;}

#header #header_wrapper #quicklinks a .pfeil {  width: 0;overflow: hidden;display: inline-block;vertical-align: top;margin-top:-0.1em;
                                                transition: width 0.2s cubic-bezier(.42,0,.58,1);}
#header #header_wrapper #quicklinks a:hover .pfeil { width: 1.2em; }
#header #header_wrapper #quicklinks a i { filter: invert(1) brightness(2.5) contrast(2.5);height: 1.2em;width: 1.2em;display: inline-block;}


#header #header_wrapper #header_top {display: flex;align-items: center;justify-content: space-between;padding: 1.8em 0vw;transition: background 0.3s, box-shadow 0.3s;}
#header #header_wrapper #header_top_right {font-size: clamp(18px, 1.5cqw, 26px);position:absolute;display: flex; align-items: center; gap: 2.0em; right:2cqw; top:2cqw; }
#header #header_wrapper #header_top_right .icon {font-size: clamp(20px, 1.8cqw, 1.8cqw);}
#header #header_wrapper #header_top_right .icon.icon-search {font-size: clamp(22px, 2cqw, 2cqw);}

#header_sticky #header_sticky_wrapper #header_top {display: flex;align-items: center;justify-content: space-between;padding: 1.8em 0vw;transition: background 0.3s, box-shadow 0.3s;}
#header_sticky #header_sticky_wrapper #header_top_right {font-size: clamp(18px, 1.5cqw, 26px);position:absolute;display: flex; align-items: center; gap: 2.0cqw; right:2cqw; top:2cqw; }
#header_sticky #header_sticky_wrapper #header_top_right .icon {font-size: clamp(24px, 2.5cqw, 2.5cqw);}
#header_sticky #header_sticky_wrapper #header_top_right .icon.icon-search {font-size: clamp(20px, 2.5cqw, 2.5cqw  );}

/* Warenkorb-Pille: Umriss-Rahmen + Tasche + Text + rote Anzahl (siehe Entwurf) */
#header_top_right .warenkorb { display: inline-flex; align-items: center;  }
/* Pille ausblenden, wenn der Warenkorb leer ist.
   - per JS: Container bekommt [hidden] (display:inline-flex wuerde [hidden] sonst ueberstimmen)
   - Fallback fuer bereits exportierte Seiten (alte JS, nur Zaehler getoggelt): via :has() */
#header_top_right .warenkorb[hidden],
#header_top_right .warenkorb:has(.warenkorb-count[hidden]) { display: none !important; }
/* Hand-Cursor auf der ganzen Pille (auch ueber Tasche, Text und Zaehler) */
#header_top_right .warenkorb,
#header_top_right .warenkorb a,
#header_top_right .warenkorb a * { cursor: pointer !important; }
#header_top_right .warenkorb a {
    display: inline-flex; align-items: center; gap: 0.45em;
    border: 1px solid currentColor; border-radius: 999px;
    padding: 0.3em 0.45em 0.3em 0.8em;
    text-decoration: none; line-height: 1;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}
/* Hover: rote Pille, weisser Text/Tasche, Zaehler invertiert. color !important schlaegt das Inline-style am <a>. */
#header_top_right .warenkorb a:hover { background-color: #A81D25; border-color: #A81D25; color: #fff !important; }
#header_top_right .warenkorb a:hover .icon-shop::before { filter: invert(1) brightness(2.5) contrast(2.5); }
#header_top_right .warenkorb a:hover .warenkorb-count { background: #fff; color: #A81D25; }


#header_top_right .warenkorb .icon-shop { width: 1.4em; height: 1.4em; font-size: inherit; }
.warenkorb-text { font-size: clamp(16px, 1.4cqw, 22px); font-weight: 500; line-height: 1; }
.warenkorb-count {
    min-width: 2.0cqw; height: 2.0cqw; padding: 0 0.2cqw; box-sizing: border-box;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 999px; background: #A81D25; color: #fff;
    font-size: 0.7em; line-height: 1; font-weight: 700;
}
.warenkorb-count[hidden] { display: none; }
/* Warenkorb-Grafik direkt einbetten (unabhaengig von _icons.css / shop.svg auf dem Server) */
.warenkorb .icon-shop::before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40' fill='none'%3E%3Cpath d='M32.3333 12V32H7.33325V12H32.3333ZM9.33325 30H30.3333V14H9.33325V30Z' fill='%23303030'/%3E%3Cpath d='M25.6663 11.667C25.6663 8.53749 23.1297 6.00018 20.0002 6C16.8706 6 14.3333 8.53738 14.3333 11.667C14.3331 12.2191 13.8854 12.667 13.3333 12.667C12.7811 12.667 12.3334 12.2191 12.3333 11.667C12.3333 7.43281 15.7661 4 20.0002 4C24.2343 4.00018 27.6663 7.43292 27.6663 11.667C27.6661 12.2191 27.2184 12.667 26.6663 12.667C26.1142 12.6668 25.6664 12.219 25.6663 11.667Z' fill='%23303030'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: left;
    background-size: contain;
}


/*#header_top_right {position:absolute;display: flex; align-items: center; gap: 3.8em;font-size: clamp(14px, 1.4em, 1.4em); right:2cqw; top:2.5cqw; }
#header_top_right .icon {font-size: clamp(14px, 2.0em, 2.0em);}
*//*#header_top_right  .info { }*/



/* Sticky Variante */
/*#header.sticky  { position: fixed; top: 0px; left: 0; width: 100vw; height:10cqw; max-height:200px; min-height:100px;*//**/ /*padding:0 0 0 0;   
                  background: #fff;box-shadow: 0 4px 24px #0002;z-index: 30;
                  transition: background 0.3s, box-shadow 0.3s;}*/
/*#header_sticky_wrapper #header_top_right {  top:0; right:2cqw;  height:100%;  display: flex;align-items: center; }
#header_sticky_wrapper #quicklinks{ display:none!important;}
#header_sticky_wrapper .header_bg {background-image:none!important;}*/

/* Logo normal und sticky */
#logo {position: absolute;top: 2cqw;left: 4cqw;height: auto; width: 6cqw; height: auto; width: 6cqw;max-width:115px;min-width: 60px;}
#logo img { width: 100%;display: block;}

/* Logo sticky (kleiner, anderes Bild) */
#header.sticky #logo  { height:100%;   top:0;   display: flex;align-items: center; justify-content:left;   /* vertikal mittig */    }
#header.sticky #logo img {   height: 50%; left:0; width:auto;   content: url('../img/KMK_Bildmarke.png'); /* mini-Logo */}

#header_sticky {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height:   clamp(60px, 10cqw, 200px) ;
    background: #fff;
    box-shadow: 0 4px 24px #0002;
    z-index: 9999;
    display: none; /* standardmäßig versteckt */
    transition: opacity 0.3s ease;
}
#header_sticky #logo_sticky {
    height: 9cqw;
    display: flex;
    align-items: center;
    padding: 0.5cqw 0 1cqw 2cqw ;
}

#header_sticky #logo_sticky img {
    height: 100%;
    width: auto;
    max-height: 60%; 
} 
#mainmenue #mainmenue_wrapper { margin:2em; display:flex; flex-direction: column; height:90vh; border:0px solid yellow; }
#mainmenue #logo { position:absolute; top:2cqw; left:4cqw; height:auto; width:6cqw; max-width:240px; min-width: 60px;}
#mainmenue #logo img { filter:invert(1) brightness(2.5) contrast(2.5); width:100%; display:block; }
#mainmenue #header_top_right { position:absolute; display:flex; align-items:center; gap:2.0cqw; font-size:clamp(14px, 1.5cqw, 1.5cqw); right:2.7cqw; top:2.7cqw; }
#mainmenue #header_top_right i { filter:invert(1) brightness(2.5) contrast(2.5); width:3cqw; height:3cqw; min-width:35px; min-height:35px; }

#mainmenue #mainmenu_mitte { width:fit-content; }
#mainmenue #mainmenu_mobile { display:none; }

#mainmenue #mainmenu_content { font-size:5cqw; display:flex; justify-content:center; flex-direction:column; align-items:center; padding:0; font-weight:700; height:100vh; }
#mainmenue #mainmenu_content .mzeile { display:flex; gap:3cqw; width:100%; margin-bottom:10px; white-space:nowrap; }
#mainmenue #mainmenu_content .mzeile a { color:#fff; text-decoration:none; border-bottom:3px solid #A81D25; white-space:nowrap; }
#mainmenue #mainmenu_content .mzeile a:hover { border-bottom:3px solid #fff; }
#mainmenue #mainmenu_content .mzeile a.aktiv { border-bottom:3px solid #fff; }

#mainmenue #mainmenu_content .msub { font-size:0.6em; text-align:left; white-space:nowrap; overflow:hidden; max-height:0; display:flex; gap:3cqw; width:100%; margin-bottom:10px; transition: max-height 0.25s ease-in;  border:none; }
#mainmenue #mainmenu_content .msub.open { max-height:300px; border:1px solid #A81D25; transition: max-height 6.4s ease-out; /* langsamer auf */}
#mainmenue #mainmenu_content .msub a { color:#fff; text-decoration:none; font-weight:400; border-bottom:0.1cqw solid #A81D25; white-space:nowrap; }
#mainmenue #mainmenu_content .msub a:hover { border-bottom:0.1cqw solid #fff; }

#mainmenu_footer {  display: flex;flex-direction: row;justify-content: space-between;align-items: center;
                    max-width: 1920px;width: 100%;margin: 0 auto;border-top: 1px solid #fff;padding: 1em 0;}
#mainmenu_footer .links {display: flex;flex-direction: row; gap: 2.2cqw; width: 50%;align-items: center;}
#mainmenu_footer .rechts {display: flex;flex-direction: row;justify-content: flex-end;width: 50%;align-items: center;text-align: right;}
#mainmenu_footer a {display: inline-flex;align-items: center;text-decoration: none;color: #fff; font-size: clamp(16px, 1.0cqw, 1.0cqw);}
#mainmenu_footer a:hover { }
#mainmenu_footer .pfeil {margin-right: 0.5em;display: inline-flex;filter: invert(1) brightness(2.5) contrast(2.5);}







.text-right {  text-align:right!important; }
.abstandunten {margin-bottom:3em;}



#footer_inner .abs50p {width:50%; float:left;}
#footer_inner .abs100p {width:100%; clear:both; }
#footer_inner h2 {margin-bottom:2cqw;  margin-top: 2cqw;color:#fff;font-size:clamp(12px, 1.0em ,1.0em); font-weight:600!important;  letter-spacing: 3px; text-transform: uppercase;}
#footer_inner p {font-size:clamp(18px, 1.5cqw ,26px); margin-bottom:1.4em;line-height:1.3em; }
#footer_inner h4 {font-size: clamp(22px, 2em, 2em); margin-bottom:1.4em;line-height:1.3em; }
#footer_inner hr {border:none; border-bottom:1px solid #fff; margin-bottom:1.0em;}
#footer_inner  a  {color: #fff;  text-decoration: none;}
#footer_inner a:hover {  text-decoration: underline;}
#footer_inner a[href^="tel"] {color: #303030; text-decoration: none;}
    #footer_inner .infolinks  a { display:inline-block;margin-right:20px;    }

#footer_inner .zwischentitel {margin-top:1cqw;}
#footer_inner .abs_textbig p  {font-size: clamp(26px, 3cqw,3cqw); font-style:italic;line-height:120%;}
#footer_inner .block  {border-color:#fff!important;}
#footer_inner .text_rechts    {text-align:right;}
#footer_inner .links_horizontal a { margin-left:2cqw;}

/*--------------------------------------------
    Absätze und Module
--------------------------------------------*/
.spalte {padding:0; display: flex;flex-direction: column;box-sizing: border-box;}
.unten { /* optional, für padding oder hg */ }
.block {margin:0 4%; /*overflow-x:hidden;*/ min-height:20px;}
.block.zeitstrahl  {min-height:200px;}
.rot {color:#A81D25;}
.zentriert {text-align:center;}
hr {border:none; height:1px; border-bottom:1px solid #333; margin: 27px 0 31px 0;}
.abs_text {margin-top: 2cqw; max-width: 1700px;}
.abs_text.header_ausst .buttons {margin:3cqw 0 3cqw 0;}
/*------------------------------------ h1-Modul -------------------*/
.abs.abs_h1 { margin-top:10cqw; font-size:clamp(14px, 2cqw, 76px);  /*border-bottom:1px solid #303030;*/}
.abs.abs_h1 h1 {line-height:100%;margin-bottom:2cqw; margin-left:10cqw; }

/* h2 Modul*/
.abs.abs_h2  {  margin-bottom: 1cqw;}
.abs.abs_h2  h2 { font-size: clamp(20px, 2.0cqw ,38px); font-weight: 400;line-height: 120%; }

/* h3 Modul*/
.abs.abs_h3  {  margin-bottom: 1cqw;}
.abs.abs_h3  h3 { font-size: clamp(16px, 2.0cqw ,2.0em); font-weight: 700;line-height: 120%; }
/* ------------------------------------------------------------------------------------  Zwischentitel */
.abs.abs_teaser p { font-size: clamp(22px, 2.5cqw ,38px);font-weight:400;line-height:120%;margin-bottom:3cqw;margin-top:2cqw;}
/* ------------------------------------------------------------------------------------  Zwischentitel */
.abs.abs_zwischentitel {margin-bottom:0;  margin-top: 5cqw; border-bottom:1px solid #303030!important;padding-bottom:0cqw;}
.abs.abs_zwischentitel h2 {font-size: clamp(12px, 1.0em ,1.0em);font-size:clamp(14px, 1.2cqw ,2.0cqw); margin-bottom:1cqw; 
                           letter-spacing: 0.15em; text-transform: uppercase;font-weight:600!important; }
.abs.abs_zwischentitel .link { font-size: clamp(12px, 1.3em ,1.3em); color:#000; text-decoration:none; }
.abs.abs_zwischentitel .link.rechts {float:right;margin-top:0em;}
.abs.abs_zwischentitel .icon {margin-top:-0.25em; }
.abs.abs_zwischentitel.removeLinieUnten {border:none!important;}

/* ------------------------------------------------------------------------------------  Zeitstrahl */
.block.zeitstrahl { display: flex; flex-direction: row;  box-sizing: border-box;  }
.block.zeitstrahl .spalte { width:50%;  display: flex; flex-direction: column; box-sizing: border-box; }
.block.zeitstrahl.inhlinks .spalte .inner {margin-right:2cqw}
.block.zeitstrahl.inhrechts .spalte .inner {margin-left:2cqw}

.block.zeitstrahl.inhlinks .spalte.sort1 {border-right:3px solid #A81D25; order:1; }
.block.zeitstrahl.inhlinks .spalte.sort2 {  order:2; }
.block.zeitstrahl.inhrechts .spalte.sort1 {border-right:3px solid #A81D25; order:1; }
.block.zeitstrahl.inhrechts .spalte.sort2 {  order:2; }

.block.zeitstrahl .spalte .abs_bild_text {  width:100%; margin-bottom:2cqw; }
.block.zeitstrahl .spalte .abs_bild_text .abb {  margin-bottom:2cqw; }
.block.zeitstrahl .spalte .abs_bild_text .bu {margin-top:1cqw;}
.block.zeitstrahl .spalte .abs_bild_text img{max-width:100%;  max-height:40cqw;}
.block.zeitstrahl .spalte .abs_bild_text h3 {font-size: clamp(16px, 2.0cqw ,2.0em); font-weight: 700;line-height: 120%; margin-bottom: 1cqw;
                                                    padding-top:2cqw; border-top:1px solid #303030;}
.block.zeitstrahl .spalte .abs_bild_text:first-child h3 {border:none;}

.block.zeitstrahl .abs_bild_text.linieoben { padding-top:2.5cqw;}


.block.zeitstrahl .spalte .abs_bild_text h4 {font-size: clamp(14px, 1.4cqw ,1.4em);font-weight:700;line-height:130%;}
.block.zeitstrahl .spalte .abs_text { font-size: clamp(14px, 1.4cqw ,1.4em);font-weight:400;line-height:130%;margin-bottom:2.5cqw;}
.block.zeitstrahl .spalte .abs_text { font-size: clamp(14px, 1.4cqw ,1.4em);font-weight:400;line-height:130%;margin-bottom:2.5cqw;}
.block.zeitstrahl .spalte .jahr { font-size: clamp(14px, 4.0cqw, 4.0cqw);font-weight:700;line-height:130%;color:#A81D25;}
.block.zeitstrahl.inhlinks .spalte .jahr  {position: relative;  display: inline-flex;align-items: center;top:5cqw;}
.block.zeitstrahl.inhrechts .spalte .jahr {position: relative;  display: inline-flex;align-items: center;top:5cqw;    
                                           margin-left: auto;/* <-- schiebt die Jahreszahl komplett nach rechts */}

.block.zeitstrahl.inhlinks .spalte .jahr::before { content: ""; display: inline-block; 
                                          width: 10cqw;   /* Länge */ height: 3px;    /* Dicke */  background: #A81D25;
                                          margin-right: 0.5em; /* Abstand zur Zahl */ }
.block.zeitstrahl.inhrechts .spalte .jahr::after { content: ""; display: inline-block; 
                                          width: 10cqw;   /* Länge */ height: 3px;    /* Dicke */  background: #A81D25;
                                          margin-left: 0.5em; /* Abstand zur Zahl */ }
  .zeistrahljahre {}
  .zeistrahljahre {  display: flex;}
  .zeistrahljahre > div {font-size: clamp(14px, 1.4cqw ,1.4em);font-weight:400;padding-top: 1.0cqw;padding-bottom: 1.0cqw;margin-bottom:1.4cqw;
                          flex: 1;/* Alle gleich breit */text-align: center;    /* Text mittig */
                          border-bottom: 1px solid #303030;}
  .zeistrahljahre div a {color:#000; text-decoration:none;}
  .zeistrahljahre div a.aktiv {color:#A81D25; text-decoration:underline;}
 

/* ------------------------------------------------------------------------------------  mehr-button */
.mehr,  .weniger {font-size: clamp(18px, 1.5cqw ,26px);font-weight:400; color:#303030;text-decoration:none;display: flex;text-decoration: none;margin-bottom:3cqw;margin-top:3cqw;
                    align-items: center;/* vertikal mittig */ gap: 0.15cqw;/* Abstand zwischen Icon und Text */}
.mehr:hover,.weniger:hover {color:#A81D25;}
.mehr .wenigertext {display:none;}/*Alternativtext, wenn mehr ausgeklappt wurde... weniger lesen*/
.weniger .mehrtext {display:none;}/*Alternativtext, wenn mehr ausgeklappt wurde... weniger lesen*/
.mehr::before { content: "";display: inline-block; flex-shrink: 0;background-image: url('../icons/plus.svg'); background-size: contain; background-repeat: no-repeat; 
                              background-position: left center; width: 2.2cqw; height:2.2cqw; min-width: 1em;   }
.weniger::before { content: "";display: inline-block; flex-shrink: 0;background-image: url('../icons/minus.svg'); background-size: contain; background-repeat: no-repeat; 
                              background-position: left center; width: 2.2cqw; height:2.2cqw; min-width: 1em;   }


/* ------------------------------------------------------------------------------------  Ausstellungsmodul, Bild rechts / links */
.abs.abs_ausstellung {
    /*min-height: 650px;*/ 
    max-width: 100%; 
    margin: 0 auto;
    margin-top: -1px;
    display: flex; 
    flex-direction: row;
    box-sizing: border-box;
    border-bottom: 1px solid #333;
/*    align-items: stretch;*/
    align-items: flex-end; /* stretch → flex-end */
}
.abs.abs_ausstellung a { color:#303030; text-decoration:none;}
.abs.abs_ausstellung .abb a {
    display: block;
    width: 100%;
    height: 100%;
}

.abs.abs_ausstellung .spalte { 
    display: flex; 
    flex-direction: column; 
    box-sizing: border-box; 
}

.abs.abs_ausstellung .spalte.spaltetext { 
    width: 32%; 
    padding: 1.2em 0.5em 1.2em 0;
    justify-content: flex-end; 
    border-right: 1px solid #333;
}

.abs.abs_ausstellung .spalte.spaltetext .unten {
    flex-shrink: 0;
}

.abs.abs_ausstellung .spalte.spaltebild { 
    width: 68%;  
    padding: 1.5em 0em 1.5em 1.5em;
    display: flex; 
    align-items: center; 
    justify-content: center;  
}
.abs.abs_ausstellung .spalte.spaltebild.sort1 {     
    padding: 1.5em 1.5em 1.5em 0;
    border-right: 1px solid #333;
}
.abs.abs_ausstellung .spalte.spaltebild.sort2 {
    border-left: 1px solid #333;
    padding: 1.5em 0 1.5em 1.5em;
}
.abs.abs_ausstellung .spalte.sort1 {
    order: 1;
    border-right: none;
}

.abs.abs_ausstellung .spalte.sort2 {
    order: 2;
    border-right: 0px solid #333;
}

.abs.abs_ausstellung .spalte.spaltetext.sort2 {
    padding: 1.2em 0 1.2em 0.5em;
}

.abs.abs_ausstellung .spalte.spaltetext.sort2 .unten { 
    margin-left: 1.5em; 
}

.abs.abs_ausstellung .abb {
    width: 100%; 
    max-height: 650px; /* WICHTIG: Bild maximal so hoch wie min-height */
    display: flex; 
    align-items: center; 
    justify-content: center;
    margin-bottom:0!important;
}

.abs.abs_ausstellung .abb img {
    width: 100%; 
    height: auto; /* Geändert von 100% zu auto */
    max-height: 650px; /* Begrenzt Bildhöhe */
    object-fit: contain;
    margin-bottom:0!important;
}
/* Bild links → linksbündig ausrichten */
.abs.abs_ausstellung .spalte.spaltebild.sort1 .abb {
    justify-content: flex-start;
}

/* Bild rechts → rechtsbündig ausrichten */
.abs.abs_ausstellung .spalte.spaltebild.sort2 .abb {
    justify-content: flex-end;
}
/* Proportionale Schriftgröße */
.abs.abs_ausstellung .overline {
     font-size: clamp(14px, 1.4cqw, 26px);
   margin-top: 1em; 
    letter-spacing: inherit;
}

.abs.abs_ausstellung h3 {
       font-size: clamp(18px, 2.8cqw, 52px);
 margin-top: 1cqw; 
    letter-spacing: inherit; 
    line-height: 1.13em;
}

.abs.abs_ausstellung h4 {
       font-size: clamp(14px, 1.4cqw, 26px);
 margin-top: 1cqw; 
    font-weight: normal;
}


/*.abs.abs_ausstellung{}
.abs_ausstellung.alterierend:nth-child(even) .sort1 { order: 2; }
.abs_ausstellung.alterierend:nth-child(even) .sort2 { order: 1; }
*/
/* ------------------------------------------------------------------------------------  Teasertitel */
.abs.abs_teasertitel { display: flex; width: 100%; align-items: flex-end/* Text unten */;    }
.abs.abs_teasertitel .abb { position:relative; z-index:1;width:100%; }
.abs.abs_teasertitel .abb img { width:100%;}
.abs.abs_teasertitel .text { position:absolute; z-index:2; margin: 0 0 4% 3.5% ;  flex: 1; display: flex; align-items: flex-end; width:calc(100% - 20%);  }
.abs.abs_teasertitel .text h2  { padding:3px 3px 3px 3px;  box-decoration-break: clone; display: inline;width:100%;
                                 font-size: 3em /*ok*/; line-height: 1.2em;font-weight: 700;letter-spacing: -0.02em;}
.abs.abs_teasertitel .text h2 .marker { background: #A81D25;color:#fff; width:100%;box-decoration-break: clone; -webkit-box-decoration-break: clone;padding: 0.1em 0.2em; display: inline; }

/*-------------------------------------------------------------------------------------  abs_zweispaltig, z.B. Bio */
.abs.abs_zweispaltig {border-bottom:1px solid #303030; display: flex; flex-direction: row;align-items: start; box-sizing: border-box; padding-top:2cqw; margin-bottom:2cqw;}
.abs.abs_zweispaltig .spalte { width:50%;    display: flex; flex-direction: column; box-sizing: border-box; padding-bottom:2.5cqw; }
.abs.abs_zweispaltig .spalte.sort1 {order: 1; padding-right:2.8cqw; }
.abs.abs_zweispaltig .spalte.sort2 {order: 2; }
.abs.abs_zweispaltig .abb { width:100%; margin-bottom:1.5cqw; }
.abs.abs_zweispaltig .abb img { width:100%; margin-bottom:1.5cqw; }
.abs.abs_zweispaltig .abb p.bu {  font-size: clamp(12px, 1.0cqw ,1.0em); line-height:130%; }

.abs.abs_zweispaltig h2 {font-size: clamp(26px, 3cqw ,38px);font-weight:400;line-height:120%;margin-bottom:3cqw;}
.abs.abs_zweispaltig p {font-size: clamp(18px, 2cqw ,26px);font-weight:400;line-height:130%;margin-bottom:2.5cqw;}

.abs.abs_zweispaltig.removeLinieUnten {border-bottom:none!important}

.abs.abs_zweispaltig { position: relative; } /* wichtig für absolute-Stop */
.abs.abs_zweispaltig .spalte { position: relative; }

.abs.abs_zweispaltig .abb {
  width: 100%;
}
/* ------------------------------------------------------------------------------------  zoom */
.abb.zoom .imgwrapper {
    position: relative;
    display: inline-block;   /* Wrapper ist exakt bildgroß */
    line-height: 0;           /* kein Whitespace-Spalt unter dem Bild */
    width:100%;
}
.abb.zoom .imgwrapper img {
    display: block;
    max-width: 100%;
    height: auto;
}

.abb.zoom .imgwrapper::after {
    content: '';
    position: absolute;
    bottom: 28px;
    right: 10px;
    width: 40px;
    height: 40px;
    background-color: #fff;
    background-image: url('../icons/zoom-in.svg');
    background-size: 24px 24px;
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    pointer-events: none;
    z-index: 1;
}
/* Entferne das ::after Pseudo-Element */
/* .abb.zoom .imgwrapper::after { ... } */

/* Lightbox */
.lightbox {
    display: none;
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    overflow: auto;
  inset: 0;
}

 
.lightbox-figure{
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  /* darf groß sein – echte Breite kommt per JS */
  max-height: calc(100vh - 120px);
}

.lightbox-content{
  display:block;
  width:100%;
  height:auto;
  max-height: 85vh;
  object-fit: contain;
}

.lightbox-caption{
  width:100%;
  box-sizing:border-box;
  /*color:#ccc;*/
  font-size:clamp(14px, 1.5cqw, 20px);
  line-height:1.4;
  padding-top:12px;
  text-align:left;
}



.close {
  position: absolute;
  top: 30px;
  right: 45px;
  cursor: pointer;
  z-index: 10000;
  width: 5.5cqw;
  height: 5.5cqw;
  max-width:75px; max-height:75px;
  min-width:40px;min-height:40px;
}

/* DAS ist entscheidend */
.close::after {
  content: "";                 /* ❗ Pflicht */
  display: block;              /* ❗ Pflicht */
  width: 100%;
  height: 100%;

  background-image: url('../icons/close.svg');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;

  /*filter: invert(1);*/           /* schwarz → weiß */
}

.close:hover,
.close:focus {
    color: #bbb;
}

/* --------pdf----------------------------------------------------------------------------   */
.download {  display: flex;  align-items: center;  gap: 16px; line-height:110%; margin:3cqw 0;}
.download__icon {  width: 4.5cqw;  height: 4.5cqw;  background: url('../icons/pdf.png') no-repeat center / contain;  flex-shrink: 0;padding-top:0.5cqw;}
.download__content {  display: flex;  flex-direction: column;  gap: 2px;}
.download__title {  font-size: clamp(18px, 2cqw ,26px);  font-weight: 700;  color: #1a1a1a;  margin: 0;}
.download__link {  font-size: clamp(18px, 2cqw ,26px);  color: #303030;  text-decoration: none;}
.download__link:hover {  color: #A81D25; text-decoration:underline;}

/* ------------------------------------------------------------------------------------  Alternative zu Zweispaltigem Abschnitt, Abschnitt 50% */
/*.block.spalte50p { display: inline-block; vertical-align: top; width: 44%;box-sizing: border-box; margin: 2cqw  4% 0 4%;}
 .block.spalte50p + .block.spalte50p   { margin:2cqw 2% 0 0;  }
*/
.block.spalte50p {
  display: inline-block;
  vertical-align: top;
  width: 40% /*calc(47% - 4%)*/; /* beide zusammen = 96% mit Abstand */
  box-sizing: border-box;margin:4%;
}

/* linke Spalte im Paar */
/*.block.spalte50p:nth-of-type(odd) {*/
  /*margin-right: 2%;*/  /* Abstand nach rechts *//*border:1px solid #f00;
}*/

/* rechte Spalte im Paar */
/*.block.spalte50p:nth-of-type(even) {*/
  /*margin-right: 0;*/   /* bündig rechts */

/*}*/

/* ------------------------------------------------------------------------------------  Kalender */
.kalender {border-top:1px solid #303030; width:100%; box-sizing: border-box; }

.kalender .zeile { position: relative; width: 100%; border-bottom: 1px solid #303030; }
.kalender .zeile .wrapper_kurzinfo {    position: relative; min-height:9.3em; width: 100%;  height:100%; display: flex; flex-wrap: nowrap; align-items: stretch; }
.kalender .wrapper_langinfo {display: flex;align-items: stretch;   width: 100%;}
.kalender .wrapper_langinfo .datum { flex: 0 0 24%;  border-right: 1px solid #303030; display: flex; align-items: center; justify-content: center; }
.kalender .wrapper_langinfo .info { position:relative;display:inline-block; align-items: flex-start; flex: 1 1 0; margin:0 0 0 0;  }
.kalender .wrapper_langinfo .info p {font-size: clamp(16px, 1.3em ,1.3em); margin: 0 0 0.5em 0; }
.kalender .wrapper_langinfo .info .bildrechts { display:inherit; float:left; max-width: 30%;  max-height: 30cqw; height: auto;margin: 0.5cqw 2cqw 1.5cqw 0;}
.kalender .wrapper_langinfo .detail-meta {/*clear:both!important;*/}
.kalender .wrapper_langinfo .info .btn {margin-right:1cqw;}
.kalender .wrapper_langinfo .info .abstand_unten {height:2.5cqw;}
/*kurze Zeitinfo links*/
.kalender .datum {  border-right:1px solid #303030;  min-height:11cqw; flex: 0 0 24%; color: #222;
                    padding:   0; display: flex; align-items: center; justify-content: center;  height:100%;}
.kalender .datum .wtag {font-size: clamp(16px, 1.4cqw ,1.4cqw); position:absolute; left:0; top:1cqw;  font-weight:normal;}
.kalender .datum .tag { font-size: clamp(35px, 7cqw ,7cqw); position:absolute; left:0; top:2cqw; font-weight:700; color:#A81D25;line-height: 80%;}
.kalender .datum .monat {font-size: clamp(14px, 1.0cqw ,1.0cqw); position:absolute; left:10cqw; top: 7.4cqw; font-weight:normal; text-transform:uppercase;font-weight:700; letter-spacing:0.2em;}
/*lange Info rechts*/
.kalender .info { position: relative; display: flex; flex: 1 1 0; flex-direction: column; padding-left:1.5em;  
                  justify-content: space-between/* Overline oben, Titel unten */;  min-width: 0; }
.kalender .info .overline { margin: 1.0em 0 0 0; font-size: clamp(16px, 1.3cqw ,1.3cqw); }
.kalender .info .titel { margin: 0 0 1cqw 0  ;
                         font-size: clamp(18px, 2cqw ,2cqw);
                         font-size:clamp(18px, 5cqw ,2.7cqw);font-weight:600; line-height: 110%; width:calc(100% - 2.2em); }
/*Button*/
.kalender .info .mehr {position: absolute; font-size: clamp(12px, 1.6cqw ,1.6cqw);  right: 0;bottom: 1em; padding:0.7cqw 0.7cqw 0.7cqw 0.7cqw ; border-color:#303030;}
.kalender .info .weniger {position: absolute; font-size: clamp(12px, 1.6cqw ,1.6cqw);  right: 0;bottom: 1em; padding:0.7cqw; border-color:#A81D25;  
                          filter: brightness(0) invert(16%) sepia(82%) saturate(4500%) hue-rotate(348deg) brightness(82%);}

.kalender .info .mehr,
.kalender .info .weniger { 
    justify-content: center;
    gap: 0;
    font-size: clamp(16px, 1.6cqw, 1.6cqw);   /* 12px → 16px Floor */
    padding: clamp(6px, 0.7cqw, 0.7cqw);      /* Padding mit Floor */
}
/* Plus-/Minus-Icon im Kalender: Mindestgröße auf Mobil */
.kalender .info .mehr::before,
.kalender .info .weniger::before { 
    width:  clamp(20px, 2.2cqw, 2.2cqw); 
    height: clamp(20px, 2.2cqw, 2.2cqw); 
    min-width: 0;   /* deaktiviert den 1em-Floor aus der Basis-Regel */
    background-position: center center;   /* statt "left center" aus der Basis */
}

/* Button im Kalender: Größe + Padding proportional zum Container */
.kalender .btn { 
    text-decoration: none;
    font-size: clamp(16px, 1.5cqw, 1.5cqw); 
    padding: 
        clamp(8px,  1cqw,   1cqw)
        clamp(16px, 1.5cqw, 1.5cqw)
        clamp(6px,  0.6cqw, 0.6cqw)
        clamp(16px, 1.5cqw, 1.5cqw);
    margin-right: 0;
}
.kalender .btn.icon { 
    padding: 
        clamp(8px,  1cqw,   1cqw)
        clamp(16px, 1.5cqw, 1.5cqw)
        clamp(6px,  0.6cqw, 0.6cqw)
        clamp(32px, 4cqw, 4cqw);
}
.kalender .btn.icon::before { 
    left:  clamp(10px, 1.4cqw, 1.4cqw); 
    width: clamp(16px, 2cqw, 2cqw); 
}

/* Hover: jeder Wert exakt -4px (bzw. -5px für padding-left mit Icon) */
.kalender .btn.btn-light:hover {
    padding: 
        calc(clamp(8px,  1cqw,   1cqw)   - 4px)
        calc(clamp(16px, 1.5cqw, 1.5cqw) - 4px)
        calc(clamp(6px,  0.6cqw, 0.6cqw) - 4px)
        calc(clamp(16px, 1.5cqw, 1.5cqw) - 4px);
}
.kalender .btn.icon.btn-light:hover {
    padding-left: calc(clamp(32px, 4cqw, 4cqw) - 5px);
}
.kalender .btn.btn-light.icon:hover::before {
    left: calc(clamp(10px, 1.4cqw, 1.4cqw) - 5px);
}

.kalender .zeile.filter-hidden { display: none !important; }
.kalender .monats-header.filter-hidden { display: none !important; }
.kalender-filter { padding: 1.5em 0; border-top: 1px solid #303030; }
.kalender-filter .filter-row { display: flex; gap: 1.5cqw; align-items: flex-end; flex-wrap: nowrap; padding-right: 0; }
.kalender-filter .filter-item {display: flex; flex-direction: column; gap: 6px; flex: 1 1 0; min-width: 0; }
.kalender-filter .filter-row .filter-reset-all { flex: 0 0 auto; align-self: flex-end; margin-left: 0.5cqw; margin-bottom: 0; padding: 1.22em; font-size: clamp(11px, 0.8cqw, 1.2cqw); }
.kalender-filter .filter-item label { font-size: clamp(18px, 1.1cqw, 1.1cqw); font-weight: 400;letter-spacing: 0.02em; }
.kalender-filter .filter-select {font-family: "futura-pt", sans-serif;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1.5px solid #888;
    border-radius: 50px;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23333' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat left 1.2em center;
    padding: 0.7em 1.5em 0.7em 2.8em;
    font-size: clamp(15px, 1.2cqw, 1.2cqw);
    color: #333;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    cursor: pointer;
    transition: border-color 0.2s;
}
.kalender-filter .filter-select:hover { border-color: #333; }
.kalender-filter .filter-select:focus { outline: none; border-color: #303030; }
.kalender-filter .filter-select.filter-aktiv {
    background-color: #A81D25;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23fff' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    border-color: #A81D25;
    color: #fff;
}
.kalender-filter .filter-select.filter-aktiv:hover { border-color: #fff; }

.btn-filter-reset {
    border: none;
    background: none;
    color: #A81D25;
    font-size: clamp(13px, 1.1cqw, 1.1cqw);
    cursor: pointer;
    padding: 0.7em 0;
    text-decoration: underline;
}

.kalender .monats-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 5cqw 0 0.5em 0;
    border-bottom: 1px solid #303030;
}
.kalender .monats-header .monats-titel { 
    font-size: clamp(16px, 1.4cqw, 1.4cqw);
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: #303030;
}


/*.kalender .detail-meta .meta-item::after {  content: " | ";}.kalender .detail-meta .meta-item:last-child::after { content: "";}*//*einblenden, wenn in einer Zeile gewünscht*/

.kalender .logo-row { display: flex; gap: 0; margin: 2em 0 0 -1.5em; }
.kalender .logo-cell { flex: 1 1 33.333%; display: flex;align-items: center; justify-content: center; 
                       border: 1px solid #303030;border-left:none;border-bottom:none;
                       min-height: 10cqw; padding: 10px;background: #fff; }
.kalender .logo-cell:last-child{border-left:none;border-bottom:none;border-right:none; }
.kalender .logo-cell img { max-width: 10cqw;max-height:10cqw; object-fit: contain;}
.kalender .logo-label { font-size: clamp(20px, 2cqw ,2cqw);  margin: 0 0 0px 0;}

.kalender .zeile-offen .titel {
    color: #A81D25;
}
.kalender .mehr {
    transition: transform 0.3s;
}
.kalender .mehr.offen {
    transform: rotate(45deg);
}


.kalender-einzel .wrapper_kurzinfo .info { display: block; }
.kalender-einzel .wrapper_kurzinfo .info .btn { margin-right: 1cqw; }
.kalender-einzel .wrapper_kurzinfo .info .bildrechts {
    float: left; max-width: 30%; max-height: 30cqw; height: auto; margin: 0.5cqw 2cqw 1.5cqw 0;
}
.kalender-einzel .wrapper_kurzinfo .info .abstand_unten { height: 2.5cqw; }
/* Teilen ist ein <button> -> native Chrome (grauer Hintergrund/Systemfont) entfernen,
   damit er wie die <a>-Buttons aussieht. */
.kalender-einzel .teilen-btn {
    -webkit-appearance: none; appearance: none; background: transparent; font-family: inherit;
}
.kalender-einzel .info .titel { margin: 0 0 2cqw 0  ; 
                         font-size:clamp(18px, 4.0cqw ,5cqw);  }

/*----------------------------------------Suchseite-------------------------------------------*/
#suche {}
#suche .suche-wrapper { width: 100%; max-width: 800px;        margin: 2cqw 0;    }
#suche .suche-eingabe { display: flex; align-items: center; background: #f0ece6; border-radius: 50px; padding: 0.5cqw 2cqw 0.5cqw 3cqw; gap: 10px; }
#suche .suche-eingabe input[type="text"] { flex: 1;border: none; background: transparent;
        font-size: 2cqw; color: #303030; outline: none;
        padding: 12px 0;        
    }
#suche .suche-eingabe input[type="text"]::placeholder { color: #999; }
#suche .suche-eingabe .suche-btn { background: none; border: none; cursor: pointer; padding: 0px; 
        display: flex; align-items: center; justify-content: center;
    }
#suche .suche-eingabe .suche-btn img { width: 5cqw; height:5cqw;
        
    }
#suche .suche-eingabe .suche-btn:hover img { stroke: #000; }
#suche .such-header {     padding: 5cqw 0 0.5em 0; margin-bottom:2cqw; border-bottom: 1px solid #303030;}
#suche .such-header .such-titel {  font-size: clamp(16px, 1.4cqw, 1.4cqw); font-weight: 700;
    letter-spacing: 0.15em; text-transform: uppercase; color: #303030;
}
#suche .zeile {border-bottom:1px solid #303030;padding:1cqw 0;}
#suche .zeile h2,#suche .zeile p,#suche .zeile h3 { padding:0; margin:0; line-height:130%;}
#suche .zeile a {color:#303030;text-decoration:none;}
#suche .zeile a:hover {color:#A81D25;}

/* Blaetterung (Pager) - rundes Pillen-Format analog .btn */
#suche .such-pager { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 40px 0 10px; }
#suche .such-pager .pager-btn { display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  min-height:40px;
  height: 3.5cqw;
padding: 0 1.4cqw 0 1.4cqw;
box-sizing: border-box;
  border: 1px solid #303030;
  border-radius: 999px;
  color: #303030;
  text-decoration: none;
  line-height: 1;
  font-size: clamp(18px, 1.2cqw, 1.2cqw);
  transition: border-color 0.2s, background-color 0.2s, color 0.2s; }
#suche .such-pager a.pager-btn:hover { border-color: #A81D25; color: #A81D25; }
#suche .such-pager .pager-btn.aktiv { background: #A81D25; border-color: #A81D25; color: #fff; cursor: default; }
#suche .such-pager .pager-btn .icon { width: 1.1em; height: 1.1em; }
#suche .such-pager .pager-ellipsis { padding: 0 4px; color: #888; }

/*----------------------------------------Presselogin-------------------------------------------*/
/* Eingabefeld analog zur Suchseite (#suche .suche-eingabe) */
#presselogin .login-wrapper { width: 100%; max-width: 800px; margin: 2cqw 0; }
#presselogin .feld { margin-bottom: 1.5cqw; }
#presselogin .feld label { display: block; font-size: clamp(11px, 0.85cqw, 13px); font-weight: 700;
        letter-spacing: 0.15em; text-transform: uppercase; color: #303030; margin-bottom: 0.8cqw; }
#presselogin .login-eingabe { display: flex; align-items: center; background: #f0ece6; border-radius: 50px;
        padding: 0.5cqw 2cqw 0.5cqw 3cqw; gap: 10px; }
#presselogin .login-eingabe input[type="password"],
#presselogin .login-eingabe input[type="text"] { flex: 1; border: none; background: transparent;
        font-size: 2cqw; color: #303030; outline: none; padding: 12px 0; -webkit-appearance: none; }
#presselogin .login-eingabe input::placeholder { color: #999; }
#presselogin .login-eingabe .login-btn { background: none; border: none; cursor: pointer; padding: 0;
        display: flex; align-items: center; justify-content: center; }
#presselogin .login-eingabe .login-btn svg { width: clamp(22px, 2.5cqw, 36px); height: clamp(22px, 2.5cqw, 36px);
        opacity: 0.4; transition: opacity 0.2s; }
#presselogin .login-eingabe .login-btn:hover svg { opacity: 1; }
#presselogin .fehler { font-size: clamp(13px, 1cqw, 15px); color: #A81D25; margin-top: 1cqw;
        min-height: 1.4em; letter-spacing: 0.02em; }
/* ------------------------------------------------------------------------------------  Buttons */
.btn {  padding:1.0em 2em 0.6em 2em; margin-right:20px;  
        border-radius:150px; color: #303030;  display: inline-block;
        font-size: clamp(14px, 1.2em, 1.2em); height: 1.4em; width:auto!important; cursor: pointer; }
.btn.icon {padding:1.0em 1.5em 0.6em 4.0em; padding:1.2cqw 2cqw 1cqw 6.0cqw;} /*abweichendes padding, wenn mit icon*/
a.btn {text-decoration:none;}

.btn.icon::before { content: ""; height: 100%;background-repeat: no-repeat; background-position: left;
                    left:1.2cqw; /* transition: left 200ms cubic-bezier(0,0,0.2,1),background-position 200ms cubic-bezier(0,0,0.2,1);*/
                    width:   5cqw; position: absolute; top: 0; }

.btn.btn-light      {    border: 1px solid #303030; 
                         /*transition:border-width 200ms cubic-bezier(0,0,0.2,1),
                                    border-color 200ms cubic-bezier(0,0,0.2,1),
                                    padding-left 200ms cubic-bezier(0,0,0.2,1),
                                    padding-right 200ms cubic-bezier(0,0,0.2,1);*/ }

.btn.btn-light:hover { border-width: 5px;border-color: #A81D25;
                       padding-top:     calc(1.2cqw - 4px);
                       padding-right:   calc(2cqw - 4px);
                       padding-bottom:  calc(1cqw - 4px);
                       padding-left :   calc(6.0cqw - 4px);   /* < einziger unterschied, wenn Kreis */
}.btn.icon.btn-light:hover { border-width: 5px;border-color: #A81D25; padding-left : calc(6cqw - 5px);}


.btn.btn-light.icon:hover::before { left: calc(1.2cqw - 5px);}
.btn.btn-rot:before {filter: invert(1) brightness(2.5) contrast(2.5);} 
.btn.btn-rot { text-decoration:none; background-color: #A81D25; color: #fff;border:none;
                /*transition: background-color 200ms cubic-bezier(0,0,0.2,1), color 200ms cubic-bezier(0,0,0.2,1);*/}
/*a.btn.btn-rot  { text-decoration:none;}*/
.btn.btn-rot:hover {  background-color: #303030; }

 /* weiße Variante für roten Untergrund */
.btn.btn-light.weiss {border: 1px solid #fff;color:#fff;  }
.btn.btn-light.weiss:hover {border-color: #fff;}
.btn.btn-light.weiss:before {filter: invert(1) brightness(2.5) contrast(2.5);} 
.btn.icon.btn-light.weiss:hover{border-color: #fff;}

/*Sammlung*/
.abs.abs_h1 .btn {font-size: clamp(14px, 2cqw, 26px); height: 1.4em;padding:.7em 1.4em 0.4em 4.0em; float:right;margin-right:0; margin-left:.5em; text-decoration:none;}
.abs.abs_h1 .btn:hover { border-width: 5px;border-color: #A81D25;
                       padding-top:     calc(.7em - 4px);
                       padding-right:   calc(1.4em - 4px);
                       padding-bottom:  calc(0.4em - 4px);
                       padding-left :   calc(4.0em - 2px);    }


/*Button ist rund, hat demnach keinen Text:*/
.btn.icon.icon-set-kreis {padding: 0.7em 1.5em 0.6em 1.0em;
  font-size: clamp(10px, 2.2cqw, 2.2cqw);
  min-width: 10px;
  min-height: 20px;}
/* Icon skaliert exakt wie der Plus-Button im Kalender (.kalender .info .mehr::before):
   quadratisch, Floor 20px, Rate 2.2cqw, zentriert, contain */
.btn.icon.icon-set-kreis:before {top:50%; left:50%; transform:translate(-50%,-50%); width:clamp(27px, 3cqw, 3cqw); height:clamp(27px, 3cqw, 3cqw); background-position:center center; background-size:contain;}
/*Animation des Randes ist dann auch anders: */
.btn.icon-set-kreis.btn-light:hover { /* padding-abweichungen bei Kreisform */
                       padding-top:     calc(1.0em - 4px);
                       padding-right:   calc(2em - 4px);
                       padding-bottom:  calc(0.6em - 4px);
                       padding-left :   calc(1.0em - 4px);   /* < einziger unterschied, wenn Kreis */}
.btn.icon-set-kreis.btn-light.icon:hover::before { left: 50%; }

/*Sammlung*/
/*.abs.abs_h1 .btn.icon-set-kreis {font-size: clamp(1px, 1.0cqw, 1.0cqw);  
                       padding-top:     calc(1.5cqw - 4px);
                       padding-right:   calc(2cqw - 4px);
                       padding-bottom:  calc(1.5cqw - 4px);
                       padding-left :   calc(2.5cqw - 4px); */
}
.nav-geschwister .disabled {
    opacity: 0.4;
    pointer-events: none;
    cursor: default;
}

/* ------------------------------------------------------------------------------------  Zitat */
.zitat  { padding: 0;  }
.zitat .zitat-wrapper { margin:0em; padding: 0.5cqw 0% 2cqw 4cqw; margin-top:2cqw!important;}
.zitat .zitat-wrapper::before {    content: ""; display: block;flex-shrink: 0; width: 2.8cqw; height: 2.8cqw; min-width: 0em; 
                            background-image: url('../icons/zitat_rot.svg'); background-size: contain; background-repeat: no-repeat; background-position: left  top;  
                            margin-bottom: -3.4cqw; margin-left: -4.0cqw/* Abstand zum Rand links */;  }
.zitat .zitat-wrapper .zitatinhalt , .zitat .zitat-wrapper .zitatinhalt p { font-style: normal; font-size:clamp(22px, 3cqw ,38px); font-style: italic; }
.zitat .zitat-wrapper .zitierende { font-style: normal; font-size: clamp(18px, 2cqw ,26px); margin-top: 1.5em; }


/* ------------------------------------------------------------------------------------  Zitat mit rotem Hintergrund */
.zitat_rot {/*border-top:1px solid #303030; border-bottom:1px solid #303030;*/ padding: 1.5em 0;}
.zitat_rot.linieoben {border-top:1px solid #303030; }
.zitat_rot.linieunten {  border-bottom:1px solid #303030;  }

.zitat_rot .zitatflaeche {  background-color: #A81D25; color: #fff; display: flex; padding: 12em 0 10em 0;  align-items: center/* Zentriert Icon und Text vertikal */;}
.zitat_rot .zitat-wrapper { margin:0em; padding: 0% 20% 0% 25%; }
.zitat_rot .zitat-wrapper::before {    content: ""; display: block;flex-shrink: 0;
                            width: 5.8em; height: 5.8em; min-width: 5.8em; 
                            background-image: url('../icons/zitat_weiss.svg'); background-size: contain; background-repeat: no-repeat; background-position: left center;  
                            margin-bottom: -5.9em; margin-left: -6.8em/* Abstand zum Rand links */; }
.zitat_rot .zitat-wrapper .zitatinhalt { font-style: normal; font-size: clamp(14px, 2.0em,2.0em ); font-style: italic; }
.zitat_rot .zitat-wrapper .zitierende { font-style: normal; font-size: clamp(12px, 1.4em,1.4em ); margin-top: 1.5em; }


/* ------------------------------------------------------------------------------------  Angebote 3-spaltig */
.verteiler_3spaltig { width:auto; overflow:hidden; /*border-top:  1px solid #303030;*/  }
.verteiler_3spaltig .inner { display: grid; grid-template-columns: repeat(3, 1fr); width:calc(100% + 4cqw);
                        margin: 0 -2cqw; /* Negatives margin gleicht das erste/letzte Padding aus, Überlappung nach Außen durch overflow-x:hidden in .block  */  }
.verteiler_3spaltig .kasten { border-right: 1px solid #303030;border-bottom: 1px solid #303030; margin-bottom:-1px;
            display: flex;flex-direction: column; align-items: stretch; padding: 2cqw 2cqw 2cqw 2cqw/* auf allen Seiten gleich */;}
.verteiler_3spaltig .kasten .abb {  width: 100%;  margin-bottom: 1.2em;   overflow: hidden; /*display: flex;*/ align-items: center; justify-content: center;}
.verteiler_3spaltig .kasten .abb img { width: 100%; display: block;margin-bottom:1.5cqw;}

.verteiler_3spaltig .kasten:nth-child(3n) {  border-right: none;} /* Letzte Spalte: Keine Border rechts */

.verteiler_3spaltig .kasten .overline   { font-size: clamp(14px, 1.3em ,1.3em); margin-bottom: 0.5em;     }
.verteiler_3spaltig .kasten .titel ,.verteiler_3spaltig .kasten h2     { font-size: clamp(22px, 3.5cqw, 38px ); margin-bottom: 0.45em;  line-height: 110%; font-weight: 600;}
.verteiler_3spaltig .kasten a    { color:#303030;text-decoration:none;}
.verteiler_3spaltig .kasten .untertitel { font-size: clamp(14px, 1.3em ,1.3em); margin-bottom: 0.0em;   line-height:1.0em;   font-weight: 400;}
.verteiler_3spaltig .abs_bild_gross { justify-content:inherit!important;     }

.verteiler_3spaltig .kasten .abb.verteiler  {position:relative;}
.verteiler_3spaltig .kasten .abb.verteiler .pfeil {position:absolute;bottom:0;left:0;width:100%; background-color:#fff; display:none; }
.verteiler_3spaltig .kasten .abb.verteiler .icon {margin-left:-10px;}

.verteiler_3spaltig .abs_verteiler_zu_seite {
  display: flex;margin-bottom:-1px;
}


/*-------------*/
.verteiler_1zu2,.verteiler_2zu1{ width:auto; overflow:hidden;}
.verteiler_1zu2 .inner,
    .verteiler_2zu1 .inner { display: grid;   width:calc(100% + 0); margin: 0 -2cqw;}
.verteiler_1zu2 .inner .abs,
    .verteiler_2zu1 .inner .abs {  padding: 2cqw 2cqw 2cqw 2cqw;  display: flex;flex-direction: column; align-items: stretch;}
.verteiler_1zu2 .kasten,
    .verteiler_2zu1 .kasten { border-right: 1px solid #303030;border-bottom: 1px solid #303030;  padding: 2cqw 2cqw 2cqw 2cqw/* auf allen Seiten gleich */;  
            display: flex;flex-direction: column; align-items: stretch;margin-bottom:-1px;}
.verteiler_1zu2 .kasten a,
    .verteiler_2zu1 .kasten a    { color:#303030;text-decoration:none;}
/*-------------*/
.verteiler_1zu2 .inner {grid-template-columns:  1fr 2fr;  }
.verteiler_1zu2 .kasten:nth-child(2n) {  border-right: none;} 
/*-------------*/
.verteiler_2zu1 .inner {grid-template-columns:   2fr 1fr;  }
.verteiler_1zu2 .kasten:nth-child(2n) {  border-right: none;} 

/* ------------------------------------------------------------------------------------  Angebote 2-spaltig */
.verteiler_2spaltig {    }
.verteiler_2spaltig .inner {  display: grid; grid-template-columns: repeat(2, 1fr);gap: 2cqw;/*margin-top:2cqw;*/ padding-bottom:2cqw;}
.verteiler_2spaltig .abs {   /*display: flex;flex-direction: column; align-items: stretch;*/ }
/* ------------------------------------------------------------------------------------ Bild groß z.B. Sammlung */
.abs_bild_gross { justify-content:center; display: flex;  margin-top:2cqw; padding-bottom:5cqw;  border:none;    }
.abs_bild_gross .abb { width:50%; max-width:600px; }
 
/*.abs_bild_gross .abb.landscape { justify-content:center; display: flex;  margin-top:2cqw; padding-bottom:5cqw; border-bottom:1px solid #303030;    }*/
.abs_bild_gross .abb.landscape  { width:100%; max-width:1200px; text-align:center; }


.abs_bild_gross .abb img { width:100%; margin-bottom:1cqw; }
.abs_bild_gross .abb .bu {font-size: clamp(14px, 1.5cqw, 20px); text-align:left;}




/* ------------------------------------------------------------------------------------ Bild groß z.B. Sammlung */
 .abs_bild_gross100p {margin-top:2cqw;}
  .abb {margin-bottom:3cqw;}
  .abb img {margin-bottom:1cqw;}


.verteiler_3spaltig .abs_bild_gross { border-right: 1px solid #303030;border-bottom: 1px solid #303030;  padding: 2cqw 2cqw 2cqw 2cqw/* auf allen Seiten gleich */;  
            display: flex;flex-direction: column; align-items: stretch; margin-top:0;}
.verteiler_3spaltig .abs_bild_gross .abb {  width: 100%;  margin-bottom: 1.2em;   overflow: hidden; /*display: flex;*/ align-items: center; justify-content: center;}
.verteiler_3spaltig .abs_bild_gross .abb img { width: 100%; display: block;}

.verteiler_3spaltig .abs_bild_gross:nth-child(3n) {  border-right: none;} /* Letzte Spalte: Keine Border rechts */

.linieunten {border-bottom:1px solid #303030!important;padding-bottom:1cqw;margin-bottom:1cqw;}
.linieoben {border-top:1px solid #303030!important;}

/*--------------------------------------------
    Abweichungen
--------------------------------------------*/
/* bis 1920px */
@media (max-width: 1919.98px) {

}

 

@media (max-width: 1439.98px) {
    /* ------------------------------------------ Ausstellungsmodul, Bild rechts */
}


 @media (max-width: 999px) {
     .abs.abs_h1 {margin-top: 103px;}

 }


 @media (max-width: 768px) {
    /* ------------------------------------------ Header: feste Bildhöhe 420px + Bildausrichtung per Zusatz-CSS */
    /* Headerbild bleibt 420px hoch (statt 16/9). Pur-Seiten (ohne Bild) und der Sticky-Header bleiben unberührt. */
    #header:not(.pur):not(.sticky) { aspect-ratio: auto; height: 420px; max-height: 420px; }
    /* .header_bg ist height:100% -> wird 420px; cover beschneidet bei schmaler Breite horizontal. */
    #header:not(.sticky) .header_bg.header_bild_links  { background-position: top left;   } /* linksbündig, rechts abgeschnitten */
    #header:not(.sticky) .header_bg.header_bild_mitte  { background-position: top center; } /* mittig, links+rechts abgeschnitten */
    #header:not(.sticky) .header_bg.header_bild_rechts { background-position: top right;  } /* rechtsbündig, links abgeschnitten */

    /* ------------------------------------------ Ausstellungsmodul, Bild rechts */
    /*.kalender .wrapper_langinfo .info .bildrechts { float:inherit;max-width: 80%;max-height:300px; margin:0 0 5cqw 0;}*/
    .kalender .kalender-filter .filter-row {gap: 0.5em; flex-wrap: wrap; padding-right: 0;}
    .kalender .kalender-filter .filter-row .filter-item {flex: 1 1 100%; width:100%;}
    .kalender .kalender-filter .filter-row .filter-item label {display:none;}
    .kalender .wrapper_langinfo .info .bildrechts { display:inherit; float:none!important; max-width:inherit; width: 100%!important; height:auto!important;
                                                    max-height:inherit!important;   margin: 2cqw 0 5cqw 0!important;}
    .kalender .wrapper_langinfo .info .abstand_unten {height:5.5cqw;}

    .verteiler_1zu2 .inner {grid-template-columns: inherit;  }
    #footer_inner p  { }
    #footer_inner p a { white-space:nowrap; }
     #footer_inner .links_horizontal a {margin-left:0; margin-right:2cqw;}
    #footer_inner .text_rechts { text-align:left;line-height:250%!important;}
    #footer_inner .text_rechts p { line-height:200%!important;}
    #footer_inner h2 {  margin-bottom: 4cqw;}

    p {  margin-bottom:4cqw;}

   }

    .abs_h1_mitbutton .nav-geschwister .btn {margin: 0 2cqw 0 0; padding: 0.8cqw 3.2cqw 0.8cqw 1.0cqw;   } /*sammlung*/
    .abs_h1_mitbutton .nav-geschwister .btn:hover {  
        padding-top: calc(0.8cqw - 4px) ;
        padding-right:  calc(3.2cqw - 4px) ;
        padding-block:  calc(0.8cqw - 4px) ;
        padding-left:  calc(1.0cqw - 4px) ;
    }  

@media (max-width: 600px) {
    #mainmenue #logo {width: 26cqw;}
    #logo img { width: 30cqw; max-width:108px; margin:0.8cqw 0 0 0;  content: url('../img/KMK_Logo_quer.svg'); /* mini-Logo */}

    #header_top_right .info {display:none;}

    #header_top_right { gap: 4cqw!important; padding:2.2cqw!important;  }
    #header_top_right .language{  font-size: clamp(12px, 4.5cqw, 4.5cqw)!important;   }
    #header_top_right .icon {  font-size: clamp(20px, 6.0cqw, 6.0cqw)!important; 
                             width: 3cqw;
  height: 3cqw;
  min-width: 35px;
  min-height: 35px;
   }

    .abs.abs_zwischentitel { margin-top: 7cqw;}
.abs.abs_zwischentitel h2 {}


    #meldungsbalken {  text-align:left;}
    #meldungsbalken #meldungsbalkenText {padding-right: 20cqw;}
    #meldungsbalken.offen { /*height: 40cqw;*/ line-height:150%;  }
    #meldungsbalken #meldungsbalkenSchliessen {background-size: 9cqw 9cqw;top: 9cqw;    right: 7cqw;  }

   .abs_h1_mitbutton .nav-geschwister {float:left;margin-bottom:3cqw;margin-top:4cqw;} /*sammlung*/
   .abs_h1_mitbutton h1 {clear:both;} /*sammlung*/

   .abs_h1_mitbutton .nav-geschwister .btn {margin:0 4cqw 0 0; min-width: 12px; min-height:12px; width:13cqw; height:5cqw; }
    .abs_h1_mitbutton .nav-geschwister .btn::before   { width:  clamp(12px, 4.5cqw, 4.5cqw)} 

  #header_sticky #logo_sticky{height: 14cqw;}
 

    #header #header_wrapper #quicklinks {   left:50%; transform:translateX(-50%);   white-space:nowrap;  }

    .abs.abs_h1 {margin-top: 20cqw;}
    .abs.abs_h1 h1 {  margin-left: 0;margin-top: 25cqw;    margin-bottom: 5cqw;font-size:clamp(26px, 9cqw, 9cqw);}

     /* ------------------------------------------ Ausstellungsmodul, Bild rechts */
    .abs.abs_ausstellung {
        flex-direction: column;
        aspect-ratio: unset;
        width: 100%;
        max-height: none;
        min-height: auto; /* Wichtig: min-height aufheben */
       margin-bottom: 1.5cqw;
    padding-bottom: 1.5cqw;
    padding-top: 1.5cqw;
    }
    .abs.abs_ausstellung .spalte.sort1{
        border-right:none;
    }
    .abs.abs_ausstellung .spalte{
       margin:0!important;
       padding:0 0 1em 0!important;
    }
    

    .abs.abs_ausstellung .spalte.spaltebild { 
        white-space: wrap;
        order: 1; /* ZUERST anzeigen */
        width: 100%;
        padding: 1em 0 0 0;
        height: auto; /* Höhe nicht mehr fixiert */
    }
        .abs.abs_ausstellung .spalte.spaltebild.sort1{border-right:none;}
        .abs.abs_ausstellung .spalte.spaltebild.sort2 {border-left:none;}
    .abs.abs_ausstellung .spalte.spaltetext {
        order: 2; /* DANACH anzeigen */
        border: none;
        width: 100%;
        padding: 0 0 0.5em 0;
        height: auto; /* Höhe nicht mehr fixiert */
        overflow-y: visible; /* Kein Scroll */
        justify-content: flex-start; /* Text oben statt unten */
    }
    
    .abs.abs_ausstellung .spalte.spaltetext .unten {
        margin-left: 0 !important; /* sort2 margin aufheben */
    }
    
    .abs.abs_ausstellung .abb img {
        height: inherit;
        max-height:inherit;
    }
    
    .abs.abs_ausstellung .abb {
        margin-bottom: 1em;
        margin-top: 1em;
        max-height:inherit;
    }
    
   .abs.abs_ausstellung .overline {
     font-size: clamp(18px, 1.4cqw, 26px);
   margin-top: 0; padding:0; 
    letter-spacing: inherit;
}

.abs.abs_ausstellung h3 {
       font-size: clamp(28px, 2.8cqw, 52px);
 margin-top: 0.3em;  padding:0; 
    letter-spacing: inherit; 
    line-height: 1.13em;
}

.abs.abs_ausstellung h4 {
       font-size: clamp(18px, 1.4cqw, 26px);
 margin-top: 0.5em;  padding:0; 
 }

   
   #mainmenue #mainmenu_mitte { display:none;    }
   #mainmenue #mainmenu_mobile {display:block; margin-left:-2cqw; }
   #mainmenue  #mainmenu_mobile { white-space: nowrap; display: inline-block;}

   #mainmenue  #mainmenu_mobile ul ,#mainmenu_mobile ul li { margin:0px; padding:5px 0 5px 0 ; list-style:none; }
   #mainmenue  #mainmenu_mobile ul li ul  { display:none;}
   #mainmenue  #mainmenu_mobile ul li ul.open  { display:block;}
   #mainmenue  #mainmenu_mobile ul li ul li {font-size:max(1.1rem, 2.7vw);}
   #mainmenue  #mainmenu_mobile a  { color:#fff; text-decoration:none; border-bottom:3px solid #A81D25;
                                     white-space: nowrap; display: inline-block;}
   #mainmenue  #mainmenu_mobile li a:hover  { border-bottom:3px solid #fff;}



/* ------------------------------------------------------------------------------------  Kalender */
    .kalender .zeile   {  padding-bottom: 3cqw; padding-top:1cqw; margin-bottom: 2cqw; }
    .kalender .zeile .wrapper_kurzinfo {    position: relative; min-height:inherit; width: auto;  height:auto; display: inherit; flex-wrap: inherit; align-items: inherit; }
    .kalender .zeile .wrapper_langinfo   { height:auto;  }
    .kalender .datum {  border-right:none;  min-height:inherit; flex: none;  width:100%; display: inherit; align-items: inherit; justify-content: inherit;  height:auto!important;}
    
    .kalender .wrapper_kurzinfo .info { position: relative;  clear:both; border:0px solid green;padding:5px 0 0 0 ;}
    .kalender .wrapper_langinfo .info { position: relative;  padding:5px 0 0 0 ;}

    /*.kalender .wrapper_langinfo  { height:inherit!important;}*/
    .kalender .wrapper_langinfo .datum {display:none; /*leerzeile links kann weg*/}
    .kalender .datum .wtag {  position:relative; left:0; top:inherit; padding-top:10px;margin-bottom: 0px; }
    .kalender .datum .tag {  position:relative; left:0; bottom:inherit; float:left;margin-right:10px; font-size: clamp(35px, 12cqw ,15cqw); }
    .kalender .datum .monat {  position:relative; left:0; bottom:inherit; float:left;margin-top:2.5cqw; font-size: clamp(16px, 1.4cqw, 1.4cqw);  }
    .kalender .info .overline { margin: 2.5cqw 0 0.5em 0;   }
    .kalender-einzel .wrapper_kurzinfo .info .bildrechts {max-width:inherit;max-height:inherit; width:100%;margin:3cqw 0;}
/* ------------------------------------------------------------------------------------  Zitat */
    .zitat {  padding: 1.5em 0;}
    /*.zitatflaeche {  padding: 8em 0 7em 0;}*/
    .zitat .zitat-wrapper { margin:0em; padding: 0.5cqw 0% 0% 0; }
    .zitat .zitat-wrapper::before {    width: 5.8cqw; height: 5.8cqw; 
                                margin-bottom:1em; margin-left: 0em; }
    .zitat .zitat-wrapper .zitatinhalt {  font-size: clamp(20px, 2.0em,2.0em ); font-style: italic; }
    .zitat .zitat-wrapper .zitierende {   font-size: clamp(18px, 1.5cqw ,26px);    margin-top: 0.6em; }


/* ------------------------------------------------------------------------------------  Angebote 3-spaltig */
    .verteiler_3spaltig {   width:auto;  height:auto; overflow:hidden;}
    .verteiler_3spaltig .inner {   display: grid; grid-template-columns: repeat(2, 1fr); 
                             /* Negatives margin gleicht das erste/letzte Padding aus, Überlappung nach Außen durch overflow-x:hidden in .block  */  }
    .verteiler_3spaltig .kasten { border-right: 1px solid #303030;border-bottom: 1px solid #303030; margin-bottom:-1px;    }
    .verteiler_3spaltig .kasten .abb {  }
    .verteiler_3spaltig .kasten .abb img { }

    .verteiler_3spaltig .kasten:nth-child(3n) {  border-right: 1px solid #303030;} /* Letzte Spalte: Keine Border rechts */
    .verteiler_3spaltig .kasten:nth-child(2n) {  border-right: none;} /* Letzte Spalte: Keine Border rechts */

    .verteiler_3spaltig .kasten .overline   { font-size: clamp(16px, 1.3em ,1.3em); }
    /*.verteiler_3spaltig .kasten .titel      { font-size: clamp(22px, 3.5cqw, 38px ); }*/
    .verteiler_3spaltig .kasten .untertitel { font-size: clamp(16px, 1.3em ,1.3em); }

/* ------------------------------------------------------------------------------------  Footer */
    #footer_inner   {  color:#fff;}
    #footer_inner .abs50p {width:100%; float:inherit; }
    #footer_inner .abs100p {width:100%; clear:both; }
    #footer_inner .zwischentitel {margin-bottom:20px;  margin-top: 30px;color:#fff;/*font-size: clamp(15px, 2.0em, 20px); letter-spacing: 3px; */ text-transform: uppercase;}
    #footer_inner p {  margin-bottom:1.4em;line-height:1.3em; }
    #footer_inner h4 {font-size: clamp(22px, 2em, 2em); margin: 2.4em 0 2.4em  0;line-height:1.3em; }
    #footer_inner hr {margin-bottom:10px;}
    #footer_inner .text-right { text-align:left!important;}
    #footer_inner .infolinks   {margin-bottom:50px;}


    /*----------------------------------------------.abs.abs_zweispaltig  */
    .abs.abs_zweispaltig .inner { flex-direction: column; /* statt nebeneinander jetzt untereinander */}
    .abs.abs_zweispaltig .spalte { width: 100%; padding-right: 0;  }

    /* ------------------------------------------------------------------------------------ Bild groß z.B. Sammlung */
.abs_bild_gross {   }
.abs_bild_gross .abb { width:100%; max-width:100%; }
.abs_bild_gross .abb img {  }
.abs_bild_gross .abb .bu {/*font-size: clamp(14px, 1.5cqw, 20px);*/}


    /* ------------------------------------------------------------------------------------  Angebote 2-spaltig */
    .verteiler_2spaltig .inner {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2cqw;
  margin-top: 2cqw;
  padding-bottom: 2cqw;
}

.verteiler_2spaltig .abs {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

/* Mobile: Spalten untereinander */
@media (max-width: 600px) {
  .verteiler_2spaltig .inner {
    display: flex;
    flex-direction: column; /* übereinander */
  }
  .verteiler_2spaltig .abs {
    width: 100%;
    padding-right: 0;
  }
}
}


@media (max-width: 340px) {

}


.block.standard.removeLinieUnten,
.block.verteiler_3spaltig.removeLinieUnten,
.block.zeitstrahl.removeLinieUnten,
.block.verteiler_2spaltig.removeLinieUnten {border-bottom:none!important;}






.nav-geschwister-dropdown { position: relative; display: inline-block; margin-right: 20px; margin-bottom: 3.5cqw;  margin-top: 3.5cqw; }

/* Im offenen Zustand: Container über nachfolgende Inhalte heben */
.nav-geschwister-dropdown.is-open { z-index: 1000; }

/* Damit der z-index auch greift, wenn ein .abs/.block Elternelement
   im Reddank-Layout einen eigenen Stacking-Context aufstellt: */
.abs:has(.nav-geschwister-dropdown.is-open),
.block:has(.nav-geschwister-dropdown.is-open) {
    position: relative;
    z-index: 1000;
}

/* Toggle: nutzt .btn .btn-light .icon aus reddank_homepage.css. */
.nav-geschwister-dropdown .nav-dropdown-toggle {
    background: #fff;
    margin-right: 0;
    text-align: left;
    cursor: pointer;
    user-select: none;
}
.nav-geschwister-dropdown .nav-dropdown-toggle::before {
    content: "";
    position: absolute;
    top: 0cqw;
    left: 2cqw;
    width: 1cqw;
    height: 100%;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23303030' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 2cqw 2cqw;
    transition: transform 200ms ease;
}
.nav-geschwister-dropdown.is-open .nav-dropdown-toggle::before {
    transform: rotate(180deg);
}
.nav-geschwister-dropdown .nav-dropdown-toggle:focus { outline: none; }
.nav-geschwister-dropdown .nav-dropdown-toggle:focus-visible { border-color: #A81D25; }

/* Custom Padding für diesen Toggle */
.nav-geschwister-dropdown .btn.icon {
    padding: 1.0cqw 2cqw 1.0cqw 5cqw;
}

/* ---- Hover: dicker roter Border wie bei btn.btn-light, aber wackelfrei.
   Globale Regel aus reddank_homepage.css (Zeile 767/772) wird überschrieben,
   weil sie mit Standard-em-Werten rechnet und nicht zu unseren cqw-Werten passt.
   Border wächst um 4px → von jeder Padding-Seite 4px abziehen. */
.nav-geschwister-dropdown .nav-dropdown-toggle.btn.btn-light:hover,
.nav-geschwister-dropdown .nav-dropdown-toggle.btn.icon.btn-light:hover {
    border-width: 5px;
    border-color: #A81D25;
    padding: calc(1.0cqw - 4px) calc(2cqw - 4px) calc(1.0cqw - 4px) calc(5cqw - 4px);
}

/* Chevron 4px nach links rücken, damit es zur dickeren Border passt */
.nav-geschwister-dropdown .nav-dropdown-toggle.btn.btn-light:hover::before {
    left: calc(2cqw - 4px);
}

/* Liste */
.nav-geschwister-dropdown .nav-dropdown-list {
    position: absolute;
    top: calc(100% + 0.4em);
    left: 0;
    margin: 0;
    padding: 0.5em 0;
    list-style: none;
    background: #fff;
    border: 1px solid #303030;
    border-radius: 1.5em;
    min-width: 100%;
    z-index: 1;
    display: none;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}
.nav-geschwister-dropdown.is-open .nav-dropdown-list { display: block; }

.nav-geschwister-dropdown .nav-dropdown-list li { margin: 0; padding: 0; }
.nav-geschwister-dropdown .nav-dropdown-list a {
    display: block;
    padding: 0.55em 1.6em;
    color: #303030;
    text-decoration: none;
    white-space: nowrap;
    font-size: clamp(14px, 1em, 1em);
}
.nav-geschwister-dropdown .nav-dropdown-list a:hover,
.nav-geschwister-dropdown .nav-dropdown-list a:focus {
    background: #f0ece6;
    color: #A81D25;
    outline: none;
}
.nav-geschwister-dropdown .nav-dropdown-list a.is-active {
    font-weight: 600;
    color: #A81D25;
}




 /* ══════════════════════════════════════════════════════════════
       YOUTUBE CONSENT KOMPONENTE
       Alle Regeln sind ausschliesslich unter .youtube-wrapper
       verschachtelt — keine Auswirkungen auf den Rest der Seite.
    ══════════════════════════════════════════════════════════════ */
  .youtube-wrapper {
      position: relative;
      width: 100%;
      max-width: 100%;
      aspect-ratio: 16 / 9;
      border-radius: 0px;
      overflow: hidden;
      background: #1a1a1a;  
      margin-top: 3cqw;
      margin-bottom: 3cqw; 
    }

    .youtube-wrapper .youtube-thumb {
      z-index: 1;
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg, #1e1e2e 0%, #2a1a3e 40%, #1a2a3e 100%);
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .youtube-wrapper .youtube-thumb svg {
      width: 80px;
      height: 80px;
      opacity: 0.12;
    }

    .youtube-wrapper .youtube-consent {
      z-index: 3;
      position: absolute;
      inset: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      backdrop-filter: blur(2px);
      background: rgba(10, 10, 10, 0.55);
      transition: opacity 0.4s ease;
    }

    .youtube-wrapper .youtube-consent.hidden {
      opacity: 0;
      pointer-events: none;
    }

    .youtube-wrapper .youtube-consent-card {
      background: #faf9f7;
      border-radius: 5px;
      padding: 32px 36px;
      max-width: 380px;
      width: 90%;
      text-align: center;
      /*box-shadow: 0 8px 40px rgba(0,0,0,0.35);*/
      transform: translateY(0);
      transition: transform 0.4s ease;
    }

    .youtube-wrapper .youtube-consent.hidden .youtube-consent-card {
      transform: translateY(12px);
    }

    .youtube-wrapper .youtube-consent-icon {
      width: 48px;
      height: 48px;
      margin: 0 auto 18px;
      background: #A81D25;
      border-radius: 5px;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .youtube-wrapper .youtube-consent-icon svg {
      width: 26px;
      height: 26px;
      fill: #fff;
    }

    .youtube-wrapper .youtube-consent-card h3 {
     font-family: "futura-pt", sans-serif;font-weight: 400;
      font-size: 1.2rem;
      color: #1a1a1a;
      margin-bottom: 10px;
    }

    .youtube-wrapper .youtube-consent-card p {
      font-size: 0.83rem;
      color: #666;
      line-height: 1.6;
      margin-bottom: 22px;
    }

    .youtube-wrapper .youtube-consent-card p a {
      color: #A81D25;
      text-decoration: none;
    }

    .youtube-wrapper .youtube-btn-accept {
      display: block;
      width: 100%;
      padding: 13px 20px;
      background: #A81D25;
      color: #fff;
      border: none;
      border-radius: 5px;
     font-family: "futura-pt", sans-serif;font-weight: 400;
      font-size: 0.9rem;
      font-weight: 600;
      cursor: pointer;
      letter-spacing: 0.02em;
      transition: background 0.2s, transform 0.1s;
      margin-bottom: 12px;
    }

    .youtube-wrapper .youtube-btn-accept:hover  { background: #cc0000; }
    .youtube-wrapper .youtube-btn-accept:active { transform: scale(0.98); }

    .youtube-wrapper .youtube-consent-always {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      font-size: 0.8rem;
      color: #555;
      cursor: pointer;
      user-select: none;
    }

    .youtube-wrapper .youtube-consent-always input[type="checkbox"] {
      width: 15px;
      height: 15px;
      accent-color: #A81D25;
      cursor: pointer;
    }

    .youtube-wrapper .youtube-consent-footer {
      margin-top: 16px;
      padding-top: 14px;
      border-top: 1px solid #eee;
      font-size: 0.72rem;
      color: #aaa;
    }

    .youtube-wrapper .youtube-iframe {
      z-index: 2;
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      border: none;
      opacity: 0;
      transition: opacity 0.5s ease 0.1s;
    }

    .youtube-wrapper .youtube-iframe.visible {
      opacity: 1;
    }




/* --- Blaetter-Navigation (Pillen-Format analog Suchseite .such-pager) --- */
.kal-pager {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    align-items: center;
    margin: 40px 0 10px;
}
.kal-pager-link {
    display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  min-height: 40px;
  height: 3.5cqw;
  padding: 0 1.4cqw 0 1.4cqw;
  box-sizing: border-box;
  border: 1px solid #303030;
  border-radius: 999px;
  color: #303030;
  text-decoration: none;
  line-height: 1;
  font-size: clamp(18px, 1.2cqw, 1.2cqw);
  transition: border-color 0.2s, background-color 0.2s, color 0.2s;
}
a.kal-pager-link:hover { border-color: #A81D25; color: #A81D25; background: none; }
.kal-pager-aktiv {
    background: #A81D25;
    border-color: #A81D25;
    color: #fff;
    cursor: default;
}
.kal-pager-disabled { opacity: .4; pointer-events: none; }
.kal-pager-ellipse { padding: 0 4px; color: #888; }

/* --- Ausgegraute, nicht verfuegbare Filteroptionen --- */
.filter-select option:disabled { color: #bbb; }

/* --- Aktive Filter (Chips) --- */
.aktive-filter {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
    margin-top: .8rem;
}
.aktive-filter-label { font-weight: normal; margin-right: .2rem; font-size:clamp(18px, 1.1cqw, 1.1cqw); }
.filter-chip {
    display: inline-flex;
    align-items: center;
    gap: .3rem;
    padding: .25rem .6rem;
    color:#303030;
    /*background: #f0f0f0;*/
    border: 1px solid #d0d0d0;
    border-radius: 999px;
    text-decoration: none;
    font-size: .9em;
    line-height: 1.4;
}
.filter-chip:hover { background: #e2e2e2; }
.filter-chip .chip-kat { font-weight: 600; }
.filter-chip .chip-x { font-weight: normal; }
.filter-reset-all {
    /*margin-left: .4rem;*/
    /*text-decoration: underline;*/
    font-size: .9em;
}





.shopd-titel {margin: 0 0 1cqw 0;color: #A81D25;
  font-size: clamp(18px, 2cqw ,2cqw);
  font-size: clamp(18px, 5cqw ,2.7cqw);
  font-weight: 600;
  line-height: 110%;
  width: calc(100% - 2.2em);}
 .shopd-einleitung {   margin-bottom:2cqw; }
    .shopd-kurzinfo {     margin-bottom:2cqw; }
    .shopd-kurzinfo p { margin:0 0 10px; }
    .shopd-varianten { margin-bottom:2cqw; }
    .shopd-variante { display:block;   margin-bottom:0.2cqw; cursor:pointer;  font-size:clamp(14px, 2cqw, 26px); }
    .shopd-variante input { margin-right:1cqw; }
    .shopd-btn { background:#A81D25; color:#fff; border:0; border-radius:30px; padding:13px 26px; font-size:clamp(14px, 2cqw, 26px); cursor:pointer; font-family:inherit; }
    .shopd-btn:hover { background:#8c1820; }
    .shopd-text { margin-top:2cqw;    }
   

    .shopwk-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.55); z-index:99999; align-items:flex-start; justify-content:center; padding:40px 16px; overflow:auto; }
    .shopwk-modal { background:#fff; width:100%; max-width:680px; font-family:'futura-pt','Century Gothic','Trebuchet MS',Arial,sans-serif; color:#303030; }
    .shopwk-head { display:flex; justify-content:space-between; align-items:center; padding:20px 26px; border-bottom:1px solid #ddd; }
    .shopwk-head span { font-size:22px; font-weight:700; }
    .shopwk-close { background:none; border:0; font-size:28px; line-height:1; cursor:pointer; color:#303030; }
    .shopwk-body { padding:10px 26px 26px; }
    .shopwk-pos { display:flex; align-items:flex-start; gap:16px; padding:16px 0; border-bottom:1px solid #eee; }
    .shopwk-pos img { width:64px; height:auto; flex:0 0 64px; }
    .shopwk-pos-info { flex:1 1 auto; }
    .shopwk-pos-kat { font-size:13px; color:#888; }
    .shopwk-pos-titel { font-weight:700; line-height:1.2; }
    .shopwk-pos-var { font-size:14px; color:#555; margin-top:4px; }
    .shopwk-menge { display:flex; align-items:center; gap:10px; flex:0 0 auto; }
    .shopwk-rund { width:34px; height:34px; border:1px solid #999; border-radius:50%; background:#fff; cursor:pointer; font-size:16px; line-height:1; color:#303030; }
    .shopwk-rund:hover { border-color:#A81D25; color:#A81D25; }
    .shopwk-summen { margin-top:18px; font-size:15px; }
    .shopwk-summen .zeile { display:flex; justify-content:space-between; padding:3px 0; }
    .shopwk-summen .gesamt { font-weight:700; font-size:18px; border-top:1px solid #ccc; margin-top:8px; padding-top:10px; }
    .shopwk-foot { text-align:right; margin-top:22px; }
    .shopwk-kasse { background:#A81D25; color:#fff; border:0; border-radius:30px; padding:13px 26px; font-size:16px; cursor:pointer; font-family:inherit; }
    .shopwk-kasse:hover { background:#8c1820; }
    .shopwk-leer { padding:24px 0; color:#777; }
    .shopwk-hinweis { background:#fbe9ea; border:1px solid #A81D25; color:#A81D25; padding:12px 16px; border-radius:8px; margin-bottom:16px; font-size:15px; }
    .shopwk-pos-gueltig { font-size:14px; color:#A81D25; margin-top:4px; }


    /* ---- Kasse (includes/shop_kasse.aspx + shop_kasse_action.aspx) ---- */
    .kasse h2.kueber { font-weight:700; margin:0 0 2.5cqw 0; border-bottom:1px solid #303030; padding-bottom: 2.7cqw;}

    .kasse .ksteps { display:flex; align-items:center; justify-content:center; gap:8px; padding:3cqw 0 2.2cqw 0; margin-bottom:2.7cqw; border-bottom:1px solid #303030; }
    .kasse .kstep { display:flex; flex-direction:column; align-items:center; gap:6px; color:#9a948c; }
    .kasse .kstep-num { width:3cqw; height:3cqw; min-width:30px; min-height:30px; margin-bottom:0.8cqw; border-radius:50%; background:#f1eee8; color:#9a948c; display:flex; align-items:center; justify-content:center;
                        font-size:clamp(14px, 2cqw, 22px);}
    .kasse .kstep-txt { font-size:14px; font-size:clamp(14px, 2cqw, 20px);}
    .kasse .kstep-on .kstep-num { background:#303030; color:#fff; }
    .kasse .kstep-on { color:#303030;     }
    .kasse .kstep-line { flex: 0 0 0 0 7.2cqw;  height: 1px; background: #303030; margin-bottom: 2.5cqw;width:6cqw; }

    .kasse .kgrid { display:flex; flex-wrap:wrap; gap:6cqw;    }
    .kasse .kspalte-links { flex:1 1 320px; min-width:300px; }
    .kasse .kspalte-rechts { flex:1 1 380px; min-width:320px; }
    .kasse .kspalte-rechts h2.kueber {  border:none; margin: 0;padding-bottom: 1.5cqw;}
    .kasse .kspalte-rechts h2.kueber.klieferh2 {margin-top: 2.7cqw;}

    .kasse .kliste { /*border-top:1px solid #303030;*/ }
    .kasse .kpos { display:flex; align-items:flex-start; gap:16px; padding:1.5cqw 0 1.5cqw 0; border-bottom:1px solid #303030; }
    .kasse .kpos-bild { max-width:10cqw; max-height:10cqw; flex:0 0 1cqw; }
    .kasse .kpos-info { flex:1 1 auto; }
    .kasse .kpos-kat {   font-size:clamp(14px, 2cqw, 26px); color:#303030; }
    .kasse .kpos-titel { font-weight:700; line-height:1.25; font-size:clamp(14px, 2cqw, 26px);}
    .kasse .kpos-var {  font-size:clamp(14px, 2cqw, 26px); color:#303030; margin-top:4px; }
    .kasse .kpos-gueltig { font-size:clamp(13px, 1.8cqw, 22px); color:#A81D25; margin-top:4px; }
    .kasse .kpos-anz { flex:0 0 auto; color:#555;font-size:clamp(14px, 2cqw, 26px);  }
    .kasse .kpos-menge { display:flex; align-items:center; gap:12px; flex:0 0 auto; }
    .kasse .krund { width:3cqw; height:3cqw; min-width:30px; min-height:30px;   border:1px solid #b8b2a8; border-radius:50%; background:#fff; cursor:pointer;  font-size:clamp(14px, 2cqw, 26px); line-height:1; color:#303030; }
    .kasse .krund:hover { border-color:#A81D25; color:#A81D25; }
    .kasse .kbtn-ghost { border:1px solid #b8b2a8; border-radius:30px;min-height:30px; background:#fff; padding:0.3cqw 1.2cqw 0.5cqw 1.2cqw;
                         cursor:pointer; color:#303030; font-family:inherit;
                         font-size:clamp(14px, 2cqw, 20px); white-space:nowrap; }

    .kasse .kbtn-ghost:hover { border-color:#A81D25; color:#A81D25; }
    .kasse .kti { font-size:15px;font-size:clamp(12px, 2cqw, 26px); }

    .kasse .ksummen { margin-top:18px; }
    .kasse .kzeile { display:flex; justify-content:space-between; padding:4px 0;  font-size:clamp(14px, 2cqw, 26px); }
    .kasse .kgesamt { font-weight:700; font-size:19px;font-size:clamp(14px, 2cqw, 26px); border-top:1px solid #303030; margin-top:1.5cqw; padding-top:1.5cqw; }
    .kasse .kgesamt small { font-weight:400; font-size:14px;font-size:clamp(14px, 2cqw, 26px); }

    .kasse .kfeld { margin-bottom:14px; }
    .kasse .kfeld label { display:block; color:#555; margin-bottom:5px;font-size:clamp(14px, 2cqw, 22px); }
    .kasse .keingabe { width:100%; box-sizing:border-box; background:#f1eee8; border:0; border-radius:10cqw; padding:1.0cqw 2cqw; font-size:clamp(14px, 2cqw, 22px);font-family:inherit; color:#303030; }
    .kasse select.keingabe { -webkit-appearance:none; appearance:none; }
    .kasse .krow2 { display:flex; gap:14px; }
    .kasse .kfeld-halb { flex:1 1 0; }
    .kasse .kcheck { /*display:flex; align-items:flex-start; gap:10px;*/ font-size:clamp(14px, 2cqw, 26px); margin:14px 0; cursor:pointer; }
    .kasse .kcheck input[type="checkbox"] { -webkit-appearance:none; appearance:none; flex:0 0 auto;
        width:22px; height:22px; margin:2px 2px 0 0; border:1px solid #303030;
        background:#fff; cursor:pointer; position:relative; }
    .kasse .kcheck input[type="checkbox"]:checked { background:#A81D25; border-color:#A81D25; }
    .kasse .kcheck input[type="checkbox"]:checked::after { content:""; position:absolute; left:7px; top:3px;
        width:5px; height:10px; border:solid #fff; border-width:0 2px 2px 0; transform:rotate(45deg); }
    .kasse .kradio { display:block; border:1px solid #cfc9c0; border-radius:30px; padding:14px 20px; margin-bottom:12px; cursor:pointer; font-size:15px; font-size:clamp(14px, 2cqw, 26px);}
    .kasse .kradio input[type="radio"] { -webkit-appearance:none; appearance:none; flex:0 0 auto;
        width:22px; height:22px; margin:0 8px -5px 0; border:1px solid #303030; border-radius:50%;
        background:#fff; cursor:pointer; position:relative; top:-5px; vertical-align:middle; }
    .kasse .kradio input[type="radio"]:checked { background:#A81D25; border-color:#A81D25; }
    .kasse .kradio input[type="radio"]:checked::after { content:""; position:absolute; left:50%; top:50%;
        width:8px; height:8px; border-radius:50%; background:#fff; transform:translate(-50%,-50%); }
    .kasse .kanzeige { font-size:16px;font-size:clamp(14px, 2cqw, 26px); line-height:1.5; margin:0 0 4px; }
    .kasse .khinweis { font-size:13px;font-size:clamp(14px, 2cqw, 26px); color:#8a8a8a; margin:14px 0 0; }
    .kasse .kfehler { background:#fbeaea; color:#A81D25; border:1px solid #e9c4c4; border-radius:8px; padding:12px 16px; margin-bottom:16px; font-size:14px;font-size:clamp(14px, 2cqw, 26px); }

    .kasse .kfoot { text-align:right;   margin-top:26px; }
    .kasse .kbtn { background:#A81D25; color:#fff; border:0; border-radius:30px; padding:14px 28px; font-size:16px;font-size:clamp(14px, 2cqw, 26px); cursor:pointer; font-family:inherit; }
    .kasse .kbtn:hover { background:#8c1820; }
    .kasse .kleer { padding:30px 0; color:#777; }



    
/*Shop*/
#dankekasten  { margin-bottom:3cqw;  border-bottom:1px solid #303030; padding:1.5cqw 0 0.8cqw  10.2cqw;     }