/* SLAC-843: detalhe de produto + tabela nutricional */
.iog-product-detail .iog-product-photo { display:block; margin:0 auto; padding-top:30px; max-width:100%; height:auto; }
.iog-section { max-width: 760px; margin: 40px auto; padding: 0 20px; box-sizing: border-box; }
.iog-section-title { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 28px; color: #00205b; text-align: center; margin: 0 0 20px; }
.iog-ingredients .ingredients { font-family: 'Poppins', sans-serif; font-size: 16px; line-height: 1.5; }
.iog-nutri-box { background:#fff; border:2px solid #000; padding:12px 16px; max-width:520px; margin:0 auto; font-family: Arial, Helvetica, sans-serif; color:#000; }
.iog-nutri-scroll { overflow-x:auto; }
.iog-nutri-table { width:100%; border-collapse:collapse; font-size:15px; }
.iog-nutri-table caption { text-align:left; border-bottom:8px solid #000; padding-bottom:6px; }
.iog-nutri-caption-title { display:block; text-align:center; font-weight:800; font-size:22px; text-transform:uppercase; border-bottom:1px solid #000; padding-bottom:6px; margin-bottom:4px; }
.iog-nutri-portion { display:block; font-size:15px; }
.iog-nutri-table th, .iog-nutri-table td { border-bottom:1px solid #000; padding:4px 6px; }
.iog-nutri-table thead th { font-weight:700; text-align:center; }
.iog-nutri-table tbody th { text-align:left; font-weight:400; }
.iog-nutri-table td { text-align:center; border-left:1px solid #000; white-space:nowrap; }
.iog-nutri-table thead th + th { border-left:1px solid #000; }
.iog-nutri-table .iog-nivel-1 { padding-left:18px; }
.iog-nutri-table .iog-nivel-2 { padding-left:32px; }
.iog-nutri-extra { border-top:3px solid #000; padding-top:6px; font-size:14px; }
.iog-nutri-extra p { margin:4px 0; }
.iog-nutri-note { border-top:3px solid #000; margin:6px 0 0; padding-top:6px; font-size:13px; }
.screen-reader-text { position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }
.product-card-link { text-decoration:none; color:inherit; display:block; }
@media (max-width: 600px) {
  .iog-section-title { font-size:22px; }
  .iog-nutri-box { padding:8px 10px; }
  .iog-nutri-table { font-size:13px; }
  .iog-nutri-caption-title { font-size:18px; }
}
@media (max-width: 768px) { .iog-description-spacer { height: 40px; } }

/* SLAC-843 fix: apenas cantos arredondados (dimensões/proporção originais mantidas) */
.related-products #related-products-list img { border-radius: 10px; }
.container-img .image img { border-radius: 6px; }
.iog-product-detail .iog-product-photo { border-radius: 10px; }

/* SLAC-843 fix3: foto do produto contida no quadro branco (sem esticar) */
.iog-product-detail .product-image { display:flex; align-items:center; justify-content:center; box-sizing:border-box; padding:24px; }
.iog-product-detail .product-image .gota-image { top:0; left:0; }
.iog-product-detail .iog-product-photo { padding-top:0; margin:0; width:auto; height:auto; max-width:100%; max-height:100%; object-fit:contain; }
@media screen and (max-width: 768px) { .iog-product-detail .product-image .gota-image { left:50%; } }
/* SLAC-843 fix3: "Produtos da linha" mantém a proporção da foto (mesma caixa 153x125, sem distorção) */
.related-products #related-products-list img { object-fit: contain; object-position: center; }
/* SLAC-843 fix4: "Produtos da linha" com fundo todo branco, sem faixa de miniaturas */
.related-products { background: #fff !important; }
.related-products #related-products-list img { background: #fff; }
.related-products + .triangle-divider-container { background: #fff; }
.related-products #related-products-list, .related-products #related-products-list li, .related-products #related-products-list a:not(.saiba-mais) { background: #fff !important; }
/* SLAC-843 fix5: setas do carrossel "Produtos da linha" suaves, na paleta do site */
.iog-product-detail ~ .related-products .arrow, .related-products .arrow { border:0; padding:0; background:#ddf0ff; box-shadow:0 2px 8px rgba(100,120,255,.18); transition:background-color .2s ease, box-shadow .2s ease, transform .2s ease; -webkit-appearance:none; appearance:none; }
.related-products .arrow img { width:7px; height:12px; transition:filter .2s ease; }
.related-products .arrow:hover, .related-products .arrow:focus-visible { background:#6478ff; box-shadow:0 4px 12px rgba(100,120,255,.35); }
.related-products .arrow:hover img, .related-products .arrow:focus-visible img { filter:brightness(0) invert(1); }
.related-products .arrow:focus-visible { outline:2px solid #6478ff; outline-offset:2px; }
/* SLAC-843 fix6: sem logo da marca; imagem antes do nome (desktop: imagem à esquerda, nome à direita) */
@media screen and (min-width: 1116px) {
  .iog-product-detail .product-header {
    position:relative;
    box-sizing:border-box;
    padding-left:calc(50% + 10px);
    padding-right:20px;
    padding-top:0;
    height:330px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
    padding-bottom:6px;
  }
  .iog-product-detail .product-image { margin-left:0; left:calc(50% - 450px); top:180px; }
  /* Desktop: title anchored to bottom of purple header (grows upward when wrapping) */
  .iog-product-detail .product-title { max-width:440px; margin:0; }
}
@media screen and (max-width: 1115px) {
  .iog-product-detail .product-header { padding-top:150px; }
  .iog-product-detail .product-image { margin:0 auto 20px; }
  .iog-product-detail .product-title { padding:0 20px; color:#00205b; height:auto; }
}
/* SLAC-843 fix7: área dos valores nutricionais com o mesmo azul claro do cabeçalho (#ddf0ff) */
.iog-product-detail { background:#ddf0ff; padding-bottom:1px; }
.iog-product-detail .iog-nutrition { margin-top:0; padding-top:40px; margin-bottom:0; padding-bottom:40px; }
/* SLAC-843 fix8: título "Produtos da linha" sobre a divisa azul/branco (metade em cada seção) */
.related-products { overflow:visible !important; }
.related-products > .title-container { top:0; transform:translateY(-50%); z-index:15; margin-bottom:40px !important; }
.related-products #related-products-list { overflow:visible; }
.related-products .carousel, .related-products .carousel-container { overflow:hidden; }
.iog-product-detail .iog-nutrition { padding-bottom:72px; }
/* SLAC-843 fix8b: produtos sem tabela — o quadro da imagem (absoluto) não invade "Produtos da linha" */
@media screen and (min-width: 1116px) { .iog-product-detail { min-height:720px; box-sizing:border-box; } }
/* SLAC-843 fix10: sem a gota azul no mobile */
@media screen and (max-width: 1115px) { .iog-product-detail .gota-image { display:none !important; } }

/* SLAC-843 fix12: carrossel "Produtos da linha" — sem left:170px que cortava o 2º card; centraliza quando cabe */
.related-products #related-products-list li { left: 0; }
.related-products.related-products--fit .arrow { display: none !important; }
.related-products.related-products--fit .product-container {
  max-width: 100%;
  overflow: visible;
}
.related-products.related-products--fit #related-products-list {
  justify-content: flex-start;
  width: 100%;
  transform: none !important;
}
.related-products.related-products--fit #related-products-list li:last-child {
  margin-right: 0;
}
@media (max-width: 998px) {
  .related-products.related-products--fit #related-products-list li {
    margin-left: 0;
  }
}

/* SLAC-843 fix12b: com overflow, lista alinhada à esquerda (não centralizada) para o 1º card não cortar */
.related-products:not(.related-products--fit) .product-container {
  justify-content: flex-start;
  overflow: hidden;
}
.related-products:not(.related-products--fit) #related-products-list {
  justify-content: flex-start;
}

/* SLAC-843 fix13: janela do carrossel = N cards inteiros (largura via JS); centralizada */
.related-products .product-container {
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
.related-products:not(.related-products--fit) .product-container {
  overflow: hidden;
}
.related-products:not(.related-products--fit) #related-products-list {
  justify-content: flex-start;
}
.related-products .arrow:disabled,
.related-products .arrow[aria-disabled="true"] {
  opacity: 0.35;
  cursor: default;
  pointer-events: none;
}

/* SLAC-843 fix14: sempre da esquerda para a direita; 1º card encostado no início da janela */
.related-products #related-products-list {
  justify-content: flex-start;
}
.related-products.related-products--fit #related-products-list {
  justify-content: flex-start;
}
.related-products .product-container {
  /* janela dimensionada pelo JS em N cards inteiros; bloco centralizado entre as setas */
  margin-left: auto;
  margin-right: auto;
}
