/* =========================================================
   Rossopepe Asporto - Modale dettaglio prodotto
   File caricato dopo app.css
   ========================================================= */

.rpProductModal {
  z-index: 3000 !important;
}

.rpProductSheet {
  border-radius: 30px 30px 0 0 !important;
  background: #fff !important;
}

/* Blocco alto prodotto */
.rpSheetProduct {
  display: grid !important;
  grid-template-columns: 104px 1fr !important;
  gap: 14px !important;
  align-items: center !important;
}

/* Contenitore immagine originale, pulito */
.rpSheetProduct__media {
  width: 92px !important;
  height: 92px !important;
  min-width: 92px !important;
  min-height: 92px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 20px !important;
  background: #f6f7fa !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  position: relative !important;
}

/* Immagine centrata nel suo box */
.rpSheetProduct__img {
  width: 82px !important;
  height: 82px !important;
  max-width: 82px !important;
  max-height: 82px !important;
  display: block !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  border-radius: 18px !important;
  transform: none !important;
  translate: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Fallback immagine */
.rpSheetProduct__fallback {
  width: 82px !important;
  height: 82px !important;
  border-radius: 18px !important;
}

/* Elimina pseudo-elementi/decorazioni introdotti da patch precedenti */
.rpSheetProduct__media::before,
.rpSheetProduct__media::after,
.rpSheetProduct__img::before,
.rpSheetProduct__img::after {
  display: none !important;
  content: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Badge modale: si vede solo se valorizzato */
.rpSheetProduct__badge,
#rpProductModalBadge {
  position: static !important;
  display: inline-flex !important;
  width: auto !important;
  max-width: max-content !important;
  margin: 0 0 10px !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  background: rgba(217, 93, 80, .12) !important;
  color: #d95d50 !important;
  border: 0 !important;
  box-shadow: none !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

.rpSheetProduct__badge:empty,
#rpProductModalBadge:empty,
#rpProductModalBadge.is-empty,
#rpProductModalBadge[aria-hidden="true"] {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Testi modale */
.rpSheetProduct__content h2 {
  margin: 0 !important;
  color: var(--rp-text) !important;
  font-size: 26px !important;
  line-height: 1.04 !important;
  letter-spacing: -.04em !important;
  font-weight: 950 !important;
}

.rpSheetProduct__content strong {
  display: block !important;
  margin-top: 9px !important;
  color: var(--rp-red) !important;
  font-size: 28px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
}

@media (max-width: 380px) {
  .rpSheetProduct {
    grid-template-columns: 92px 1fr !important;
    gap: 12px !important;
  }

  .rpSheetProduct__media {
    width: 82px !important;
    height: 82px !important;
    min-width: 82px !important;
    min-height: 82px !important;
  }

  .rpSheetProduct__img,
  .rpSheetProduct__fallback {
    width: 72px !important;
    height: 72px !important;
    max-width: 72px !important;
    max-height: 72px !important;
  }

  .rpSheetProduct__content h2 {
    font-size: 23px !important;
  }

  .rpSheetProduct__content strong {
    font-size: 25px !important;
  }
}

/* v2 - Modale prodotto: immagine come lista prodotti, piena nel contenitore */
.rpSheetProduct {
  grid-template-columns: 96px 1fr !important;
  align-items: center !important;
}

.rpSheetProduct__media {
  width: 78px !important;
  height: 78px !important;
  min-width: 78px !important;
  min-height: 78px !important;
  max-width: 78px !important;
  max-height: 78px !important;

  display: grid !important;
  place-items: center !important;

  border-radius: 18px !important;
  overflow: hidden !important;
  background: transparent !important;
  box-shadow: none !important;

  padding: 0 !important;
  margin: 0 !important;
}

.rpSheetProduct__img {
  width: 78px !important;
  height: 78px !important;
  min-width: 78px !important;
  min-height: 78px !important;
  max-width: 78px !important;
  max-height: 78px !important;

  display: block !important;
  margin: 0 !important;

  object-fit: cover !important;
  object-position: center center !important;

  border-radius: 18px !important;
  background: transparent !important;
  box-shadow: none !important;

  transform: none !important;
  translate: none !important;
}

/* Nessuna decorazione sotto/fuori immagine */
.rpSheetProduct__media::before,
.rpSheetProduct__media::after,
.rpSheetProduct__img::before,
.rpSheetProduct__img::after {
  display: none !important;
  content: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Neutralizza vecchie regole globali eventualmente ancora presenti in app.css */
.rpProductSheet img,
.rpProductModal img,
#rpProductModal img,
.rpSheetProduct__media img {
  object-fit: cover !important;
  object-position: center center !important;
}


/* v3 - Modale prodotto: immagine leggermente più grande */
.rpSheetProduct {
  grid-template-columns: 108px 1fr !important;
}

.rpSheetProduct__media {
  width: 90px !important;
  height: 90px !important;
  min-width: 90px !important;
  min-height: 90px !important;
  max-width: 90px !important;
  max-height: 90px !important;
  border-radius: 20px !important;
}

.rpSheetProduct__img {
  width: 90px !important;
  height: 90px !important;
  min-width: 90px !important;
  min-height: 90px !important;
  max-width: 90px !important;
  max-height: 90px !important;
  border-radius: 20px !important;
  object-fit: cover !important;
  object-position: center center !important;
}

