
/* Container bis zum "lg" Breakpoint (992px) auf volle Breite zwingen */
@media (max-width: 991.98px) {
  .container, 
  .container-sm, 
  .container-md,
  .container-lg { /* Sicherheitshalber auch lg Container einschließen */
    max-width: 100% !important;

  }
  
  /* Optional: Falls der Wrapper im Theme noch Padding hat */
  #wrapper {
      padding-left: 0;
      padding-right: 0;
  }
}

.header-phone-text, .header-cart-count{
    font-size: 0.75rem;
}

.header-top__left, .header-top__right{
   font-size: 1rem; 
}

.header-block__icon{
    font-size: 1.3rem;
    margin-top: -5px;    
}

@media (max-width: 769px) {
    .main-menu {
        order: 1;
    }
}

.search__container{
    width: 100%!important;
}

#_desktop_search #search_widget{
    width: 90%!important;
}

#search_widget form input{
    border: 1px solid #e1e1e1;
    border-radius: 10px;
    background-color: #fff;
    padding: 13px 50px 13px 20px;
    font-size: 0.9rem;
}

/* 1. Den Eltern-Container zum "Anker" machen */
#search_widget {
    position: relative; /* WICHTIG: Das fängt das absolute Dropdown ein */
    width: 100%;        /* Damit der Container selbst den Platz nutzt */
}

/* 2. Das Dropdown passt sich nun dem Eltern-Container an */
.search-widgets__dropdown {
    position: absolute;
    top: 110%;          /* Direkt unterhalb */
    left: 0;
    
    width: 100%;        /* Nimmt jetzt 100% von #search_widget, nicht vom Screen */
    max-width: none !important; /* Die 30rem Begrenzung aufheben */
    
    /* Deine Optik beibehalten */
    background: var(--bs-white);
    border: 1px solid #ced4da;
    border-radius: var(--bs-border-radius-sm);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    z-index: 1000;
}

.search-widgets__dropdown{
    z-index: 1;
}

@media (max-width: 767.98px) {
    .search-widgets__dropdown {
        left: 0;
    }
}

@media (min-width: 1500px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xs {
        max-width: 1450px;
    }
}

@media (min-width: 768px) {
    .header{
        top: -50px;
    }
}

.header-flag {
    margin-top: -5px;
    margin-right: 10px;
    border: 1px solid #ffffff81;
    border-radius: 5px;
}

/* 1. Standard (Mobile First)
   Dies gilt für alle Geräte, beginnend beim kleinsten Smartphone. */
#shop-logo-wrapper .logo {
    /* Wir begrenzen die maximale Breite.
       img-fluid kümmert sich um den Rest. */
    max-width: 180px;
    height: auto; /* Wichtig, damit das Bild nicht verzerrt */
    
    /* Optional: Zentrieren auf Mobile */
    margin-left: auto;
    margin-right: auto;
}

#search_widget form i{
    position: relative!important;
    padding: 0px!important;
}

#search_widget .inside-search{
    position: absolute;
    inset-block: 0;
    inset-inline-end: 0; 
    border: none;
    border-radius: 10px;  
}



/* 2. Ab Tablet (Bootstrap "md" Breakpoint - meist > 768px) */
@media (min-width: 768px) {
    #shop-logo-wrapper .logo {
        max-width: 180px;
        /* Auf Tablet/Desktop evtl. nicht mehr zentriert? */
        margin-left: 0; 
    }
}


/* 3. Ab Desktop / Großem Bildschirm (Bootstrap "lg" Breakpoint - meist > 992px) */
@media (min-width: 992px) {
    #shop-logo-wrapper .logo {
        /* Deine ursprüngliche Wunschgröße */
        max-width: 220px;
    }
}

.fas-phone-volume{
    fill: #6c757d;
    transform: rotate(330deg);
    height: 34px;
}

.header-phone-container{
    line-height: 1.2;
    height: 34px;
}
.header-phone-number {
    font-size: 1.3rem;
}

.fas-shopping-cart{
    fill: #6c757d;
    height: 44px;
}

.header-cart-container{
    line-height: 1.2;
    height: 34px;
    border-inline-start: 1px solid rgba(0, 0, 0, 0.2);
}
.header-cart-value{
    color: #84a353;
}

.product-miniature .product-miniature__price{
    font-size: 1.4rem!important;
    color: #83a350f9;
}


