/*
 * Custom code goes here.
 * A template should always ship with an empty custom.css

 Blue : #404356
 Red : #b83f45
 */

/* #loading,
.page-loader,
.loader-wrapper {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

.loader {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
} */

.loader.visible {
  background: #fff url(../../../child_pero/assets/img/loader.gif) no-repeat scroll center center !important;
}

#header .header-nav,
.footer-bottom {
  background: #404356 !important;
}

a:focus,
a:hover {
  color: #b83f45 !important;
}

#left-column .side-title {
  background: #404356 !important;
  color: #fff !important;
}

.product-flags {
  color: #377c3d !important;
  background: #f0f8ff82 !important;
  padding: 0 10px !important;
  font-weight: bold !important;
}

.product-flags .product-flag.on-sale,
.product-flags .product-flag.new,
.product-flags .product-flag.out_of_stock {
  display: none !important;
}

.page-content .product-flags {
  display: none !important;
}

.products button.wishlist-button-add {
  background: #b83f45 !important;
}
.products button.wishlist-button-add:hover {
  opacity: 0.7 !important;
}

a.quick-view em,
.add-to-cart em {
  color: #b83f45 !important;
}

.has-discount .discount {
  background: #404356 !important;
  color: #fff !important;
}

.tabs .nav-tabs .nav-link:hover,
.tabs .nav-tabs .nav-link.active {
  background: #404356 !important;
  color: #fff !important;
}

.before-footer {
  background: #404356 !important;
}
.block_newsletter {
  width: 100% !important;
  padding: 20px 50px !important;
}
.block-newsletter-left p {
  color: #fff !important;
}
.block-newsletter-left:hover .block-newsletter-title,
.envelope-img {
  color: #b83f45 !important;
}

.footer-container .links .h3,
.footer-container .links .h3 a,
.block-contact .block-contact-title,
.linklist .blockcms-title a,
.callus-title,
#block-newsletter-label {
  color: #b83f45 !important;
}

.block-contact .collapse .icon {
  color: #b83f45 !important;
}

#_desktop_user_info:hover .account-button,
.account-button:hover {
  color: #b83f45 !important;
}
.shopping_cart_data:hover {
  color: #b83f45 !important;
}

.products-section-title {
  color: #b83f45 !important;
}
#index .tabs .nav-tabs .nav-link.active,
#index .tabs .nav-tabs .nav-link:hover {
  color: #fff !important;
}
.title-block {
  border-color: #404356 !important;
}
.featured-products .title-block {
  display: none !important;
}
.dropdown .expand-more {
  color: #fff !important;
}
#left-column .block-categories .side-title a:hover {
  color: #b83f45 !important;
}
#wrapper .breadcrumb li:last-child a {
  color: #b83f45 !important;
}
.products .product-miniature:hover .product-title a,
#products .horizontal.product-miniature:hover.product-title a {
  color: #b83f45 !important;
}
.block-categories .side-title a {
  color: #fff !important;
}
#left-column a:hover,
#right-column a:hover {
  color: #b83f45 !important;
}

.copyright ._blank {
  color: #fff !important;
}
a.dropdown-item.dropdown-submenu {
  white-space: normal !important;
  overflow-wrap: break-word !important;
}
.products-sort-order .select-list:hover {
  background: #b83f45 !important;
  color: #fff !important;
}
.wishlist-button-add {
  background-color: #b83f45 !important;
}
.product-add-to-cart button.wishlist-button-add i {
  color: #fff !important;
}
.scroll-box-arrows i:hover {
  color: #b83f45 !important;
}
#content-wrapper {
  padding: 0 50px !important;
}

/* ===== Grille des miniatures produits =====
   >= 1200px : 5 par ligne (4 avec colonne latérale)
   992-1199px : 4 par ligne
   768-991px  : 3 par ligne
   < 768px    : 2 par ligne
   Flex au lieu des float du thème parent : une carte plus haute ne décale plus la ligne suivante
   et toutes les cartes d'une ligne ont la même hauteur.
   Exclus : carrousels slick (.slick-slider, cartes déplacées dans .slick-track) et mode liste (.horizontal). */
