.product-body .product-sku {
  display: inline-block;
  min-height: 0;
  margin: 0 0 12px;
  padding: 5px 9px;
  border-radius: 3px;
  background: var(--palegold);
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .35px;
}

/* Keep the image clear of the category label on every product card. */
.product-image { padding-top: 52px; }
.product-image img { position: relative; z-index: 0; }
.product-tag { z-index: 1; }
.product-image.is-zoomable { cursor: zoom-in; }
.product-image.is-zoomable img { transition: transform .2s ease; }
.product-image.is-zoomable:hover img { transform: scale(1.035); }
.san-image-dialog { width: min(900px, calc(100% - 40px)); max-width: none; max-height: calc(100vh - 40px); padding: 28px; border: 0; border-radius: 8px; background: #fff; box-shadow: 0 20px 60px #0008; }
.san-image-dialog::backdrop { background: #10241dcc; backdrop-filter: blur(3px); }
.san-image-dialog img { width: 100%; max-height: calc(100vh - 96px); object-fit: contain; }
.san-image-close { position: absolute; top: 8px; right: 12px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: #fff; color: var(--ink); font-size: 30px; line-height: 1; }
@media (prefers-reduced-motion: reduce) { .product-image.is-zoomable img { transition: none; } }

.product-details summary { list-style: none; cursor: pointer; }
.product-details summary::-webkit-details-marker { display: none; }
.product-details[open] .detail-button span { transform: rotate(45deg); }
.product-details .detail-button span { transition: transform .2s; }
.product-longtext { padding-top: 18px; color: var(--muted); }
.product-longtext p { min-height: 0; }
.product-longtext .button { margin-top: 8px; }

.product-variants { margin: 0 0 22px; overflow-x: auto; }
.product-variants h4 { margin: 0 0 10px; font-size: 16px; color: var(--ink); }
.product-variants table { width: 100%; border-collapse: collapse; font-size: 13px; background: #fff; }
.product-variants th, .product-variants td { padding: 10px; text-align: left; border: 1px solid var(--line); vertical-align: top; }
.product-variants th { background: var(--paper); color: var(--ink); font-weight: 700; }
.product-variants td:first-child { width: 145px; white-space: nowrap; font-weight: 700; color: var(--green); }

.product-search { margin: 0 0 26px; }
.product-search label { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 700; }
.product-search input { width: 100%; padding: 14px 17px; border: 1px solid var(--green); border-radius: 5px; font: inherit; }
.product-result-count { margin: 8px 0 0; min-height: 22px; color: var(--muted); font-size: 13px; }
.product-browser-body { display: grid; grid-template-columns: 205px minmax(0, 1fr); gap: 30px; align-items: start; }
.product-browser-body .product-grid { margin: 0; align-content: start; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.product-categories { position: sticky; top: 125px; align-self: start; margin: 0; padding: 19px; background: var(--paper); border: 1px solid var(--line); border-radius: 6px; }
.product-categories h2 { margin: 0 0 10px; font-size: 18px; }
.product-categories button { display: block; width: 100%; padding: 8px 10px; border: 0; border-radius: 4px; background: transparent; color: var(--ink); text-align: left; font: inherit; font-size: 13px; font-weight: 650; }
.product-categories button:hover, .product-categories button.is-active { background: var(--green); color: #102c27; }
@media (max-width: 1000px) { .product-browser-body { grid-template-columns: 1fr; } .product-browser-body .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .product-categories { position: static; display: flex; flex-wrap: wrap; gap: 6px; } .product-categories h2 { width: 100%; } .product-categories button { width: auto; } }
@media (max-width: 600px) { .product-browser-body .product-grid { grid-template-columns: 1fr; } }

.product-browser-main { min-width: 0; }
.brand-new-products { margin: 0 0 30px; padding: 26px; border: 1px solid var(--line); border-top: 3px solid var(--gold); border-radius: 7px; background: linear-gradient(110deg, var(--paper), #fff); }
.brand-new-heading { display: flex; justify-content: space-between; align-items: end; margin-bottom: 24px; }
.brand-new-heading .eyebrow { margin: 0 0 7px; }
.brand-new-heading h2 { margin: 0; font-size: 30px; }
.brand-new-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.brand-new-card { position: relative; border-color: var(--gold); box-shadow: 0 12px 30px #2027250d; }
.brand-new-card::before { content: 'BRANDNEU'; position: absolute; z-index: 2; top: 17px; right: 17px; padding: 5px 9px; border-radius: 3px; background: var(--green); color: #102c27; font-size: 11px; font-weight: 800; letter-spacing: .8px; animation: san-new-pulse 2.4s ease-in-out infinite; }
.brand-new-card .product-image { height: 220px; background: linear-gradient(135deg, #fff, var(--paper)); }
 .brand-new-card .product-body { padding: 18px; }
 .brand-new-card .product-body h3 { min-height: 0; font-size: 18px; }
 .brand-new-card .product-body > p { min-height: 0; }
@keyframes san-new-pulse { 50% { transform: translateY(-3px); box-shadow: 0 6px 14px #2f9f9040; } }
@media (max-width: 850px) { .brand-new-products { padding: 22px; } .brand-new-grid { grid-template-columns: 1fr 1fr; } .brand-new-heading { display: block; } }
@media (max-width: 520px) { .brand-new-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .brand-new-card::before { animation: none; } }
