body{background:#f5f5f5}.product-page{max-width:1280px;margin:auto;padding:0 20px 70px}.breadcrumb{height:58px;display:flex;align-items:center;gap:10px;font-size:13px;color:#617193}.breadcrumb b{color:#333}.product-main{background:white;border-radius:8px;display:grid;grid-template-columns:1.35fr 1fr;gap:48px;padding:32px}.gallery{display:grid;grid-template-columns:78px 1fr;gap:20px;min-width:0}.thumbs{display:grid;align-content:start;gap:10px}.thumbs button{height:72px;border:1px solid #ccc;border-radius:6px;background:white;padding:5px;cursor:pointer}.thumbs button.active{border:2px solid #6177e9}.thumbs img{width:100%;height:100%;object-fit:contain}.main-photo{height:590px;position:relative;display:grid;place-items:center}.main-photo>img{width:100%;height:100%;object-fit:contain}
.favorite{position:absolute;top:14px;right:14px;width:42px;height:42px;border-radius:50%;border:1px solid #eee;background:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 2px 8px #0001;z-index:2}
.favorite svg{width:22px;height:22px;fill:none;stroke:#8e0c21;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:.15s}
.favorite.active svg{fill:#c8102e;stroke:#c8102e}.favorite{position:absolute;right:5px;top:5px;border:0;background:white;color:#4c78f1;font-size:38px}.buy-info{padding:10px 12px}.sold{color:#777;font-size:13px}.buy-info h1{font:600 26px/1.25 Manrope;margin:12px 0}.product-badge{display:inline-block;background:#262a35;color:white;padding:5px 8px;font-size:10px;font-weight:700}.old-price{text-decoration:line-through;color:#888;margin:22px 0 0}.detail-price{font:800 38px Manrope;margin:0}.payment{color:#139c52;font-size:13px}.buy-info hr{border:0;border-top:1px solid #eee;margin:25px 0}.choice>b{font-size:14px}.choice>div{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 22px}.choice span{border:1px solid #aaa;border-radius:6px;padding:10px 13px;font-size:13px}.quick-info{border:1px solid #e1e1e1;border-radius:8px;margin-bottom:18px}.quick-info p{display:flex;gap:12px;margin:0;padding:14px;border-bottom:1px solid #eee;font-size:13px}.quick-info p:last-child{border:0}.quick-info span{color:#20ad61}.buy-whatsapp{display:block;text-align:center;background:#20ad61;color:white;border-radius:7px;padding:17px;font-weight:800}.safe{display:block;text-align:center;color:#777;margin-top:10px}.product-description{background:white;margin-top:25px;border-radius:8px;padding:40px 50px}.product-description h2{font:700 24px Manrope;border-bottom:1px solid #eee;padding-bottom:15px}.product-description p,.product-description li{color:#555;line-height:1.8}.guarantees{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:35px}.guarantees article{border:1px solid #eee;border-radius:12px;padding:22px 20px;background:#fafafa;transition:.2s}.guarantees article:hover{border-color:#f0c3ca;background:#fff;box-shadow:0 8px 20px #0000000f;transform:translateY(-2px)}.guarantee-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#fdeaec;margin-bottom:12px;color:#c8102e}.guarantee-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.guarantee-icon-whatsapp{background:#e3f6ea;color:#25d366}.guarantee-icon-whatsapp svg{fill:currentColor;stroke:none;width:22px;height:22px}.guarantees b{display:block;font:700 15px Manrope;color:#262a35;margin-bottom:4px}.guarantees p{font-size:13px;margin-bottom:0;color:#777}.related{padding:55px 0 0}.related-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.related-card{background:#fff;border:1px solid #e1e1e1;border-radius:7px;padding:15px;text-decoration:none;color:#262a35}.related-card img{width:100%;height:190px;object-fit:contain}.related-card h3{font-size:14px;min-height:38px}.related-card b{font-size:18px}
@media(max-width:850px){.product-main{grid-template-columns:1fr}.main-photo{height:440px}.related-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:540px){.product-page{padding:0 10px 45px}.product-main{padding:14px;gap:15px}.gallery{grid-template-columns:1fr}.thumbs{display:flex;order:2}.thumbs button{width:62px;height:62px}.main-photo{height:360px}.buy-info h1{font-size:22px}.detail-price{font-size:32px}.product-description{padding:25px 20px}.guarantees{grid-template-columns:1fr}.related-grid{display:flex;overflow:auto}.related-card{min-width:75vw}}

.add-cart {
  width: 100%;
  margin-bottom: 10px;
  padding: 16px;
  border: 2px solid #7660ce;
  border-radius: 7px;
  background: white;
  color: #6752bd;
  font-weight: 800;
  cursor: pointer;
  transition: .2s;
}

.add-cart:hover { background: #f2efff; }

/* ---- Estrelas de avaliação (resumo no topo do produto) ---- */
.stars-row-detail { display: none; align-items: center; gap: 3px; margin: 6px 0 10px; color: inherit; }
.stars-row-detail:not([hidden]) { display: flex; }
.stars-row-detail svg { width: 16px; height: 16px; fill: #dcdde2; }
.stars-row-detail svg.filled { fill: #e0a940; }
.stars-row-detail .review-count { font-size: 12px; color: #858b9b; margin-left: 4px; }

/* ---- Avisos de estoque ---- */
.stock-banner { display: flex; align-items: center; justify-content: space-between; gap: 10px; background: linear-gradient(90deg,#8a6a1f,#b08f3f); color: #fff; border-radius: 8px; padding: 12px 16px; font-size: 13px; font-weight: 700; margin: 14px 0; }
.stock-banner[hidden] { display: none; }
.stock-banner.out { background: #8e0c21; }

/* ---- Preço promocional (De/Por + desconto) ---- */
.price-line { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.discount-badge-detail { display: none; background: #fde3e5; color: #b63e49; font: 800 13px Manrope; padding: 5px 10px; border-radius: 6px; }
.discount-badge-detail:not([hidden]) { display: inline-block; }
.installments-detail { color: #8e0c21; font-size: 13px; font-weight: 700; margin: 4px 0 0; }
.installments-detail[hidden] { display: none; }

/* ---- Esgotado / avise-me quando chegar ---- */
.out-of-stock-box { display: none; }
.out-of-stock-box:not([hidden]) { display: block; }
.out-of-stock-label { color: #8e0c21; font-weight: 700; margin: 0 0 12px; }
.notify-btn { width: 100%; padding: 16px; border: 0; border-radius: 7px; background: #16181d; color: #fff; font-weight: 800; cursor: pointer; }
.notify-btn:hover { background: #000; }
.notify-form { display: none; gap: 8px; margin-top: 10px; }
.notify-form:not([hidden]) { display: flex; }
.notify-form input { flex: 1; padding: 13px; border: 1px solid #dfe1e6; border-radius: 7px; font-size: 13px; }
.notify-form button { border: 0; background: #c8102e; color: #fff; border-radius: 7px; padding: 0 18px; font-weight: 700; cursor: pointer; }
.notify-success { display: none; color: #1c9a5b; font-size: 13px; font-weight: 700; text-align: center; margin-top: 10px; }
.notify-success:not([hidden]) { display: block; }

/* ---- Seção de avaliações ---- */
.reviews-section { background: white; margin-top: 25px; border-radius: 8px; padding: 40px 50px; }
.reviews-summary { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; }
.reviews-summary .big-average { font: 800 34px Manrope; color: #262a35; }
.reviews-summary .stars-row-detail { margin: 0; }
.reviews-summary .review-count { font-size: 13px; color: #858b9b; }
.reviews-form-box { border: 1px solid #eee; border-radius: 10px; padding: 20px 22px; margin-bottom: 26px; background: #fafafa; }
.reviews-login-hint { margin: 0; font-size: 13px; color: #777; }
.reviews-login-hint a { color: #c8102e; font-weight: 700; }
#review-form { display: grid; gap: 10px; }
#review-form[hidden] { display: none; }
.star-picker { display: flex; gap: 4px; }
.star-picker button { border: 0; background: none; font-size: 26px; color: #dcdde2; cursor: pointer; padding: 0; line-height: 1; }
.star-picker button.active { color: #e0a940; }
#review-comment { width: 100%; min-height: 80px; padding: 12px; border: 1px solid #dfe1e6; border-radius: 7px; font-family: inherit; font-size: 13px; resize: vertical; }
.review-submit { justify-self: start; border: 0; background: #c8102e; color: #fff; border-radius: 7px; padding: 11px 20px; font-weight: 700; cursor: pointer; }
.review-submit:hover { background: #8e0c21; }
.review-feedback { margin: 0; font-size: 13px; font-weight: 700; }
.review-feedback.ok { color: #1c9a5b; }
.review-feedback.err { color: #b63e49; }
.reviews-list { display: grid; gap: 18px; }
.review-item { border-bottom: 1px solid #eee; padding-bottom: 18px; }
.review-item:last-child { border: 0; padding-bottom: 0; }
.review-item .stars-row-detail { margin: 0 0 6px; }
.review-item .review-author { font-weight: 700; font-size: 13px; margin-right: 8px; }
.review-item .review-date { color: #9a9ea8; font-size: 12px; }
.review-item p { margin: 6px 0 0; color: #555; font-size: 13px; line-height: 1.6; }
