/* ══════════════════════════════════════════════════════════════
   milmul-pdp.css — product detail page styles
   ══════════════════════════════════════════════════════════════ */

@keyframes toastIn { from { transform: translateX(20px); opacity: 0; } to { transform: translateX(0); opacity: 1; } }

/* gallery */
.gallery-main:hover .gallery-main-img { transform: scale(1.06); }
.gallery-thumb.is-active { border-color: var(--accent); }
.gallery-thumb:hover { border-color: var(--ink); }

/* variant pill */
.variant-pill.is-active { border-color: var(--ink); background: var(--ink); color: #FFFBFC; }
.variant-pill.is-active .v-sub { color: rgba(255,251,252,0.7); }
.variant-pill:hover:not(.is-active):not(.is-out) { border-color: var(--accent); color: var(--accent); }
.variant-pill.is-out { opacity: 0.4; text-decoration: line-through; cursor: not-allowed; }

/* pdp add btn */
.pdp-add-btn:hover { background: var(--accent-hover); transform: translateY(-1px); }

/* wishlist */
.wishlist-btn.is-saved { color: var(--accent); border-color: var(--accent); background: var(--accent-light); }
.wishlist-btn:hover { color: var(--accent); border-color: var(--accent); }

/* accordion */
.accordion-item.is-open .acc-plus { transform: rotate(45deg); }
.accordion-item .acc-content { display: none; }
.accordion-item.is-open .acc-content { display: block; }
.acc-trigger:hover { color: var(--accent); }

/* review filter */
.rev-filter.is-active { background: var(--ink); color: #FFFBFC; border-color: var(--ink); }
.rev-filter:hover:not(.is-active) { border-color: var(--accent); color: var(--accent); }

/* review helpful */
.rev-helpful:hover { background: var(--accent-light); color: var(--accent); }

/* pair card */
.pair-card:hover { transform: translateY(-3px); }
.pair-quickadd:hover { background: var(--ink); color: #FFFBFC; }

/* recent card */
.recent-card:hover { transform: translateY(-2px); }

/* ingredient card */
.ingredient-card:hover { transform: translateY(-4px) rotate(-0.4deg); }

/* mobile sticky bar */
.pdp-sticky-bar { display: none; transform: translateY(100%); transition: transform .25s ease; }
.pdp-sticky-bar.is-visible { transform: translateY(0); }
@media (max-width: 760px) { .pdp-sticky-bar { display: flex; } }

/* toast */
.pdp-toast { animation: toastIn .25s ease; }