.main-menu__mobile .menu{
    padding: 0!important;
}

.main-menu__mobile.static .svg-icon{
    margin-left: -2px;
}

.main-menu__mobile .category a{
    width: 100%;
    height: 100%;
}

.main-menu__mobile .main-menu__title.h5.static{
  padding-top: 10px!important;
  padding-bottom: 10px!important;
}

.main-menu__mobile .category:hover,
.main-menu__mobile .category:active,
.main-menu__mobile .category:focus-visible,
.main-menu__mobile .link:hover,
.main-menu__mobile .link:active,
.main-menu__mobile .link:focus-visible { 
    background-color: #f1f1f1;
}


.menu.menu--mobile .category-icon img, .menu.menu--mobile .link-icon img {
    padding-bottom: 5px;
}


.menu.menu--mobile .category, .menu.menu--mobile .link{
    border-top: 1px solid #e1e1e1;
    font-size: 1.1rem;
}

.menu.menu--mobile .category:last-child, .menu.menu--mobile .link:last-child {
    border-bottom: 1px solid #e1e1e1;
}

.menu.menu--mobile .category.last-node, .menu.menu--mobile .link.last-node{
    border-bottom: 1px solid #e1e1e1;
}

.menu.menu--mobile .category.current, .menu.menu--mobile .link.current {
    background-color: #f1f1f1;
}

.menu.menu--mobile .main-menu__title.h5 {
    background-color: #83a350f9;
    padding-top: 3px;
    color: #fff !important;
    font-size: 1.1rem;
    border-radius: 5px;
}

.menu.menu--mobile .main-menu__title.h5 a {
    color: #fff !important;
    padding-left: 0px;
}

.menu.menu--mobile .main-menu__title.h5 .js-back-button {
    color: #fff !important;
}

.menu.menu--mobile .menu__link.color-red {
    color: #c20b0d !important;
}

.main-menu__back-button .btn .material-icons{
    margin-bottom: 3px;
}

.main-menu__back-button .btn{
    margin-left: -10px;
}

.offcanvas-header .btn-close{
    font-size: .8rem;
}

#shop-logo-wrapper-mobile .logo {
    max-width: 180px;
    height: auto;
    margin-left: auto;
    margin-right: auto;
}

/* custom.css */
#back-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 9999; /* Sehr hoch, damit er über Footer & Sticky-Filter liegt */
    
    width: 50px;
    height: 50px;
    
    /* Hintergrundfarbe (Hier PrestaShop-Blau - passe das an deine Farbe an!) */
    background-color: #f9f9f9; 
    color: #555;
    border: 1px solid #c1c1c1;
    border-radius: 50%; /* Macht den Button rund */
    text-align: center;
    /*box-shadow: 0 2px 5px 0 rgba(0,0,0,0.5);*/
    cursor: pointer;
    
    /* Standardmäßig ausgeblendet (wird per JS eingeblendet) */
    display: none; 
    
    /* Sanfter Übergang für Hover-Effekt */
    transition: background-color 0.3s, transform 0.3s;
}

/* Hover-Effekt: Etwas dunkler und leicht größer */
#back-to-top:hover {
    background-color: #f9f9f9; 
    transform: scale(1.1);
    color: #555;
    text-decoration: none;
}

/* Das Icon zentrieren */
#back-to-top i {
    font-size: 32px;
    line-height: 50px; /* Muss gleich der Höhe des Buttons sein */
}

/* Optional: Auf dem Handy etwas kleiner */
@media (max-width: 767px) {
    #back-to-top {
        bottom: 20px;
        right: 20px;
        width: 40px;
        height: 40px;
    }
    #back-to-top i {
        line-height: 35px;
        font-size: 24px;
    }
}

