/* Product catalog — Explore Socially */
.product-page { color: #ede3d5; }
.wrap-main { max-width: 1100px; margin: 0 auto; padding: 2.5rem 1.5rem 4rem; }
.kicker { font-family: Cinzel, serif; font-size: 0.7rem; letter-spacing: 0.22em; text-transform: uppercase; color: #d97706; margin-bottom: 0.75rem; }
.product-catalog h1, .product-detail h1 { font-family: Cinzel, serif; font-weight: 800; color: #fff; font-size: clamp(1.8rem, 4vw, 2.6rem); line-height: 1.15; margin: 0 0 0.75rem; }
.product-catalog .deck, .product-detail .lead { color: #d4c3b0; font-size: 1.05rem; line-height: 1.65; margin-bottom: 1.25rem; }
.product-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.5rem; margin-top: 2rem; }
.product-card { background: #181109; border: 3px double rgba(217,119,6,0.4); padding: 1.1rem; display: flex; flex-direction: column; gap: 0.55rem; }
.product-card img { width: 100%; height: 190px; object-fit: cover; border: 1px solid rgba(217,119,6,0.25); background: #0d0905; }
.product-card img.art-square { object-fit: contain; object-position: center; background: #0d0905; }
.product-card .meta, .product-detail .meta { font-family: Cinzel, serif; font-size: 0.68rem; letter-spacing: 0.08em; text-transform: uppercase; color: #b8a794; }
.product-card h2 { font-family: Cinzel, serif; font-size: 1.15rem; color: #fff; margin: 0; }
.product-card h2 a { color: inherit; text-decoration: none; }
.product-card h2 a:hover { color: #fbbf24; }
.product-card .price, .product-offer .price { color: #fbbf24; font-weight: 600; }
.product-card .avail, .product-offer .avail { color: #c9b7a4; font-size: 0.9rem; }
.player-badge { display: inline-block; font-family: Cinzel, serif; font-size: 0.65rem; letter-spacing: 0.12em; text-transform: uppercase; color: #120d08; background: #d97706; padding: 0.28rem 0.55rem; width: fit-content; }
.btn-gazette { display: inline-block; font-family: Cinzel, serif; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; padding: 0.7rem 1.1rem; background: #d97706; color: #120d08; text-decoration: none; border: 1px solid #b45309; }
.btn-gazette:hover { background: #f59e0b; }
.btn-ghost-g { display: inline-block; font-family: Cinzel, serif; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; padding: 0.7rem 1.1rem; background: transparent; color: #fbbf24; text-decoration: none; border: 1px solid rgba(251,191,36,0.45); }
.btn-ghost-g:hover { border-color: #fbbf24; }
.product-hero img { width: 100%; max-height: 420px; object-fit: cover; border: 3px double rgba(217,119,6,0.4); margin: 1rem 0 1.25rem; }
.product-offer { margin: 1rem 0 1.25rem; display: grid; gap: 0.35rem; }
.brand-line { color: #b8a794; font-size: 0.85rem; }
.product-detail h2 { font-family: Cinzel, serif; color: #fff; font-size: 1.35rem; margin: 1.75rem 0 0.6rem; }
.product-detail ul { margin: 0.5rem 0 1rem 1.1rem; color: #c9b7a4; }
.panel { background: #181109; border: 3px double rgba(217,119,6,0.4); margin: 1.25rem 0; }
.panel-pad { padding: 1.4rem 1.35rem; }
.dispatch-hero { display: grid; grid-template-columns: 1fr; gap: 0; overflow: hidden; }
@media (min-width: 900px) {
  .dispatch-hero { grid-template-columns: minmax(280px, 420px) 1fr; }
}
.folio-art { margin: 0; background: #0d0905; display: flex; align-items: center; justify-content: center; min-height: 280px; }
.folio-art img { width: 100%; height: auto; max-height: 420px; object-fit: contain; }
.stamp { display: inline-block; font-family: Cinzel, serif; font-size: 0.65rem; letter-spacing: 0.16em; text-transform: uppercase; color: #fbbf24; border: 1px solid rgba(251,191,36,0.45); padding: 0.3rem 0.55rem; margin-bottom: 0.8rem; }
.review-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 0.45rem 1rem; list-style: none; margin: 1rem 0; padding: 0; }
.review-grid li { color: #c9b7a4; font-size: 0.95rem; padding-left: 0.9rem; position: relative; }
.review-grid li::before { content: "◆"; position: absolute; left: 0; color: #d97706; font-size: 0.55rem; top: 0.35rem; }
.invert-panel { background: #0d0805; border-color: rgba(217,119,6,0.55); }
.invert-panel h2 { color: #fbbf24; }
