

/* =========================================================
   FICHE PRODUIT UNIQUEMENT
   Ne touche PAS à la page d'accueil
   ========================================================= */

/* PROMO : bon vert */
body#product .product-flags .on-sale {
    background: #19B51F !important;
}

/* -50 € : bon vert */
body#product .product-flags .discount,
body#product .product-flags .discount-percentage,
body#product .product-flags .arvo-discount-amount {
    background: #19B51F !important;
}

/* Toutes les banderoles : bord droit en biais */
body#product .product-flags li,
body#product .product-flags .product-flag {
    -webkit-clip-path: polygon(0 0, 100% 0, 88% 100%, 0 100%) !important;
    clip-path: polygon(0 0, 100% 0, 88% 100%, 0 100%) !important;
    border-radius: 0 !important;
}

/* Descendre uniquement la grande photo de la fiche produit */
body#product .product-cover img {
    transform: translateY(75px) !important;
}

/* Donner la place nécessaire pour garder la photo entière */
body#product .product-cover {
    padding-bottom: 75px !important;
    overflow: visible !important;
}

/* FICHE PRODUIT : descendre UNIQUEMENT les banderoles */
body#product .product-flags {
    transform: translateY(75px) !important;
}

/* FICHE PRODUIT : largeur PROMO uniquement */
body#product .product-flags .on-sale {
    width: 145px !important;
    min-width: 145px !important;
    max-width: 145px !important;
}

/* FICHE PRODUIT : ÉCONOMISEZ directement sur le vert */
body#product .current-price .discount,
body#product .current-price .discount-amount,
body#product .current-price .discount-percentage {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: none !important;
}/* Categories : espace au-dessus de la pagination */
body#category #js-product-list .pagination {
    margin-top: 30px !important;
}/* Masquer l'alerte de disponibilite */
#product .js-mailalert {
    display: none !important;
}
/* Bannières des catégories : conserver les proportions */
body#category #category .category-cover img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
}
/* Toutes les bannières des catégories */
body#category .block-category .block-category-inner {
    display: block !important;
}

body#category .block-category .category-cover {
    width: 100% !important;
}

body#category .block-category .category-cover img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
}
/* Toutes les catégories : bandeaux moins hauts */
body#category .block-category {
    min-height: 0 !important;
    padding-top: 15px !important;
    padding-bottom: 15px !important;
}

body#category .block-category .category-cover img {
    width: 100% !important;
    height: auto !important;
    max-height: 240px !important;
    object-fit: contain !important;
}
/* Toutes les catégories : réduire le cadre et la bannière */
body#category #js-product-list-header .block-category {
    height: auto !important;
    min-height: 0 !important;
    padding: 15px 20px !important;
}

body#category #js-product-list-header .block-category-inner,
body#category #js-product-list-header .category-cover {
    height: auto !important;
    min-height: 0 !important;
}

body#category #js-product-list-header .category-cover img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 200px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
}
/* Cadre des bannières ajusté à leur contenu */
body#category #js-product-list-header .block-category {
    width: fit-content !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 10px !important;
}

body#category #js-product-list-header .block-category > h1 {
    margin-bottom: 10px !important;
}
body#category #js-product-list-header .block-category {
    width: 650px !important;
    max-width: 100% !important;
}

body#category #js-product-list-header .category-cover img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
}
body#category #js-product-list-header .block-category > h1 {
    font-size: 22px !important;
    line-height: 1.2 !important;
}
/* Prix sur la fiche produit */
body#product .product-prices .current-price,
body#product .product-prices .current-price-value {
  background-color: #19B51F !important;
  color: #FFFFFF !important;
}
html body#product .product-prices > .product-price {
  background: #19B51F !important;
  color: #FFFFFF !important;
}
html body#index #content .arvo-photo-grid
a.arvo-category-card.arvo-photo-card {
  width: 240px !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

html body#index #content .arvo-photo-grid
a.arvo-category-card.arvo-photo-card > img {
  width: calc(100% - 16px) !important;
  max-width: none !important;
  height: auto !important;
  margin: 8px auto 0 !important;
  align-self: center !important;
}
body#category .block-category {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
/* Enlever les fonds et cadres blancs des sous-catégories */
body#category #subcategories,
body#category #subcategories li,
body#category #subcategories .subcategory-image,
body#category #subcategories .subcategory-image a {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Masquer le titre « Sous-catégories » */
body#category #subcategories > h2,
body#category #subcategories > .subcategory-heading {
  display: none !important;
}
/* Cartes blanches pour toutes les sous-catégories */
html body#category #subcategories ul li {
  background: #fff !important;
  border: 1px solid #e3e8ee !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 8px rgba(23, 50, 77, 0.05) !important;
  padding: 12px 10px !important;
  box-sizing: border-box !important;
}

