.product-card-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; align-items: stretch; }
.product-card-actions > :first-child, .product-card-actions > .btn:first-child { grid-column: 1 / -1; }
.product-card-actions form { margin: 0; }
.product-card-actions .btn { min-height: 44px; padding-inline: .65rem; }
.product-card-actions .save-form { grid-column: 1 / -1; }
.wishlist-btn { width: 100%; min-height: 42px; border: 1px solid #cad5dd; border-radius: 10px; background: #fff; display: flex; align-items: center; justify-content: center; gap: .4rem; }
.wishlist-btn svg { width: 18px; height: 18px; }
.rating-line { color: #8a5a00; display: inline-flex; gap: .3rem; align-items: center; font-weight: 700; margin-block: .25rem; }
.rating-line small { color: #5d6b75; font-weight: 500; }
.reviews-panel { margin-top: 2rem; scroll-margin-top: 7rem; }
.review-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.review-card, .external-rating-note, .location-assist { border: 1px solid #dce4e9; background: #fff; border-radius: 14px; padding: 1rem; }
.review-card img { width: min(220px, 100%); max-height: 220px; object-fit: cover; border-radius: 10px; }
.external-rating-note { margin-bottom: 1rem; border-left: 4px solid #c79632; }
.location-assist { margin: 1rem 0; }
.location-assist p { margin: .6rem 0 0; }
.confirmation .order-summary, .confirmation .card { width: min(760px, 100%); margin: 1rem auto; text-align: left; }
.category-card-content strong { display: block; color: #0a5c49; margin-bottom: .35rem; }
.narrow { max-width: 760px; }
@media (max-width: 780px) {
  .review-list { grid-template-columns: 1fr; }
  .purchase-actions { display: grid; grid-template-columns: 1fr; }
}
@media (max-width: 480px) {
  .product-card-actions { grid-template-columns: 1fr; }
  .product-card-actions > :first-child, .product-card-actions > .btn:first-child, .product-card-actions .save-form { grid-column: auto; }
  .product-card-actions .btn, .wishlist-btn { min-height: 48px; }
  .checkout-layout, .product-detail { min-width: 0; }
  input, select, textarea { max-width: 100%; }
}

/* Media/gallery and merchandising upgrades */
.product-media { isolation:isolate; }
.product-card-slide { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.012); transition:opacity .7s ease, transform 4.2s ease; }
.product-card-slide.active { opacity:1; transform:scale(1); }
.product-media > .product-card-slide:only-of-type { position:relative; }
.product-card-video { width:100%; height:100%; object-fit:cover; display:block; }
.media-kind-badge { position:absolute; z-index:3; right:12px; bottom:12px; padding:.35rem .55rem; border-radius:999px; background:rgba(6,24,39,.82); color:#fff; font-size:.72rem; font-weight:800; backdrop-filter:blur(8px); }
.badge-discount { position:absolute; z-index:5; top:12px; left:12px; background:#c9252d; color:#fff; border-radius:999px; padding:.42rem .68rem; font-size:.74rem; font-weight:900; letter-spacing:.02em; box-shadow:0 7px 18px rgba(130,15,25,.22); }
.product-media .badge-new { right:12px; left:auto; }
.detail-discount { top:16px; left:16px; }
.gallery-main img, .gallery-main video { width:100%; aspect-ratio:1.05/1; object-fit:contain; background:#fff; }
.gallery-zoom { position:absolute; right:14px; bottom:14px; z-index:4; width:42px; height:42px; border:1px solid rgba(255,255,255,.65); border-radius:50%; background:rgba(6,24,39,.8); color:#fff; font-size:1.25rem; cursor:pointer; }
.gallery-main.showing-video .gallery-zoom { display:none; }
.gallery-thumbs { flex-wrap:wrap; }
.gallery-video-thumb { display:grid; place-items:center; align-content:center; gap:2px; color:#fff; background:#09273b; }
.gallery-video-thumb span { font-size:1.3rem; }
.gallery-video-thumb small { font-size:.66rem; }
.gallery-lightbox { width:min(94vw,1100px); max-height:94vh; padding:0; border:0; border-radius:16px; background:#071822; box-shadow:0 30px 80px rgba(0,0,0,.42); }
.gallery-lightbox::backdrop { background:rgba(3,12,18,.82); backdrop-filter:blur(4px); }
.gallery-lightbox img { display:block; width:100%; max-height:90vh; object-fit:contain; background:#071822; }
.gallery-lightbox-close { position:absolute; z-index:2; top:10px; right:10px; width:42px; height:42px; border:0; border-radius:50%; background:rgba(0,0,0,.65); color:#fff; font-size:1.5rem; cursor:pointer; }

.category-fit-contain img { object-fit:contain; background:#f8f4ec; }
.category-style-clean { background:#fff; border:1px solid var(--border-light); }
.category-style-clean::after { background:linear-gradient(0deg,rgba(6,24,39,.84),rgba(6,24,39,.03)); }
.category-style-compact { min-height:320px; }
.category-style-compact .category-card-content { right:20px; bottom:18px; left:20px; }

.dashboard-media-preview { display:grid; grid-template-columns:repeat(auto-fill,minmax(170px,1fr)); gap:12px; margin-top:14px; }
.dashboard-media-item { border:1px solid #d8e0e3; border-radius:12px; padding:10px; background:#fff; }
.dashboard-media-item img { width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:9px; background:#f4f4f2; }
.dashboard-media-item .media-controls { display:grid; gap:7px; margin-top:8px; font-size:.78rem; }

@media (prefers-reduced-motion: reduce) {
  .product-card-slide { transition:none; }
  .product-card-slide:not(.active) { display:none; }
}
