
/* 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;
  }
}

@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: #0000002B;
    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;
}

.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;
}