.box-shadow-bottom{
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.image-zoom img {
    transition: transform .4s ease;
}

.image-zoom:hover img {
    transform: scale(1.08);
}

.dcp-section-title{
    font-size: 1.7rem!important;

}

.dcp-sub-title{
    font-size: 1.2rem!important;
}

.product-miniature .product-miniature__title, .subcategory__name{
    font-size: 1.1rem;
}

@media (max-width: 991.98px) {
    .dcp-section-title{
        font-size: 1.4rem!important;
    }

    .dcp-sub-title{
        font-size: 1.1rem!important;
    }
}

.color-green{
    color: #84a353!important;
}

.bg-green{
    background-color: #84a353!important;
}

.product-miniature__prices {
  display: flex;
  flex-direction: column; /* mobil: untereinander */
}

@media (min-width: 768px) {
  .product-miniature__prices {
    flex-direction: row; /* desktop: nebeneinander */
    align-items: center;
    gap: .5rem;
  }
}

.card-body h3 svg{
    margin-bottom: 3px;
    color: #84a353;
}




.breadcrumb__wrapper {
  max-width: 100%;
  border-radius: 10px;
  background: #fff;
}

.breadcrumb__wrapper .material-icons{
    font-size: 20px!important;
}

.breadcrumb {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 0.5rem 0!important;
  -webkit-overflow-scrolling: touch; /* iOS smooth scrolling */
  scrollbar-width: none; /* Firefox */
}

.breadcrumb::-webkit-scrollbar {
  display: none; /* Chrome, Safari, Edge */
}

.breadcrumb-item {
  white-space: nowrap;
  flex-shrink: 0; /* WICHTIG: verhindert Zusammendrücken */
  line-height: 1.5rem;
}


.breadcrumb a {
  user-select: none;
  -webkit-user-drag: none;
}

@media (max-width: 778px) {
    .breadcrumb__wrapper {
        background: #555;
        color: #fff;
    }

    .breadcrumb a {
        color: #fff;
    }

    .breadcrumb {
        padding-left: 1rem!important;
        font-size: 1rem!important;
    }
}

#search-filters .accordion-body{
    max-height: 200px;
    overflow-y: auto;
    padding:0px 10px 10px 10px;
}

#search-filters .form-check-input{
    border:1px solid #999999!important;   
}

#search-filters .accordion-button{
    padding: 0.6rem!important;
    background-color: #f1f1f1!important;
    border-bottom: 1px solid #e1e1e1;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    font-weight: 600;

}


.accordion-item, .accordion-item:not(:first-of-type), .accordion-item:first-of-type{
    border: 1px solid #e1e1e1;
    border-radius: 5px;    
}


/* Filter-Logik: Auf Desktop anzeigen, auf Mobile verstecken (wenn inaktiv) */
@media (max-width: 767px) {
    .force-mobile-hide {
        display: none !important;
    }
}

h1.page-title-section{
    background-color: #f1f1f1 !important;
    border: 1px solid #e1e1e1;
    border-radius: 5px;
    line-height: normal;
    padding: 0.3rem;
    font-weight: 600;
}

@media (max-width: 778px) {
    h1.page-title-section{
        border-radius: 10px;
    }
}


/* Verkleinert den Abstand im Produktraster */
.products.row {
    --bs-gutter-x: 10px; /* Horizontaler Abstand zwischen den Produkten */
    --bs-gutter-y: 10px; /* Vertikaler Abstand zwischen den Zeilen */
}

/* Optional: Falls es auf dem Handy noch enger sein soll */
@media (max-width: 767px) {
    .products.row {
        --bs-gutter-x: 5px;
        --bs-gutter-y: 10px;
    }
}

/* Wendet Lazy-Rendering auf die Produkt-Karten an */
.product-miniature, .js-product-miniature {
    content-visibility: auto;
    contain-intrinsic-size: 420px; /* Geschätzte Höhe einer Karte inkl. Margin */
}


@media (min-width: 768px) {

    #left-column {
        overflow: visible !important;
        /* Wichtig: Die Spalte muss die volle Höhe des Inhalts haben */
        display: flex;
        flex-direction: column;
    }
}

#search_filters_wrapper {
    /*position: sticky;*/
    min-width: 100%;
    /* Verhindert, dass Flexbox das Element auf die volle Höhe zieht */
    align-self: flex-start;
    z-index: 4;
}

.sticky-bottom-mode{
    /* Klebt 85px oberhalb der unteren Bildschirmkante */
    /*bottom: 0;*/
    /* Sicherstellen, dass es nicht von oben weggedrückt wird */
    /*margin-top: auto;*/
}

.sticky-top-mode{
    /* Klebt 85px oberhalb der unteren Bildschirmkante */
    top: 180px;
    /* Sicherstellen, dass es nicht von oben weggedrückt wird */
    margin-bottom: auto;
}


.breadcrumb-item + .breadcrumb-item {
    padding-left: 0.3rem;
}

