.bannercontainer .tp-caption.hm-center {
    left: 50% !important;
    transform: translateX(-50%) !important;
}

/* === Akzent Orange (#EB7025) -> Bordeaux (#722F37) === */

/* Megamenü-Hover-Balken unter den Menüpunkten */
.leo-megamenu .navbar-nav > li > a::before {
    background-color: rgba(114, 47, 55, .3) !important;
}

/* Buttons (Hover / Focus) */
a.elementor-button:hover,
.elementor-button:hover,
a.elementor-button:focus,
.elementor-button:focus {
    background-color: #722F37 !important;
}

/* Footer-Links „Nützliche Links / Unsere Produkte" (Hover) */
.linklist-menu:hover,
.linklist-menu :hover,
.linklist-menu:focus,
.linklist-menu :focus {
    color: #722F37 !important;
}

/* Social-Media-Icons (Hover) */
.elementor-social-icon:hover i,
.elementor-social-icon:hover svg {
    color: #722F37 !important;
}

/* Helle Pfirsich-Akzente (#F9D4BD) -> helles Bordeaux */
.elementor-element-53e835a > .elementor-widget-container{border-color:rgba(114,47,55,.35)!important;}
.btn_link .elementor-button-link::before{background-color:rgba(114,47,55,.35)!important;}
.product_tabs .widget-tab-title::before{background-color:rgba(114,47,55,.35)!important;}

.elementor-button:hover,.elementor-button:focus{color:#fff!important;}

/* Produktbilder: einheitliches, ruhiges Raster */
.product-thumbnail img,
.thumbnail-container img,
.product-miniature img,
.thumbnail.product-thumbnail img{
    height:340px!important;width:100%!important;object-fit:cover!important;background:#f7f7f7;
}

.nav-links li:last-of-type {
    margin-top:15px;
    border-top:1px solid rgb(114, 47, 55);
}

.product-thumb-images .thumb {
    height: auto;
}

h2, .h2 {
    padding-bottom:16px;
}

h3, .h3 {
    padding-bottom:12px;
}

p {
    padding-bottom:16px;
}

/* === Redaktionelle Listen (eng gefasst) === */
.rte ul, .rte ol,
.product-description ul, .product-description ol,
.elementor-text-editor ul, .elementor-text-editor ol,
.block-category-inner ul, .block-category-inner ol{
    list-style-position: outside;
    padding-left: 30px;
    margin-left: 0;
    line-height: 25px;
}
.rte ul, .product-description ul, .elementor-text-editor ul, .block-category-inner ul{ list-style-type: disc; }

/* OL: Zahlen linksbündig */
.rte ol, .product-description ol, .elementor-text-editor ol, .block-category-inner ol{
    list-style:none; counter-reset:item;
}
.rte ol > li, .product-description ol > li, .elementor-text-editor ol > li, .block-category-inner ol > li{
    counter-increment:item; position:relative;
}
.rte ol > li::before, .product-description ol > li::before,
.elementor-text-editor ol > li::before, .block-category-inner ol > li::before{
    content:counter(item) "."; position:absolute; left:-30px; width:30px; text-align:left;
}

/* Abstand */
.rte li, .product-description li, .elementor-text-editor li, .block-category-inner li{ padding-bottom:6px; }

/* === Text-Link mit dezenter Unterstreichung === */
.text-link{
    display:inline-block;
    border-bottom:2px solid rgba(114,47,55,.35);
    padding-bottom:0;
    text-decoration:none;
    transition:border-color .2s ease, color .2s ease;
}
.text-link:hover,
.text-link:focus{
    border-bottom-color:#722F37;
    color:#722F37;
}

.empty-category{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:320px;
}
.empty-category .alert{
    max-width:600px;
    margin-bottom:0;
}

/* Kategorie: Breadcrumb-Abstände an CMS angleichen */
body#category .block-category .breadcrumb{
    padding-top: 0;        /* 30px oben weg → 8px wie CMS */
    padding-bottom: 10px;  /* 10 + 20 = 30px unten, wie CMS */
}
body#category .block-category h1{
    margin-bottom: 8px;
}

/* === Hauptnavigation: kein Zeilenumbruch im Engpass-Band === */
/* Desktop-Menü ab 992px (darunter Hamburger). Menü-Spalte wächst mit dem Viewport
   und trägt die 6 Punkte mit vollem 20px-Padding erst ab ~1227px (Spalte ≥ 768px).
   Nur im Band 992–1279px eng (8px/Seite) + nowrap; darüber bleiben die vollen 20px
   des Themes → wieder Luft. */
@media (min-width: 992px) and (max-width: 1279px){
    .leo-megamenu .navbar-nav.megamenu{ flex-wrap: nowrap !important; }
    .leo-megamenu .navbar-nav > li > a{ padding-left: 8px !important; padding-right: 8px !important; }
}

@media (max-width: 767px){
    .bannercontainer,
    .bannercontainer .banner-fullwidth{ height:380px !important; overflow:hidden !important; }

    /* alle iview-Ebenen auf 380 locken -> kein Höhen-Sprung beim Slide-Wechsel */
    .bannercontainer .iview{ height:380px !important; overflow:hidden !important; }
    .bannercontainer .slide_config{ height:380px !important; }

    /* iview NICHT skalieren, Bild als cover beschneiden */
    .bannercontainer .iviewSlider{
        transform:none !important;
        width:100% !important; height:380px !important; left:0 !important; top:0 !important;
        overflow:hidden !important;
        background-size:cover !important;
        background-position:center !important;
        background-repeat:no-repeat !important;
    }
    
    /* Slider-Pfeile mobil ausblenden (nicht nötig, engen den Text ein) */
    .bannercontainer .iview-directionNav{ display:none !important; }

    /* Text zentriert + lesbar. iview setzt jedem Caption eine feste Inline-Breite
       (aus dem 600px-Slide skaliert) → lange Titel brechen mitten im Wort.
       Darum Textboxen fix auf 80vw; Button hugt seinen Text. Nur Wort-Umbrüche,
       keine Silbentrennung. */
    .bannercontainer .tp-caption{
        left:50% !important; transform:translateX(-50%) !important;
        text-align:center !important;
        white-space:normal !important; word-break:normal !important; overflow-wrap:normal !important;
    }
    .bannercontainer .tp-caption:not(.btn){ width:80vw !important; max-width:80vw !important; }
    .bannercontainer .tp-caption.btn{ width:auto !important; max-width:80vw !important; }
    /* Titel — Klassen variieren pro Slide (very_big, very_big_black, big_black, large_…) */
    .bannercontainer .tp-caption[class*="big"],
    .bannercontainer .tp-caption[class*="large"]{ top:95px !important; font-size:26px !important; line-height:1.15 !important; }
    /* Untertitel (medium_text, medium_grey …) – zwischen Titel und Button */
    .bannercontainer .tp-caption[class*="medium"]{ display:block !important; top:150px !important; font-size:14px !important; line-height:1.2 !important; }
    /* Button */
    .bannercontainer .tp-caption.btn{ top:235px !important; font-size:14px !important; }
}