/* Detalle de producto */
.product { display: grid; gap: var(--sp-6); grid-template-columns: minmax(0, 1fr); align-items: start; margin-bottom: var(--sp-8); }
@media (min-width: 1024px) { .product { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: var(--sp-10); } }
.product__gallery { min-width: 0; }
@media (min-width: 1024px) { .product__gallery { position: sticky; top: calc(var(--header-h) + var(--sp-4)); } }
.product__main { position: relative; overflow: hidden; padding: 0; }
.product__main .art { border-radius: inherit; }
.product__main .art--auto img { max-height: 76vh; object-fit: contain; background: var(--c-surface-2); }
.product__main .art--ph { --ratio: 4 / 5; }
.product__badges { position: absolute; top: var(--sp-3); left: var(--sp-3); display: flex; gap: var(--sp-1); z-index: 2; }
.product__thumbs { display: flex; gap: var(--sp-2); margin-top: var(--sp-3); overflow-x: auto; }
.product__thumb { width: 72px; flex: 0 0 auto; border-radius: var(--r-sm); overflow: hidden; border: 2px solid transparent; }
.product__thumb.is-active { border-color: var(--c-ink); }

.product__info { display: flex; flex-direction: column; gap: var(--sp-3); min-width: 0; }
.product__info > .badge { align-self: flex-start; }
.product__title { margin: 0; font-size: var(--fs-3xl); }
.product__subtitle { margin: 0; color: var(--c-muted); font-size: var(--fs-lg); }
.product__price { display: flex; align-items: baseline; flex-wrap: wrap; gap: var(--sp-3); margin-top: var(--sp-2); }
.product__price .price { font-size: var(--fs-3xl); font-weight: var(--fw-bold); }
.product__lead { margin: 0; color: var(--c-ink-2); }
.product__actions { display: flex; gap: var(--sp-2); align-items: stretch; flex-wrap: wrap; margin-top: var(--sp-2); }
.product__actions form { min-width: 180px; }
.fav-btn--lg { width: 50px; height: 50px; border-radius: var(--r-sm); border: var(--border-strong); }
.fav-btn--lg .icon { width: 22px; height: 22px; }
.product__perks { display: grid; gap: var(--sp-2); padding: var(--sp-4); background: var(--c-surface); border: var(--border); border-radius: var(--r-md); font-size: var(--fs-sm); }
.product__perks li { display: flex; gap: var(--sp-3); align-items: flex-start; }
.product__perks .icon { color: var(--c-brand); margin-top: 2px; }
.product__pay { display: flex; align-items: center; gap: var(--sp-3); flex-wrap: wrap; }

.product__tabs { margin-top: var(--sp-4); }
.product__tabs .tabs { padding: 0 var(--sp-3); }
.reviews { display: grid; gap: var(--sp-5); }
.review { display: flex; gap: var(--sp-3); }
.review-form { max-width: 560px; }