.products:not(.slick-slider) {
  display: flex;
  flex-wrap: wrap;
}
.products:not(.slick-slider)::before,
.products:not(.slick-slider)::after {
  display: none;
}

.products:not(.slick-slider) > .product-miniature:not(.horizontal) {
  float: none;
  display: flex;
  flex-direction: column;
  width: 50% !important;
}
.products:not(.slick-slider) > .product-miniature:not(.horizontal) > .product-contents {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
}
.products:not(.slick-slider) > .product-miniature:not(.horizontal) .product-description {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
}
/* Prix (ou bouton "Prévenez-moi") toujours calé en bas de la carte, quelle que soit la longueur du titre */
.products:not(.slick-slider) > .product-miniature:not(.horizontal) .product-description .product-price-and-shipping {
  margin-top: auto !important; /* !important : le parent impose #products .product-price-and-shipping { margin: 0 } */
}

@media (min-width: 768px) {
  .products:not(.slick-slider) > .product-miniature:not(.horizontal) {
    width: 33.3333% !important;
  }
}

@media (min-width: 992px) {
  .products:not(.slick-slider) > .product-miniature:not(.horizontal) {
    width: 25% !important;
  }
}

@media (min-width: 1200px) {
  .products:not(.slick-slider) > .product-miniature:not(.horizontal) {
    width: 20% !important;
  }
  .layout-left-column .products:not(.slick-slider) > .product-miniature:not(.horizontal),
  .layout-right-column .products:not(.slick-slider) > .product-miniature:not(.horizontal) {
    width: 25% !important;
  }
}

.products .product-miniature .product-description {
  min-height: 110px !important;
}

@media (max-width: 767px) {
  #content-wrapper {
    padding: 0 15px !important;
  }
}

@media (max-width: 767px) {
  #header .header-nav {
    background: #fff !important;
  }
}

@media (max-width: 767px) {
  #header .header-top {
    background: #404356;
  }
}

.block-category .category-cover::before,
.offerbanners .banner::before {
  background: rgba(180, 65, 72, 0.5) none repeat scroll 0 0 !important;
}
.block-category .category-cover::after,
.offerbanners .banner::after {
  background: rgba(180, 65, 72, 0.5) none repeat scroll 0 0 !important;
}
.footer-container {
  padding: 30px 0 20px 0 !important;
}

#main .page-footer {
  text-align: center !important;
  margin-bottom: 20px !important;
}
.page-footer .account-link:hover {
  color: #b83f45 !important;
}
.h1,
.h2 {
  color: #b83f45 !important;
}
#main .page-content h6 {
  color: #b83f45 !important;
}
.wishlist-footer-links {
  margin: 20px;
  text-align: center;
  color: #000 !important;
}
.wishlist-footer-links:hover {
  color: #b83f45 !important;
}

#index .topcolumn {
  text-align: center !important;
  margin: 20px 0 0 0 !important;
}
.quickview .modal-header {
  background: #404356 !important;
}
#product-availability .product-last-items,
#product-availability .product-unavailable {
  color: #b83f45 !important;
}
.btn-primary {
  background: #b83f45 !important;
  color: #fff !important;
}
.btn-primary:hover {
  color: #d3cece !important;
}
.facet-label.product-miniature {
  text-align: center !important;
}
.block-social {
  padding: 0 !important;
}
.pagination .current a {
  border-color: #b83f45 !important;
  background: #b83f45 !important;
}
.pagination a:hover {
  border-color: #b83f45 !important;
  background: #b83f45 !important;
  color: #fff !important;
}
.add-to-cart-block {
  display: none !important;
}
.products .product-cart {
  top: 80% !important;
}
.page-footer .account-link span:hover {
  color: #b83f45 !important;
}
.all-product-link {
  margin: 35px 0 !important;
}
.featured-products {
  margin-top: 20px !important;
  margin-bottom: 15px !important;
}
.footer-payment-block {
  padding: 10px 0 0 0 !important;
}
.block-category {
  display: none !important;
}
/*.product-reference .label {
  display: none !important;
}*/
.product-feature .h6 {
  display: none !important;
}