/* Logo centré dans la carte */
html body#category #subcategories li .subcategory-image,
html body#category #subcategories li .subcategory-image a {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

html body#category #subcategories li img {
  display: block !important;
  margin: 0 auto !important;
}

/* Nom en bleu foncé */
html body#category #subcategories li .subcategory-name {
  color: #17324d !important;
  font-weight: 700 !important;
  text-align: center !important;
}
/* Menu à gauche : carte blanche aux coins arrondis */
html body #left-column .arvo-type-block {
  background: #fff !important;
  border: 1px solid #e3e8ee !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 8px rgba(23, 50, 77, 0.05) !important;
  overflow: hidden !important;
}

/* Titre bleu foncé sur fond blanc */
html body #left-column .arvo-type-block .arvo-type-title {
  background: #fff !important;
  color: #17324d !important;
  border-bottom: 1px solid #e3e8ee !important;
}
/* ARVO : cartes produits compactes — toutes les listes */
html body :is(#content, #products, #main) .product-miniature:not(#arvo-style-placeholder)  {
  height:auto !important;
  margin-bottom:20px !important;
  box-sizing:border-box !important;
}

html body :is(#content, #products, #main) .product-miniature:not(#arvo-style-placeholder) .thumbnail-container {
  display:flex !important;
  flex-direction:column !important;
  position:relative !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  margin:0 !important;
  background:#fff !important;
  border:1px solid #e3e8ee !important;
  border-radius:8px !important;
  box-shadow:0 2px 8px rgba(23,50,77,.05) !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}

html body :is(#content, #products, #main) .product-miniature:not(#arvo-style-placeholder) .thumbnail-top {
  position:relative !important;
  height:auto !important;
  min-height:0 !important;
  padding:68px 10px 0 !important;
  overflow:hidden !important;
}

