.product-page { width: min(calc(100% - var(--page-gutter) * 2), 1460px); margin-inline: auto; padding-bottom: 64px; }
.product-breadcrumb { display: flex; align-items: center; gap: 11px; min-height: 58px; overflow: hidden; color: #63738c; font-size: 0.76rem; white-space: nowrap; }
.product-breadcrumb a { color: #315d97; }
.product-breadcrumb > span:last-child { overflow: hidden; text-overflow: ellipsis; }
.product-showcase { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(390px, 0.75fr); gap: 38px; }
.product-gallery { display: grid; min-width: 0; min-height: 550px; grid-template-columns: 120px 1fr; border: 1px solid #d4dfeb; border-radius: 5px; background: #ffffff; }
.product-gallery__thumbs { display: grid; align-content: start; gap: 12px; padding: 14px; border-right: 1px solid #dbe4ed; }
.product-gallery__thumbs button { display: grid; width: 88px; height: 92px; place-items: center; overflow: hidden; padding: 6px; border: 1px solid #86a4c3; border-radius: 5px; background: #ffffff; }
.product-gallery__thumbs button.is-active { border: 2px solid var(--color-footer); box-shadow: 0 0 0 1px rgba(7, 52, 87, 0.12); }
.product-gallery__thumbs img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.product-gallery__main { --zoom-x: 50%; --zoom-y: 50%; position: relative; display: grid; min-width: 0; overflow: hidden; place-items: center; }
.product-gallery__main > img { width: 92%; height: 500px; max-width: 100%; max-height: 100%; object-fit: contain; object-position: center; transform-origin: var(--zoom-x) var(--zoom-y); transition: transform 180ms ease; }
.product-gallery__main.is-zoomed > img { cursor: zoom-out; transform: scale(1.55); }
.product-gallery__main.is-hover-zoomed > img { cursor: zoom-in; transform: scale(1.65); }
.product-gallery__zoom { position: absolute; right: 18px; bottom: 18px; display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid #d1dce8; border-radius: 50%; color: #315d97; background: #ffffff; box-shadow: 0 5px 16px rgba(5, 38, 76, 0.12); }
.product-gallery__zoom .icon { width: 22px; height: 22px; }
.product-summary { min-width: 0; padding: 2px 0 0; }
.product-sku { display: inline-flex; padding: 4px 10px; border-radius: 5px; color: #536b88; background: #e5edf5; font-size: 0.68rem; }
.product-summary h1 { margin: 10px 0 6px; color: #081d43; font-size: clamp(1.55rem, 2.2vw, 2.25rem); line-height: 1.08; }
.product-availability { margin: 0; color: var(--color-green); font-size: 0.95rem; font-weight: 400; }
.product-stock { margin: 3px 0 0; color: #425574; font-size: 0.78rem; }
.product-price { margin: 14px 0 12px; color: #f01818; font-size: clamp(1.7rem, 2.4vw, 2.35rem); font-weight: 900; line-height: 1; }
.product-installments { display: grid; grid-template-columns: 1fr 180px; align-items: center; gap: 16px; min-height: 94px; padding: 13px 18px; border: 1px solid #09b875; border-radius: 6px; }
.product-installments > div { display: grid; }
.product-installments span { color: #152a49; font-size: 0.9rem; }
.product-installments strong { color: #05a96c; font-size: 1.45rem; }
.product-installments small { width: fit-content; padding: 2px 7px; color: #ffffff; background: #ff2c75; font-size: 0.58rem; font-weight: 900; text-transform: uppercase; }
.product-installments a { display: grid; justify-items: center; padding-left: 15px; border-left: 1px solid #d6e3e8; }
.product-installments a > img { width: 112px; height: 38px; object-fit: contain; }
.product-installments u { color: #23709e; font-size: 0.66rem; }
.product-options { display: grid; gap: 12px; margin-top: 24px; }
.product-options .product-option { margin-top: 0; }
.product-option { display: grid; grid-template-columns: 86px 1fr; align-items: center; gap: 18px; margin-top: 24px; color: #142847; font-size: 0.8rem; font-weight: 800; }
.product-option--static strong { min-height: 48px; display: flex; align-items: center; padding: 9px 14px; border: 1px solid #cbd8e5; border-radius: 5px; color: #536783; }
.product-option select { width: 100%; min-height: 48px; padding: 9px 14px; border: 1px solid #cbd8e5; border-radius: 5px; color: #536783; background: #ffffff; }
.product-purchase { display: grid; grid-template-columns: 70px 132px 1fr; align-items: center; gap: 12px; margin-top: 18px; color: #142847; font-size: 0.8rem; font-weight: 800; }
.product-quantity { display: grid; height: 48px; grid-template-columns: repeat(3, 44px); border: 1px solid #c8d5e4; }
.product-quantity button, .product-quantity output { display: grid; place-items: center; border: 0; color: #183153; background: #ffffff; font-size: 1rem; }
.product-quantity output { border-right: 1px solid #d8e1eb; border-left: 1px solid #d8e1eb; }
.product-add { min-height: 48px; text-transform: uppercase; }
.product-add:disabled { cursor: not-allowed; opacity: 0.55; }
.product-whatsapp { width: 100%; min-height: 46px; margin-top: 12px; border-color: #078f50; color: #078f50; background: #ffffff; box-shadow: none; }
.product-whatsapp:hover { border-color: #078f50; color: #ffffff; background: #078f50; }
.product-whatsapp .icon { width: 20px; height: 20px; }
.product-add-status { min-height: 22px; margin: 10px 0 0; color: #078347; font-size: 0.78rem; font-weight: 700; }
.product-information { margin-top: 34px; border: 1px solid #d8e2ed; border-radius: 5px; }
.product-information > h2 { width: fit-content; min-width: 190px; margin: -1px 0 0 -1px; padding: 13px 28px; border: 1px solid #d8e2ed; border-top: 3px solid var(--color-primary); border-radius: 5px 5px 0 0; color: #0870e5; font-size: 0.86rem; text-align: center; text-transform: uppercase; }
.product-information > div { display: grid; grid-template-columns: 1.8fr 0.9fr; gap: 36px; padding: 24px 32px; }
.product-information p { margin: 0; color: #536783; font-size: 0.86rem; line-height: 1.65; }
.product-information__description { white-space: pre-line; overflow-wrap: anywhere; }
.product-information dl { margin: 0; padding-left: 28px; border-left: 1px solid #dbe4ed; }
.product-information dl div { display: grid; grid-template-columns: 120px 1fr; gap: 8px; }
.product-information dt { color: #172b4a; font-size: 0.8rem; font-weight: 800; }
.product-information dd { margin: 0; color: #536783; font-size: 0.8rem; }
.related-products { padding-top: 32px; }
.related-products .section-heading h2 { color: #071b3f; }
.related-products__grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.related-products__grid .catalog-card__image { height: 185px; }
.related-products__grid .catalog-card h3 { min-height: 54px; }

@media (max-width: 1120px) {
  .product-showcase { grid-template-columns: 1fr; }
  .product-summary { padding-top: 8px; }
  .related-products__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .product-page { width: calc(100% - 28px); }
  .product-breadcrumb { min-height: 50px; }
  .product-gallery { min-height: 430px; grid-template-columns: 1fr; }
  .product-gallery__thumbs { grid-template-columns: repeat(4, 72px); grid-row: 2; overflow-x: auto; border-top: 1px solid #dbe4ed; border-right: 0; }
  .product-gallery__thumbs button { width: 68px; height: 68px; }
  .product-gallery__main > img { height: 350px; }
  .product-installments { grid-template-columns: 1fr; }
  .product-installments a { justify-items: start; padding: 12px 0 0; border-top: 1px solid #d6e3e8; border-left: 0; }
  .product-purchase { grid-template-columns: 1fr 132px; }
  .product-purchase > span { grid-column: 1 / -1; }
  .product-add { min-width: 0; padding-inline: 12px; }
  .product-information > div { grid-template-columns: 1fr; padding: 22px 18px; }
  .product-information dl { padding: 18px 0 0; border-top: 1px solid #dbe4ed; border-left: 0; }
  .related-products__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 480px) {
  .product-summary h1 { font-size: 1.45rem; }
  .product-purchase { grid-template-columns: 1fr; }
  .product-purchase > span { grid-column: auto; }
  .related-products__grid { grid-template-columns: 1fr; }
}
