/* ==========================================================================
   TGK v2: shop.php
   main.js owns: #products-grid .product-card[data-*] .prod-img .prod-name
   .prod-price-current .prod-category .prod-description .prod-quick-view
   .btn-cart[data-id] .btn-select-options .cat-filter-btn[data-cat]
   #desktop-search #mobile-search-input #sidebar-* #mobile-sort-select.
   ========================================================================== */

.tgk-shop #shop-breadcrumb, .tgk-shop #shop-eyebrow, .tgk-shop #shop-headline, .tgk-shop #shop-subtext { animation: none; }
.tgk-shop #shop-headline span:not(.tgk-accent) { color: var(--tgk-color-text); }

/* Product cards (legacy markup, v2 look) */
.tgk-shop .product-card { background: var(--tgk-color-ink-2); border: 1px solid var(--tgk-color-line); border-radius: var(--tgk-radius-lg); display: flex; flex-direction: column; }
.tgk-shop .product-card:hover { transform: translateY(-4px); border-color: rgba(255, 103, 0, 0.35); box-shadow: var(--tgk-shadow-lg); }
.tgk-shop .product-card .prod-img-wrap { background: radial-gradient(circle at 50% 40%, #1c2a38, #0f1923 70%); }
.tgk-shop .product-card > .p-4 { display: flex; flex-direction: column; flex: 1; padding: 1rem 1rem 1.1rem !important; }
.tgk-shop .product-card .prod-category { font: 500 0.625rem/1.3 var(--tgk-font-mono) !important; letter-spacing: 0.16em !important; text-transform: uppercase; color: var(--tgk-accent-text) !important; margin-bottom: 0.4rem; gap: 0.5rem; }
.tgk-shop .product-card .prod-category .text-accent\/80 { font: 500 0.5625rem/1.2 var(--tgk-font-mono) !important; letter-spacing: 0.12em; color: var(--tgk-color-text-subtle) !important; }
.tgk-shop .product-card .prod-category { flex-wrap: wrap; row-gap: 0.2rem; } /* 320px: tag drops under the category instead of overflowing the card */
.tgk-shop .prod-name { font-family: var(--tgk-font-body) !important; font-weight: 600; font-size: 0.9375rem; text-transform: none; letter-spacing: 0; line-height: 1.35; color: var(--tgk-color-text); }
.tgk-shop .prod-price-current { font-family: var(--tgk-font-display) !important; font-weight: 700; font-size: 1.5rem; color: var(--tgk-color-text); line-height: 1; }
.tgk-shop .product-card .prod-stock-in, .tgk-shop .product-card .prod-stock-low { font-size: 0.75rem; }
.tgk-shop .product-card .prod-stock-in { color: var(--tgk-color-success) !important; }
.tgk-shop .product-card .btn-cart {
  margin-top: auto; display: inline-flex !important; align-items: center; justify-content: center; gap: 0.5rem; width: 100%; min-height: 44px;
  padding: 0 0.75rem !important; border-radius: var(--tgk-radius-sm) !important; background: rgba(var(--tgk-fg-rgb), 0.06) !important;
  border: 1px solid var(--tgk-color-line-strong) !important; color: var(--tgk-color-text) !important;
  font: 600 0.6875rem/1 var(--tgk-font-body) !important; letter-spacing: 0.14em !important; text-transform: uppercase; text-decoration: none !important;
  transition: background-color var(--tgk-dur-base), border-color var(--tgk-dur-base), color var(--tgk-dur-base);
}
.tgk-shop .product-card .btn-cart:hover { background: var(--tgk-color-orange) !important; border-color: var(--tgk-color-orange) !important; color: var(--tgk-color-text-ink) !important; }
.tgk-shop .prod-quick-view { min-height: 44px; display: flex; align-items: center; justify-content: center; background: rgba(var(--tgk-ink-rgb), 0.85); color: rgb(var(--tgk-fg-rgb)); font: 600 0.6875rem/1 var(--tgk-font-body); letter-spacing: 0.14em; }
.tgk-shop .prod-quick-view:hover { background: var(--tgk-color-orange); color: var(--tgk-color-text-ink); }
.tgk-shop .prod-quick-view:focus-visible { transform: translateY(0); }
@media (hover: none) { .tgk-shop .prod-quick-view { transform: none; } .tgk-shop .prod-wishlist, .tgk-shop .prod-compare { opacity: 1; pointer-events: auto; transform: none; } }
.tgk-shop .prod-wishlist, .tgk-shop .prod-compare { border-radius: var(--tgk-radius-sm); }
@media (max-width: 480px) {
  .tgk-shop #products-grid { gap: 0.75rem; }
  .tgk-shop .product-card > .p-4 { padding: 0.85rem 0.75rem 0.9rem !important; }
  .tgk-shop .product-card .btn-cart { font-size: 0.625rem !important; letter-spacing: 0.08em !important; padding: 0 0.4rem !important; }
}

/* Sidebar + toolbar */
.tgk-shop #desktop-filter-sidebar > div { background: var(--tgk-color-ink-2) !important; border: 1px solid var(--tgk-color-line) !important; border-radius: var(--tgk-radius-lg) !important; top: calc(var(--tgk-header-h) + 1rem) !important; }
.tgk-shop #desktop-filter-sidebar h3 { font-size: 1.25rem !important; letter-spacing: 0.04em !important; }
.tgk-shop #desktop-filter-sidebar label { font: 500 0.6875rem/1.2 var(--tgk-font-mono) !important; letter-spacing: 0.14em !important; color: var(--tgk-color-text-muted) !important; }
.tgk-shop .toolbar-search { padding-left: 2.25rem !important; }
.tgk-shop .cat-filter-btn { min-height: 44px; border-radius: var(--tgk-radius-sm); font: 600 0.6875rem/1.2 var(--tgk-font-body) !important; letter-spacing: 0.12em; text-transform: uppercase; }
.tgk-shop .cat-filter-btn.active, .tgk-shop .cat-filter-btn:hover { background: var(--tgk-color-orange-soft); border-color: var(--tgk-color-orange-line); color: var(--tgk-accent-text); }
.tgk-shop .shop-toolbar { background: var(--tgk-color-ink-2) !important; border-color: var(--tgk-color-line) !important; border-radius: var(--tgk-radius-md) !important; }
.tgk-shop .shop-toolbar .toolbar-select { min-width: 0; max-width: 110px; }
.tgk-shop .shop-toolbar .flex { flex-wrap: nowrap; }
@media (max-width: 374px) { .tgk-shop .shop-toolbar .flex { flex-wrap: wrap; } }
/* 44px touch targets for the image-corner actions */
.tgk-shop .prod-wishlist, .tgk-shop .prod-compare { width: 44px; height: 44px; top: 10px; }
.tgk-shop .prod-wishlist { right: 10px; }
.tgk-shop .prod-compare { top: 60px; bottom: auto; right: 10px; }

/* Mobile hardening (2-up grid at 320-430px) */
.tgk-shop .product-card .flex:has(> .prod-price-current) { flex-wrap: wrap; row-gap: 0.3rem; }
.tgk-shop .product-card .flex:has(> .prod-price-current) > span:not(.prod-price-current) { white-space: nowrap; }
@media (max-width: 480px) {
  .tgk-shop .product-card .btn-cart { white-space: nowrap; gap: 0.35rem; }
  .tgk-shop .product-card .prod-stock-in, .tgk-shop .product-card .prod-stock-low { letter-spacing: 0.06em; }
  /* Toolbar: search gets its own row, Filters + Sort share the second */
  .tgk-shop .shop-toolbar .flex { flex-wrap: wrap; }
  .tgk-shop .shop-toolbar .flex > .relative { flex: 1 1 100%; }
  .tgk-shop .shop-toolbar .toolbar-select { flex: 1 1 0; max-width: none; min-height: 44px; }
  .tgk-shop .toolbar-search { min-height: 44px; font-size: 16px !important; }
}
@media (max-width: 360px) { .tgk-shop .product-card .btn-cart { letter-spacing: 0.04em !important; } }

/* Light mode (everything above follows the design tokens; these give light values to the few colors made for a dark page) */
html[data-theme="light"] .tgk-shop .product-card .prod-img-wrap { background: radial-gradient(circle at 50% 40%, #FFFFFF, var(--tgk-color-ink-3) 70%); }
html[data-theme="light"] .tgk-shop .product-card:hover { box-shadow: 0 24px 50px -30px rgba(17, 22, 28, 0.35); }
html[data-theme="light"] .tgk-shop .product-card .prod-stock-low { color: #8A5A00; }
html[data-theme="light"] .tgk-shop .shop-toolbar.shadowed { box-shadow: 0 6px 20px -12px rgba(17, 22, 28, 0.3); }
html[data-theme="light"] .tgk-shop .cat-filter-btn:not(.active):not(:hover) { color: var(--tgk-color-text-muted); }