html body :is(#content, #products, #main) .product-miniature:not(#arvo-style-placeholder) .product-thumbnail {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:4 / 3 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}

html body :is(#content, #products, #main) .product-miniature:not(#arvo-style-placeholder) .product-thumbnail picture {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:100% !important;
}

html body :is(#content, #products, #main) .product-miniature:not(#arvo-style-placeholder) .product-thumbnail img {
  display:block !important;
  position:static !important;
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  margin:0 !important;
  transform:none !important;
}

html body :is(#content, #products, #main) .product-miniature:not(#arvo-style-placeholder) .product-description {
  position:static !important;
  inset:auto !important;
  display:flex !important;
  flex-direction:column !important;
  flex:1 0 auto !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  padding:14px 12px 12px !important;
  transform:none !important;
  overflow:visible !important;
  box-sizing:border-box !important;
  text-align:left !important;
}

html body :is(#content, #products, #main) .product-miniature:not(#arvo-style-placeholder) .product-title {
  display:block !important;
  height:auto !important;
  min-height:42px !important;
  max-height:none !important;
  margin:0 0 10px !important;
  padding:0 !important;
  font-size:15px !important;
  line-height:1.4 !important;
  text-align:left !important;
  overflow:visible !important;
}

html body :is(#content, #products, #main) .product-miniature:not(#arvo-style-placeholder) .product-title a {
  display:block !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  color:#17324d !important;
  font-weight:700 !important;
  font-size:15px !important;
  line-height:1.4 !important;
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  -webkit-line-clamp:unset !important;
}

html body :is(#content, #products, #main) .product-miniature:not(#arvo-style-placeholder) .product-price-and-shipping {
  position:static !important;
  inset:auto !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  grid-template-rows:20px auto !important;
  gap:2px !important;
  align-items:center !important;
  justify-items:start !important;
  flex:0 0 auto !important;
  width:100% !important;
  height:auto !important;
  min-height:50px !important;
  margin:0 0 12px !important;
  padding:0 !important;
  transform:none !important;
  text-align:left !important;
}

html body :is(#content, #products, #main) .product-miniature:not(#arvo-style-placeholder) .regular-price {
  grid-area:1 / 1 !important;
  position:static !important;
  margin:0 !important;
  padding:0 !important;
  color:#8b95a3 !important;
  font-size:13px !important;
  line-height:20px !important;
  background:transparent !important;
  text-decoration:line-through !important;
}

html body :is(#content, #products, #main) .product-miniature:not(#arvo-style-placeholder) .product-price-and-shipping .price,
html body :is(#content, #products, #main) .product-miniature:not(#arvo-style-placeholder) .product-price-and-shipping .price[style],
html body :is(#content, #products, #main) .product-miniature:not(#arvo-style-placeholder) .current-price {
  grid-area:2 / 1 !important;
  display:block !important;
  position:static !important;
  inset:auto !important;
  width:auto !important;
  min-width:0 !important;
  max-width:100% !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  background:transparent !important;
  background-image:none !important;
  color:#19B51F !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  transform:none !important;
  clip-path:none !important;
  -webkit-clip-path:none !important;
  font-size:19px !important;
  font-weight:800 !important;
  line-height:1.3 !important;
  letter-spacing:normal !important;
  word-spacing:2px !important;
  text-shadow:none !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
}

html body :is(#content, #products, #main) .product-miniature:not(#arvo-style-placeholder) .price::before,
html body :is(#content, #products, #main) .product-miniature:not(#arvo-style-placeholder) .price::after {
  content:none !important;
  display:none !important;
}

html body :is(#content, #products, #main) .product-miniature:not(#arvo-style-placeholder) .arvo-dossier-name,
html body :is(#content, #products, #main) .product-miniature:not(#arvo-style-placeholder) .product-description span.arvo-dossier-name.arvo-faillite-grille4 {
  position:static !important;
  inset:auto !important;
  display:block !important;
  flex:0 0 auto !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-width:100% !important;
  margin:auto 0 0 !important;
  padding:10px 0 0 !important;
  background:transparent !important;
  color:#17324d !important;
  border:0 !important;
  border-top:1px solid #e3e8ee !important;
  border-radius:0 !important;
  box-shadow:none !important;
  transform:none !important;
  clip-path:none !important;
  font-size:12px !important;
  font-weight:700 !important;
  line-height:1.4 !important;
  text-align:left !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  box-sizing:border-box !important;
}

html body :is(#content, #products, #main) .product-miniature:not(#arvo-style-placeholder) .product-flags {
  position:absolute !important;
  top:10px !important;
  left:10px !important;
  right:auto !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:4px !important;
  width:calc(100% - 20px) !important;
  margin:0 !important;
  padding:0 !important;
  transform:none !important;
  pointer-events:none !important;
  z-index:2 !important;
}

html body :is(#content, #products, #main) .product-miniature:not(#arvo-style-placeholder) .product-flags li,
html body :is(#content, #products, #main) .product-miniature:not(#arvo-style-placeholder) .product-flags .product-flag {
  position:static !important;
  inset:auto !important;
  width:max-content !important;
  min-width:0 !important;
  max-width:75% !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  padding:4px 18px 4px 9px !important;
  background:#17324d !important;
  color:#fff !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  font-size:11px !important;
  line-height:16px !important;
  font-weight:700 !important;
  transform:none !important;
  clip-path:polygon(0 0,100% 0,88% 100%,0 100%) !important;
  -webkit-clip-path:polygon(0 0,100% 0,88% 100%,0 100%) !important;
}

html body :is(#content, #products, #main) .product-miniature:not(#arvo-style-placeholder) .product-flags .on-sale,
html body :is(#content, #products, #main) .product-miniature:not(#arvo-style-placeholder) .product-flags .discount,
html body :is(#content, #products, #main) .product-miniature:not(#arvo-style-placeholder) .product-flags .discount-percentage,
html body :is(#content, #products, #main) .product-miniature:not(#arvo-style-placeholder) .product-flags .discount-amount {
  background:#19B51F !important;
}

html body :is(#content, #products, #main) .product-miniature:not(#arvo-style-placeholder) .arvo-discount-amount {
  max-width:75% !important;
  font-size:11px !important;
  line-height:16px !important;
  padding:4px 18px 4px 9px !important;
  background:#19B51F !important;
  color:#fff !important;
  box-shadow:none !important;
  transform:none !important;
  clip-path:polygon(0 0,100% 0,88% 100%,0 100%) !important;
}

html body :is(#content, #products, #main) .product-miniature:not(#arvo-style-placeholder) .highlighted-informations {
  position:absolute !important;
  top:auto !important;
  bottom:0 !important;
  left:0 !important;
  right:0 !important;
  min-height:0 !important;
  transform:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

html body :is(#content, #products, #main) .product-miniature:not(#arvo-style-placeholder):hover .highlighted-informations,
html body :is(#content, #products, #main) .product-miniature:not(#arvo-style-placeholder):focus-within .highlighted-informations {opacity:1 !important;visibility:visible !important;pointer-events:auto !important;}

@media (max-width: 575px) {
html body :is(#content, #products, #main) .product-miniature:not(#arvo-style-placeholder) .product-price-and-shipping .price {font-size:17px !important;}
}
/* Prix entier sur toutes les cartes */
html body .product-miniature .product-description
.product-price-and-shipping {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 4px !important;
}

html body .product-miniature .product-description
.product-price-and-shipping .price {
  font-size: 14px !important;
  letter-spacing: 0 !important;
  word-spacing: 1px !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
html body :is(#content, #products, #main)
.product-miniature:not(#arvo-style-placeholder)
.product-description .product-price-and-shipping {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: 20px 26px !important;
  gap: 4px !important;
  min-height: 50px !important;
  text-align: left !important;
}

html body :is(#content, #products, #main)
.product-miniature:not(#arvo-style-placeholder)
.product-price-and-shipping .regular-price {
  grid-area: 1 / 1 !important;
  margin: 0 !important;
}

html body :is(#content, #products, #main)
.product-miniature:not(#arvo-style-placeholder)
.product-price-and-shipping .price {
  grid-area: 2 / 1 !important;
  justify-self: start !important;
  margin: 0 !important;
  font-size: 14px !important;
  letter-spacing: 0 !important;
  word-spacing: 1px !important;
  min-width: 0 !important;
  white-space: nowrap !important;
}
/* Agrandir les photos dans les cartes */
html body :is(#content, #products, #main)
.product-miniature:not(#arvo-style-placeholder):not(#arvo-photo-placeholder)
.product-thumbnail,
html body :is(#content, #products, #main)
.product-miniature:not(#arvo-style-placeholder):not(#arvo-photo-placeholder)
.product-thumbnail picture {
  width: 100% !important;
  max-width: none !important;
}

html body :is(#content, #products, #main)
.product-miniature:not(#arvo-style-placeholder):not(#arvo-photo-placeholder)
.product-thumbnail img {
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  max-height: 100% !important;
  object-fit: contain !important;
  margin: 0 auto !important;
  transform: none !important;
}
/* Libérer la hauteur pour agrandir les photos */
html body :is(#content, #products, #main)
.product-miniature:not(#arvo-style-placeholder):not(#arvo-photo-placeholder)
.product-thumbnail {
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
}

html body :is(#content, #products, #main)
.product-miniature:not(#arvo-style-placeholder):not(#arvo-photo-placeholder)
.product-thumbnail picture {
  height: auto !important;
}

html body :is(#content, #products, #main)
.product-miniature:not(#arvo-style-placeholder):not(#arvo-photo-placeholder)
.product-thumbnail img {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
}
/* Masquer les anciens logos avant leur remplacement */
body#index .arvo-categories-home
.arvo-category-card:not(.arvo-photo-card) img {
  visibility: hidden !important;
}

/* ARVO : centrer la carte unique sur Tous les produits */
body#category:has(.arvo-category-carousel) #subcategories ul:has(> li:only-child) {
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}
body#category:has(.arvo-category-carousel) #subcategories ul > li:only-child {
    float: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

/* ARVO : hauteur stable pendant le changement des diapositives */
body#category #js-product-list-header .arvo-category-carousel #carousel .carousel-inner {
    width: 100% !important;
    aspect-ratio: 3 / 1;
    height: auto !important;
    overflow: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
}
body#category #js-product-list-header .arvo-category-carousel #carousel .carousel-item {
    height: 100% !important;
    min-height: 0 !important;
}
body#category #js-product-list-header .arvo-category-carousel #carousel .carousel-item > a,
body#category #js-product-list-header .arvo-category-carousel #carousel .carousel-item figure,
body#category #js-product-list-header .arvo-category-carousel #carousel .carousel-item picture {
    display: block !important;
    height: 100% !important;
    margin: 0 !important;
}
body#category #js-product-list-header .arvo-category-carousel #carousel .carousel-item img {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: contain !important;
}

/* =========================================================
   ARVO - FICHE PRODUIT : texte sous "Faillite"
   Même présentation légère que Pizzaofen
   ========================================================= */
body#product .product-information .product-description-short,
body#product .product-information .product-description-short p,
body#product .product-information #product-description-short,
body#product .product-information #product-description-short p {
    margin-top: 6px !important;
    margin-bottom: 10px !important;
    font-weight: 400 !important;
    color: #6c757d !important;
    line-height: 1.35 !important;
}

/* ARVO : champ quantité plus large sur la fiche produit */
body#product #quantity_wanted {
    width: 110px !important;
    min-width: 110px !important;
}

/* =========================================================
   ARVO - BLOQUER TOUT MOUVEMENT AU SURVOL DES SOUS-CATEGORIES
   Ex. carte DESCAMPS : la carte et son image restent fixes
   ========================================================= */
html body#category #subcategories ul li,
html body#category #subcategories ul li:hover,
html body#category #subcategories ul li:focus-within,
html body#category #subcategories ul li .subcategory-image,
html body#category #subcategories ul li:hover .subcategory-image,
html body#category #subcategories ul li .subcategory-image a,
html body#category #subcategories ul li:hover .subcategory-image a,
html body#category #subcategories ul li img,
html body#category #subcategories ul li:hover img {
    transform: none !important;
    translate: none !important;
}

html body#category #subcategories ul li,
html body#category #subcategories ul li .subcategory-image,
html body#category #subcategories ul li .subcategory-image a,
html body#category #subcategories ul li img {
    transition: none !important;
}

/* =========================================================
   ARVO - SOUS-CATEGORIES 100% FIXES AU SURVOL
   Empêche la carte dossier (ex. DESCAMPS) de modifier la
   hauteur de la zone et de faire remonter les produits.
   ========================================================= */
html body#category #subcategories ul > li,
html body#category #subcategories ul > li:hover,
html body#category #subcategories ul > li:focus,
html body#category #subcategories ul > li:focus-within {
    position: relative !important;
    top: 0 !important;
    bottom: auto !important;
    transform: none !important;
    translate: none !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 12px 10px !important;
    border-width: 1px !important;
    box-sizing: border-box !important;
}

html body#category #subcategories ul > li .subcategory-image,
html body#category #subcategories ul > li:hover .subcategory-image,
html body#category #subcategories ul > li h5,
html body#category #subcategories ul > li:hover h5,
html body#category #subcategories ul > li .subcategory-name,
html body#category #subcategories ul > li:hover .subcategory-name {
    position: relative !important;
    top: 0 !important;
    transform: none !important;
    translate: none !important;
    margin-top: 0 !important;
    transition: none !important;
}

html body#category #subcategories ul > li .subcategory-image a,
html body#category #subcategories ul > li:hover .subcategory-image a {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    transform: none !important;
    translate: none !important;
    transition: none !important;
}

