.product-detail-hero {
  padding: clamp(120px, 14vw, 178px) 0 clamp(72px, 9vw, 120px);
  background: linear-gradient(135deg, var(--color-green-ink), var(--color-green-dark));
  color: var(--color-white);
  overflow: hidden;
}
.product-detail-hero__grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr); gap:clamp(40px,7vw,96px); align-items:center; }
.product-detail-hero .breadcrumb, .product-detail-hero .breadcrumb a { color:rgba(255,255,255,.72); }
.product-detail-hero h1 { max-width:760px; margin:16px 0 12px; color:var(--color-white); }
.product-detail-hero__type { display:inline-flex; margin-bottom:22px; padding:8px 12px; border:1px solid rgba(255,255,255,.22); border-radius:999px; color:var(--color-green-primary); text-transform:uppercase; font-size:.78rem; letter-spacing:.05em; }
.product-detail-hero__content > p { max-width:680px; font-size:clamp(1.05rem,1.8vw,1.3rem); color:rgba(255,255,255,.78); }
.product-detail-hero__actions { display:flex; flex-wrap:wrap; align-items:center; gap:24px; margin-top:32px; }
.product-detail-hero .text-link { color:var(--color-white); }
.product-detail-hero__media { display:flex; align-items:center; justify-content:center; min-height:520px; padding:32px; border-radius:42px; background:radial-gradient(circle at 50% 30%, rgba(131,223,70,.26), transparent 55%), rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); }
.product-detail-hero__media img { width:100%; max-width:520px; max-height:620px; object-fit:contain; filter:drop-shadow(0 28px 36px rgba(0,0,0,.28)); }
.product-detail-content { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr); gap:clamp(32px,6vw,76px); align-items:start; }
.product-detail-content h2 { margin:12px 0 28px; }
.product-benefit-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding:0; margin:0; list-style:none; }
.product-benefit-list li { display:flex; gap:12px; align-items:flex-start; padding:18px; border:1px solid rgba(33,93,53,.12); border-radius:18px; background:var(--color-white); }
.product-benefit-list svg { flex:0 0 24px; color:var(--color-green-primary); }
.product-usage-card { position:sticky; top:120px; padding:34px; border-radius:28px; background:linear-gradient(145deg,var(--color-green-dark),var(--color-green-ink)); color:var(--color-white); box-shadow:var(--shadow-strong); }
.product-usage-card h2 { color:var(--color-white); }
.product-usage-card p { color:rgba(255,255,255,.76); }
.product-usage-card .text-link { color:var(--color-white); margin-top:20px; }
.product-line-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.product-line-card { padding:28px; border-radius:24px; background:var(--color-white); border:1px solid rgba(33,93,53,.12); }
.product-line-card h3 { margin-bottom:12px; color:var(--color-green-ink); }
.product-grid--related { grid-template-columns:repeat(3,minmax(0,1fr)); }
.product-grid--related .product-card--with-image { grid-template-columns:1fr; }
.product-grid--related .product-card__media { border-right:0; border-bottom:1px solid rgba(33,93,53,.1); min-height:260px; }
.product-grid--related .product-card__content { padding:24px; }
@media (max-width: 900px) {
  .product-detail-hero__grid, .product-detail-content { grid-template-columns:1fr; }
  .product-detail-hero__media { min-height:400px; }
  .product-usage-card { position:static; }
  .product-line-grid, .product-grid--related { grid-template-columns:1fr; }
}
@media (max-width: 600px) {
  .product-detail-hero { padding-top:104px; }
  .product-detail-hero__media { min-height:320px; padding:22px; border-radius:28px; }
  .product-benefit-list { grid-template-columns:1fr; }
  .product-detail-hero__actions { align-items:flex-start; flex-direction:column; }
}

/* Grade de produtos relacionados: 3 cards por linha no desktop. */
.related-products .product-grid--related {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch;
  gap: 24px;
}

.related-products .product-grid--related > .product-card {
  width: 100%;
  min-width: 0;
  height: 100%;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .related-products .product-grid--related {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .related-products .product-grid--related {
    grid-template-columns: 1fr !important;
  }
}

/* Correção definitiva dos cards de produtos relacionados.
   Esta página não carrega produtos.css, portanto o componente recebe aqui
   toda a estrutura necessária para formar uma grade real de três colunas. */
@media (min-width: 1025px) {
  .page-produto-detalhe .related-products .product-grid.product-grid--related {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    grid-auto-flow: row;
    gap: 24px;
    width: 100%;
  }
}

.page-produto-detalhe .related-products .product-grid--related > .product-card.product-card--with-image {
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  width: 100% !important;
  min-width: 0;
  max-width: none;
  height: 100%;
  min-height: 0;
  padding: 0 !important;
  overflow: hidden;
}

.page-produto-detalhe .related-products .product-card__media {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 300px;
  padding: 24px;
  border-right: 0;
  border-bottom: 1px solid rgba(33, 93, 53, .1);
  background:
    radial-gradient(circle at 50% 30%, rgba(131, 223, 70, .18), transparent 48%),
    linear-gradient(180deg, #f7faf5 0%, #eef5e9 100%);
}

.page-produto-detalhe .related-products .product-card__media img {
  display: block;
  width: auto;
  max-width: 100%;
  height: 250px;
  max-height: 250px;
  object-fit: contain;
  filter: drop-shadow(0 20px 24px rgba(6, 43, 24, .18));
}

.page-produto-detalhe .related-products .product-card__content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-width: 0;
  padding: 24px !important;
}

.page-produto-detalhe .related-products .product-card__top {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 12px;
  margin-bottom: 16px;
  color: var(--color-green-dark);
  font-size: .72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.page-produto-detalhe .related-products .product-card__top span {
  padding: 6px 10px;
  border-radius: 999px;
  background: var(--color-green-soft);
}

.page-produto-detalhe .related-products .product-card h3 {
  margin-bottom: 10px;
  font-size: clamp(1.25rem, 1.6vw, 1.55rem);
  color: var(--color-green-ink);
}

.page-produto-detalhe .related-products .product-card p {
  margin-bottom: 20px;
}

.page-produto-detalhe .related-products .product-card .text-link {
  margin-top: auto;
}

@media (min-width: 768px) and (max-width: 1024px) {
  .page-produto-detalhe .related-products .product-grid.product-grid--related {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px;
  }
}

@media (max-width: 767px) {
  .page-produto-detalhe .related-products .product-grid.product-grid--related {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px;
  }

  .page-produto-detalhe .related-products .product-card__media {
    min-height: 240px;
  }

  .page-produto-detalhe .related-products .product-card__media img {
    height: 210px;
    max-height: 210px;
  }
}
