.nk-product .nk-price-box { padding: 0; border: 0; background: none; }
.nk-product .nk-buy { gap: 24px; }
.nk-product .nk-guide-link { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
.nk-height-helper { display: flex; align-items: center; justify-content: flex-start; gap: 10px; min-height: 48px; margin: 0; padding: 10px 14px; border-radius: 12px; background: var(--soft); color: var(--accent-dark); font-size: 14px; }
.nk-height-helper .icon { width: 19px; height: 19px; flex: none; }
.nk-height-helper > span { margin-inline-start: auto; }
.nk-size-inline { padding: 0 20px; border-radius: var(--r); background: var(--soft); }
.nk-size-inline > summary { min-height: 52px; padding-block: 10px; cursor: pointer; font-size: 17px; font-weight: 600; }
.nk-size-inline > .nk-size-box { margin-bottom: 16px; }
.nk-detail-sheet .nk-size-box { padding: 0; border: 0; background: none; gap: 18px; }
.nk-size-source { padding: 12px 14px; border-radius: 12px; background: var(--soft); }
.nk-detail-sheet .nk-size-table th, .nk-detail-sheet .nk-size-table td { padding: 12px 8px; }
.nk-detail-sheet .nk-size-table tr.is-selected { background: var(--soft); }
.nk-purchase-summary { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px 16px; }
.nk-purchase-summary > span { color: var(--muted); font-size: 14px; }
.nk-purchase-summary b { font-size: 17px; }
.nk-purchase-summary small, .nk-sticky-selection small { font-size: 14px; font-weight: 400; }
.nk-sticky-selection { display: grid; gap: 2px; min-width: 0; }
.nk-sticky-selection > b { font-size: 17px; }
.nk-sticky-selection > span { font-size: 14px; line-height: 1.7; color: var(--muted); overflow-wrap: anywhere; }
/* Wide screens: the price box already says the price, and the details read as open text. */
@media (min-width: 801px) {
  .nk-purchase-summary { display: none; }
  .nk-product-details { gap: 22px; margin-top: 8px; }
  .nk-buy .nk-product-details details { background: none; border-radius: 0; }
  .nk-product-details summary { min-height: 0; padding: 0 0 6px; font-size: 21px; cursor: default; pointer-events: none; }
  .nk-product-details summary span { display: none; }
  .nk-product-details details p { padding: 0 0 8px; }
  .nk-product-details details .nk-more { margin: 0; }
}
.nk-product .nk-thumbs { grid-template-columns: repeat(auto-fill, minmax(64px, 1fr)); }
@media (max-width: 800px) {
  .nk-product .nk-buy { padding-top: 24px; gap: 20px; }
  .nk-product .nk-buy-row { display: flex; flex-wrap: wrap; gap: 8px; }
  .nk-product .nk-buy-row .nk-buy-cta { flex: 1; min-width: 140px; font-size: 14px; padding-inline: 12px; }
  .nk-product .nk-buy-row > .favorite { display: none; }
  .nk-product .nk-qty { width: 108px; }
  .nk-purchase-summary { gap: 8px; }
  .product-page .sticky-purchase:not([hidden]) { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 12px; align-items: center; padding: 12px var(--gutter) calc(12px + var(--safe-bottom)); }
  .product-page .sticky-purchase .button { min-width: 0; min-height: 48px; padding: 10px 12px; font-size: 14px; line-height: 1.6; border-radius: 14px; }
  .nk-product .nk-thumbs { display: flex; flex-wrap: wrap; overflow: visible; }
  .nk-sticky-thumb, .nk-sticky-name { display: none; }
}