.dcp-index-img-container { 
    border-radius: 8px;  
    position: relative; /* wichtig für das Overlay */
}

.dcp-index-img-container.bg-start {
    background-image: url(/themes/kwb_ch/image/kuenstlicher-weihnachtsbaum-startseite.webp);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 480px;  
}

@media (max-width: 767px) {
    .dcp-index-img-container.bg-start {
        min-height: 350px; 
    }
}

.dcp-banner-img-container { 
    border-radius: 8px;  
    position: relative; /* wichtig für das Overlay */
}

.dcp-banner-img-container.banner-start {
    background-image: url(/themes/kwb_ch/image/hochwertig-stabil-kuenstlicher-weihnachtsbaum.webp);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 380px;  
}

@media (max-width: 767px) {
    .dcp-banner-img-container.banner-start {
        min-height: 300px; 
    }
}

.dcp-index-img-container.bg-advice {
    background-image: url(/themes/kwb_ch/image/artifleur.ch-exklusive-beratung-fuer-geschaefte-und-privat.webp);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    min-height: 320px;  
}

.dcp-center-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    white-space: nowrap;
}

.dcp-center-btn .btn {
    border: 2px solid;
}


.dcp-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: rgba(0,0,0,0.6); /* halbtransparent, nur Hintergrund */
    padding: 5px 0 0 0;
    border-radius: 0 0 12px 12px;
    text-align: center;
}

.dcp-overlay p {
    color: #fff;  /* Weiß, und nicht transparent */
    margin: 0;
    padding: 0 10px; /* optional etwas Abstand innen */
}


.dcp-overlay h1, .dcp-overlay h2 {
    color: #fff !important;  /* Weiß, und nicht transparent */
    margin-bottom: 0;
    line-height: 0.8;
}

.scrolling-wrapper .subcategory{
    border-radius: 10px;
}

.scrolling-wrapper img{
    border-radius: 8px;
}

#quantity_wanted{
    max-width: 100%;
}

.quantity-button input{
    max-width: 100%!important;
}

.quantity-button button{
    width: 3rem!important;
}

.page-product .product__name{
    text-align: center;
    border: 1px solid #e1e1e1;
    padding: 10px;
    background: #f1f1f1;
    border-radius: 10px;
    margin-bottom: 1rem;
}


.page-product .product.js-product-container{
    margin: 0;
    border: 1px solid #e1e1e1;
    border-radius: 10px;
}


.page-product .detail{
    padding: 0.3rem;
    padding-top:0.5rem;
    border-bottom: 1px solid #d1d1d1;
}

.product__details, .product__features{
    background: #fff;
}

.page-product .detail__title{
    font-weight: 600;
}

.page-product .detail__right{
    text-align: right;
    margin-left: auto;
}

.page-product .product__add-to-cart{
    margin-bottom: 1rem;
}

.dcp-sticky{
    position: sticky;
}

.page-product .product__infos{
    border: 1px solid #e1e1e1;
    border-radius: 10px;
    padding: 0.8rem;   
}

.page-product .info__title{
    background: #f1f1f1;
    padding: 0.8rem;
    border: 1px solid #e1e1e1;
    border-radius: 10px;
}

.rich-text p, .rich-text ul {
    font-size: var(--bs-body-font-size);
}

.rich-text .h3, .rich-text h3, .rich-text .h4, .rich-text h4 {
    font-size: 1.3rem;
    font-weight: 600;
}

.form-check-input{
    border: 2px solid #c1c1c1;
}


.form-control{
    border: 1px solid #c1c1c1!important;
}

.custom-control-label{
    margin-left: 10px;
}


/* Der innere Wrapper, zentriert nun alles mittig */
.category-name-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center; /* Das zentriert das erste Wort mittig über dem zweiten */
    text-align: center;  /* Zur Sicherheit, falls ein Wort doch mal umbrechen sollte */
}


.category-name-wrapper .first {
    font-size: 0.75rem;
    line-height: 1;
    font-weight: 400; /* Normales Schriftgewicht */
    opacity: 0.8; /* Optional: macht das erste Wort etwas dezenter */
}

.category-name-wrapper .rest {
    white-space: nowrap;
}


.border-green {
    --bs-border-opacity: 1;
    border-color: #84a353 !important;
}


.table-green-header th {
  background-color: #84a353 !important;
  color: #ffffff !important;
}