.ui-autocomplete-input {
  color: #000 !important;
}
#colissimo-select-pickup-point {
  margin-left: 30px;
  margin-bottom: 10px;
}
#delivery label {
  text-align: left !important;
}
#cta-terms-and-conditions-0 {
  color: #b83f45 !important;
}
.page-content {
  margin-bottom: 10px !important;
}
.sort-by-row .dropdown-menu a:nth-of-type(1) {
  display: none;
}
.sort-by-row .dropdown-menu a:nth-of-type(2) {
  display: none;
}
.sort-by-row .dropdown-menu a:nth-of-type(7) {
  display: none;
}
.sort-by-row .dropdown-menu a:nth-of-type(8) {
  display: none;
}
#subcategories {
  display: none !important;
}

.h1-maintenance {
  padding: 0 !important;
  margin: 0 !important;
}
.h1-maintenance-link {
  margin: 5px 0 0 0 !important;
  color: #b83f45 !important;
}
.h1-maintenance-link:hover {
  color: #404356 !important;
  cursor: pointer !important;
}
#layout-error {
  padding-left: 50px !important;
  padding-right: 50px !important;
}
.header-top {
  margin-bottom: 20px !important;
}
.product-description-after-additional-info {
  padding: 0 0 20px 0 !important;
}
#cart-subtotal-shipping .label a {
  color: #b83f45 !important;
}
#cart-subtotal-shipping .label a:hover {
  text-decoration: underline !important;
}
.block-categories {
  margin-bottom: 0px !important;
}

dt.name,
dd.value {
  text-transform: none !important;
}
p.login-reset-msg {
  text-align: center !important;
  padding: 5px;
}
.product-description-after-additional-info {
  padding: 0 0 5px 0 !important;
}
.ref-pad {
  padding: 0 0 10px 0 !important;
}
.qty-display {
  display: none !important;
}

h2.h3.product-title {
  overflow: hidden;
  min-height: 3.5em;
  line-height: 0;
}
.footer-container .links li:hover a {
  color: initial;
}

@media (min-width: 1024px) and (max-width: 1450px) {
  #products .product-miniature .product-contents {
    margin: 0 8px 15px !important;
    position: relative;
    overflow: hidden;
  }
  h2.h3.product-title {
    min-height: 4.5em !important;
  }
}

/* cacher partout */
.img-fluid {
  display: none;
}

/* afficher seulement sur la page catégorie */
.page-category .img-fluid {
  display: block !important;
}
.page-index .img-fluid {
  display: block !important;
}

@media (min-width: 1450px) {
  .product-title a {
    line-height: 15px !important;
  }
}

.carrier-delay,
.carrier-name {
  word-break: normal !important;
}

.word-align {
  word-break: break-all !important;
}

.forgotten-password .form-fields label.required {
  width: 140px !important;
  padding-top: 0.5rem !important;
}
.allprodutsbtn-pad {
  padding-bottom: 10px !important;
}

.block-promo .cart-summary-line .label, .block-promo .promo-name {
  color: #b83f46 !important;
}
.page-category .img-fluid {
  width: 100% !important;
}
.cart-menu-font{
  font-weight: 500 !important;
  font-size: 15px !important;
}
.dropdown-menu.dropdown-menu-right.cart-dropdown-content {
    margin-top: 10px !important;
}

.product-quantities{
  display: none !important;
}

.login-reset-msg.alert {
  padding: 0 !important;
  margin-bottom: 0 !important;
  color: #b83f46 !important;
}

/* ===== Alerte de retour en stock (ps_emailalerts) ===== */

