/* ============================================================
   MARIUS / BLOCKREASSURANCE — PRESTASHOP 9.2
   CSS autonome par contexte : accueil, produit, pack, panier,
   checkout. À charger APRÈS custom.css si celui-ci est conservé.
   IMPORTANT : pour supprimer les conflits définitivement,
   retirer ensuite les anciens blocs de réassurance de custom.css.
   ============================================================ */

/* 1. ACCUEIL + FICHE PRODUIT : structure .row / .block-icon */
body#index .container-blockreassurance,
body#product .marius-product-reassurance .container-blockreassurance {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding-inline: 0;
}
body#product .marius-product-reassurance-group {
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
  margin-top: 0;
}
body#product .marius-product-reassurance { width: 100%; min-width: 0; margin: 0; }

:is(body#index .container-blockreassurance,
    body#product .marius-product-reassurance) .blockreassurance {
  display: flex;
  flex-wrap: nowrap;
  align-items: stretch;
  width: 100%;
  padding: 12px 14px;
  border: 1px solid #e5e7eb;
  border-radius: 5px;
  box-sizing: border-box;
}
:is(body#index .container-blockreassurance,
    body#product .marius-product-reassurance) .blockreassurance > .row {
  display: contents;
}
:is(body#index .container-blockreassurance,
    body#product .marius-product-reassurance) .blockreassurance > .row > [class*="col-"] {
  flex: 0 0 20% !important;
  width: 20% !important;
  max-width: 20% !important;
  min-width: 0;
  margin: 0 !important;
  padding: 8px 14px !important;
  text-align: center;
  box-sizing: border-box;
}
:is(body#index .container-blockreassurance,
    body#product .marius-product-reassurance) .block-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 45px;
  margin-bottom: 6px;
}
:is(body#index .container-blockreassurance,
    body#product .marius-product-reassurance) .block-icon :is(img, svg) {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: auto !important;
  max-width: 40px !important;
  height: auto !important;
  max-height: 40px !important;
  object-fit: contain;
}
:is(body#index .container-blockreassurance,
    body#product .marius-product-reassurance) .block-icon .invisible {
  visibility: visible !important;
}
:is(body#index .container-blockreassurance,
    body#product .marius-product-reassurance) .block-title {
  margin: 4px 0 6px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
}
:is(body#index .container-blockreassurance,
    body#product .marius-product-reassurance) .blockreassurance > .row > [class*="col-"] > p {
  margin: 0;
  font-size: 13px;
  line-height: 1.4;
  text-align: center;
}

/* 2. TABLETTE : 2 colonnes, accueil et fiche produit */
@media (min-width: 768px) and (max-width: 991.98px) {
  :is(body#index .container-blockreassurance,
      body#product .marius-product-reassurance) .blockreassurance { flex-wrap: wrap; }
  :is(body#index .container-blockreassurance,
      body#product .marius-product-reassurance) .blockreassurance > .row > [class*="col-"] {
    flex: 0 0 50% !important;
    width: 50% !important;
    max-width: 50% !important;
    padding: 15px !important;
  }
}

body#index .container-blockreassurance {
	width: calc(100% - 24px);
	max-width: none;
	margin-left: 12px;
	margin-right: 12px;
}


/* 3. MOBILE : icône 48 px à gauche, titre à droite */
@media (max-width: 767.98px) {
  body#index .container-blockreassurance {
	  width: calc(100% - 24px);
	  max-width: none;
	  margin-left: 12px;
	  margin-right: 12px;
  }
  :is(body#index .container-blockreassurance,
      body#product .marius-product-reassurance,
      body#product .marius-pack-reassurance) .blockreassurance {
    display: block !important;
    padding: 10px 12px;
  }
  :is(body#index .container-blockreassurance,
      body#product .marius-product-reassurance,
      body#product .marius-pack-reassurance) .blockreassurance > .row {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  :is(body#index .container-blockreassurance,
      body#product .marius-product-reassurance,
      body#product .marius-pack-reassurance) .blockreassurance > .row > [class*="col-"] {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    column-gap: 6px !important;
    align-items: center !important;
    flex: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 6px 0 !important;
    text-align: left !important;
  }
  :is(body#index .container-blockreassurance,
      body#product .marius-product-reassurance,
      body#product .marius-pack-reassurance) .block-icon {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  :is(body#index .container-blockreassurance,
      body#product .marius-product-reassurance,
      body#product .marius-pack-reassurance) .block-icon :is(img, svg) {
    display: block !important;
    width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
    max-height: 48px !important;
    object-fit: contain !important;
  }
  :is(body#index .container-blockreassurance,
      body#product .marius-product-reassurance,
      body#product .marius-pack-reassurance) .block-title {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    text-align: left !important;
    align-self: center !important;
  }
  :is(body#index .container-blockreassurance,
      body#product .marius-product-reassurance,
      body#product .marius-pack-reassurance) .blockreassurance > .row > [class*="col-"] > p {
    display: none !important;
  }
}

/* 4. PRODUITS EN PACK : grille spéciale 3 + 2 sur desktop.
   Reprend la logique existante. N'affecte pas les produits ordinaires. */
