/* Original finish samples, sharing the shop's existing ink and warm neutral palette. */
.tg2-finish-select-bridge { display: none !important; }
.tg2-finish-visuals { margin: .65rem 0 1.2rem; color: inherit; }
.tg2-finish-selected { display: flex; flex-wrap: wrap; align-items: baseline; gap: .25rem .7rem; margin: 0 0 .85rem; font-size: .87rem; line-height: 1.4; }
.tg2-finish-selected strong { font-weight: 500; }
.tg2-finish-selected > span { color: #6f675d; font-size: .76rem; }
.tg2-finish-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(76px, 1fr)); gap: .75rem .4rem; max-width: 510px; }
.tg2-finish-swatch { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; gap: .28rem; min-width: 0; margin: 0; padding: .3rem .2rem; border: 0; border-radius: 0; background: transparent; color: inherit; cursor: pointer; font: inherit; text-align: center; }
.tg2-finish-chip { position: relative; display: block; width: 56px; height: 56px; padding: 3px; border: 1px solid #b9b0a5; border-radius: 0; box-sizing: border-box; transition: border-color .15s ease, box-shadow .15s ease; }
.tg2-finish-chip img { display: block; width: 100%; height: 100%; object-fit: cover; border: 0; border-radius: 0; }
.tg2-finish-chip.is-product-reference img { object-fit: contain; }
.tg2-finish-chip.has-parts { display: grid; grid-template-columns: repeat(var(--finish-parts), minmax(0, 1fr)); gap: 0; }
.giessegi-swatch.is-selected > .tg2-finish-chip .tg2-finish-check { display: block; }
.tg2-finish-digital { display: block; width: 100%; height: 100%; }
.tg2-finish-digital-label { max-width: 76px; }
.tg2-finish-swatch.is-fixed { cursor: default; }
.tg2-finish-visuals.is-fixed-finish .tg2-finish-grid { grid-template-columns: 92px; }
.tg2-finish-swatch:hover .tg2-finish-chip { border-color: #292622; }
.tg2-finish-swatch.is-selected .tg2-finish-chip { border: 2px solid #292622; padding: 2px; box-shadow: 0 0 0 1px #292622; }
.tg2-finish-check { position: absolute; right: -3px; bottom: -3px; display: none; width: 16px; height: 16px; background: #292622; color: #f3eee6; font: 11px/16px Arial, sans-serif; text-align: center; }
.tg2-finish-swatch.is-selected .tg2-finish-check { display: block; }
.tg2-finish-swatch:focus-visible { outline: 2px solid #292622; outline-offset: 3px; }
.tg2-finish-name { display: block; max-width: 100%; font-size: .72rem; line-height: 1.25; overflow-wrap: anywhere; }
.tg2-finish-swatch small { color: #6f675d; font-size: .67rem; line-height: 1.2; }
.tg2-finish-note { margin: .8rem 0 0; max-width: 42ch; color: #6f675d; font-size: .72rem; line-height: 1.5; }
.tg2-finish-fixed-reference { margin: 1.3rem 0; padding: 1rem 0; border-top: 1px solid #b9b0a5; }
.tg2-finish-fixed-reference h3 { margin: 0 0 .8rem; font-size: .9rem; font-weight: 500; }
.tg2-finish-reference-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 1rem; }
.tg2-finish-reference { margin: 0; display: flex; align-items: flex-start; gap: .7rem; }
.tg2-finish-reference > button { display: block; flex: 0 0 60px; width: 60px; height: 60px; padding: 0; border: 1px solid #b9b0a5; background: transparent; cursor: zoom-in; }
.tg2-finish-reference.is-product-reference > button { flex-basis: 130px; width: 130px; height: 110px; border: 0; }
.tg2-finish-reference img { width: 100%; height: 100%; object-fit: contain; }
.tg2-finish-reference figcaption { display: flex; flex-direction: column; gap: .22rem; padding-top: .1rem; }
.tg2-finish-reference strong { font-size: .78rem; font-weight: 500; }
.tg2-finish-reference figcaption > span, .tg2-finish-reference small { color: #6f675d; font-size: .7rem; line-height: 1.4; }
.tg2-finish-fixed-digital { width: 56px; height: 56px; flex: 0 0 56px; border: 1px solid #b9b0a5; }
@media (max-width: 440px) {
  .tg2-finish-grid { grid-template-columns: repeat(auto-fill, minmax(68px, 1fr)); gap: .65rem .2rem; }
  .tg2-finish-chip { width: 52px; height: 52px; }
}
@media (prefers-reduced-motion: reduce) {
  .tg2-finish-chip { transition: none; }
}