/* Catalogue : bouton à la place du prix */
.product-notify-listing {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.product-notify-btn,
.product-notify-btn:focus {
  display: inline-block;
  max-width: 100%;
  padding: 4px 14px;
  border: 1px solid #b83f46;
  border-radius: 0;
  background: transparent;
  color: #b83f46;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.4;
  text-transform: none;
  white-space: normal;
  cursor: pointer;
  transition: background-color .2s, color .2s;
}
.product-notify-btn:hover {
  background: #b83f46;
  color: #fff;
}
.product-notify-btn.is-done,
.product-notify-btn.is-done:hover {
  border-color: #2e7d32;
  background: transparent;
  color: #2e7d32;
  cursor: default;
}
.product-notify-feedback {
  font-size: 12px;
  line-height: 1.3;
  color: #b83f46;
}

/* Fiche produit : badge à la place du bouton panier */
.product-out-of-stock-badge {
  display: inline-block;
  margin-bottom: 10px;
  padding: 4px 10px;
  background: #f3e3e4;
  color: #b83f46;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
}

/* Fiche produit : bloc du module */
.product-notify {
  margin: 10px 0 20px;
  max-width: 480px;
}
.product-notify__text {
  margin-bottom: 10px;
  font-size: 14px;
  color: #333;
}
.product-notify__button {
  max-width: 100%;
  white-space: normal;
}
.product-notify__response .alert {
  margin: 10px 0 0;
  padding: 8px 12px;
  font-size: 14px;
}
.product-notify__done {
  margin: 0;
  padding: 8px 12px;
  border-left: 3px solid #2e7d32;
  background: #eef6ee;
  color: #2e7d32;
  font-size: 14px;
}

@media (max-width: 767px) {
  .product-notify {
    max-width: none;
  }
  .product-notify__button {
    display: block;
    width: 100%;
  }
  .product-notify-btn,
  .product-notify-btn:focus {
    padding: 4px 8px;
    font-size: 12px;
  }
}

/* Bouton Rechercher (remplace la barre native et le lien de la sidebar) */
.search-advanced-btn,
.search-advanced-btn:focus {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 6px 16px;
  border: 1px solid #b83f46;
  border-radius: 0;
  background: transparent;
  color: #b83f46;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color .2s, color .2s;
}
/* Le thème force a:hover / a:focus { color: #b83f45 !important } : on doit repasser devant */
.search-advanced-btn:hover,
#left-column .search-advanced-btn:hover {
  background: #b83f46;
  color: #fff !important;
  text-decoration: none;
}
.search-advanced-btn .material-icons {
  font-size: 20px;
  line-height: 1;
}
/* Le logo du parent (._header_logo) est en absolute sur toute la largeur : on repasse devant, comme l'ancien .search-toggle */
#header #search_widget {
  position: relative;
  z-index: 9;
  padding: 40px 0;
}
.melomania-advanced-search-link {
  margin: 15px 0;
}
.melomania-advanced-search-link .search-advanced-btn {
  display: flex;
  width: 100%;
  padding: 10px 15px;
}

/* Tablette : header resserre par le parent, on ne garde que l'icone */
@media (min-width: 768px) and (max-width: 991px) {
  #header .search-advanced-btn {
    padding: 6px;
  }
  #header .search-advanced-btn__label {
    display: none;
  }
}

/* Mobile : le parent place la recherche en pleine largeur dans .header-top (fond sombre) */
@media (max-width: 767px) {
  #header #search_widget {
    padding: 0;
  }
  #header .search-advanced-btn,
  #header .search-advanced-btn:focus {
    display: flex;
    width: 100%;
    height: 35px;
    border-color: #b83f46;
    background: #b83f46;
    color: #fff !important;
  }
  #header .search-advanced-btn:hover {
    border-color: #fff;
  }
}

/*Page recentlyupdated finitions*/

body#module-melomania-recentlyupdated #js-product-list-top { display: none; }

body#module-melomania-recentlyupdated .pagination .page-list {
    display: flex; justify-content: flex-end; align-items: center; gap: 8px;
}
body#module-melomania-recentlyupdated .pagination .page-list li { margin: 0; }
body#module-melomania-recentlyupdated .pagination .page-list a,
body#module-melomania-recentlyupdated .pagination .page-list .spacer {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 38px; height: 38px; padding: 0 10px;
}
body#module-melomania-recentlyupdated .pagination .page-list .spacer {
    min-width: 24px; padding: 0;
}