@media (min-width: 992px) {
  body#product .marius-pack-reassurance .container-blockreassurance {
    width: 100% !important;
    max-width: 100% !important;
    padding-inline: 0 !important;
  }
  body#product .marius-pack-reassurance .blockreassurance {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: 30px 14px !important;
  }
  body#product .marius-pack-reassurance .blockreassurance > .row { display: contents !important; }
  body#product .marius-pack-reassurance .blockreassurance > .row > [class*="col-"] {
    flex: none !important;
    width: auto !important;
    max-width: none !important;
    margin-inline: 0 !important;
    padding-inline: 4px !important;
    text-align: center;
  }
  body#product .marius-pack-reassurance .blockreassurance > .row:first-child > :nth-child(-n+3) { grid-column: span 2; }
  body#product .marius-pack-reassurance .blockreassurance > .row:first-child > :nth-child(4) { grid-column: 2 / span 2; }
  body#product .marius-pack-reassurance .blockreassurance > .row:nth-child(2) > :first-child { grid-column: 4 / span 2; }
}

/* 5. PANIER : structure .reassurance / .reassurance__* */
body#cart .marius-cart-reassurance {
  width: 100%;
  min-width: 0;
  margin: 20px 0;
}
body#cart .marius-cart-reassurance .blockreassurance--cart { margin-block: 0 !important; }
body#cart .marius-cart-reassurance .blockreassurance {
  display: flex !important;
  flex-flow: row nowrap;
  align-items: stretch;
  width: 100%;
  min-width: 0;
  gap: 0;
  padding: 12px 14px;
  border: 1px solid #e5e7eb;
  border-radius: 5px;
  background: #fff;
  box-sizing: border-box;
}
body#cart .marius-cart-reassurance .reassurance {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  min-width: 0;
  margin: 0;
  padding: 10px 12px;
  color: inherit;
  text-align: center;
  text-decoration: none;
  box-sizing: border-box;
}
body#cart .marius-cart-reassurance .reassurance__image {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 8px;
}
body#cart .marius-cart-reassurance .reassurance__image :is(svg, img) {
  display: block;
  width: 42px;
  height: 42px;
  max-width: 100%;
  object-fit: contain;
}
body#cart .marius-cart-reassurance .reassurance__content { display: block; width: 100%; min-width: 0; }
body#cart .marius-cart-reassurance .reassurance__title {
  display: block;
  margin: 4px 0 6px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
}
body#cart .marius-cart-reassurance .reassurance__desc {
  display: block;
  margin: 0;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  text-align: center;
  color: #555;
}
@media (min-width: 768px) and (max-width: 991.98px) {
  body#cart .marius-cart-reassurance .blockreassurance { flex-wrap: wrap; }
  body#cart .marius-cart-reassurance .reassurance {
    flex: 0 0 50% !important;
    width: 50% !important;
    max-width: 50% !important;
    padding: 15px !important;
  }
}
/* PANIER MOBILE : même présentation que l’accueil et le produit. */
@media (max-width: 767.98px) {
  body#cart .marius-cart-reassurance .blockreassurance {
    display: flex !important;
    flex-flow: column nowrap !important;
    padding: 10px 12px;
  }
  body#cart .marius-cart-reassurance .reassurance {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    column-gap: 6px !important;
    align-items: center !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 6px 0 !important;
    text-align: left !important;
  }
  body#cart .marius-cart-reassurance .reassurance__image {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body#cart .marius-cart-reassurance .reassurance__image :is(svg, img) {
    display: block !important;
    width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
    max-height: 48px !important;
    object-fit: contain !important;
  }
  body#cart .marius-cart-reassurance .reassurance__content {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }
  body#cart .marius-cart-reassurance .reassurance__title {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    text-align: left !important;
  }
  body#cart .marius-cart-reassurance .reassurance__desc,
  body#cart .marius-cart-reassurance .reassurance__content > br {
    display: none !important;
  }
}

/* 6. CHECKOUT : conserver le comportement desktop natif.
   Personnalisation mobile uniquement, comme dans custom.css. */
@media (max-width: 767.98px) {
  body#checkout .blockreassurance--checkout {
    width: 100% !important;
    max-width: 100% !important;
    margin-block: 2rem 0 !important;
    padding: 10px 12px !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 5px !important;
    box-sizing: border-box !important;
  }
  body#checkout .blockreassurance--checkout > a.reassurance {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    column-gap: 6px !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 6px 0 !important;
    text-align: left !important;
    text-decoration: none !important;
  }
  body#checkout .blockreassurance--checkout .reassurance__image {
    grid-column: 1 !important;
    grid-row: 1 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body#checkout .blockreassurance--checkout .reassurance__image :is(svg, img) {
    display: block !important;
    width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
    max-height: 48px !important;
    object-fit: contain !important;
  }
  body#checkout .blockreassurance--checkout .reassurance__content {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }
  body#checkout .blockreassurance--checkout .reassurance__title {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: #212529 !important;
    text-align: left !important;
  }
  body#checkout .blockreassurance--checkout :is(.reassurance__desc, .reassurance__content > br) {
    display: none !important;
  }
}