/* Product-specific additions: retain the site's type scale and layout. */
.pro-contain .gp-product-main { float: none; width: 100%; }
.gp-product-gallery .gp-gallery-main { display: block; aspect-ratio: 1; overflow: hidden; border-radius: 6px; background: var(--gp-bg, #FAF7F2); border: 1px solid rgba(0,0,0,.08); }
.gp-product-gallery .gp-gallery-main img { display: block; width: 100%; height: 100%; object-fit: contain; }
.gp-gallery-thumbs { display: flex; gap: 10px; margin-top: 14px; padding: 3px 3px 10px; overflow-x: auto; scrollbar-width: thin; }
.gp-gallery-thumb { display: block; flex: 0 0 80px; width: 80px; height: 80px; border: 1px solid rgba(0,0,0,.15); background: var(--gp-bg, #FAF7F2); }
.gp-gallery-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.gp-gallery-thumb.is-active { outline: 2px solid var(--gp-primary, #BA8D69); outline-offset: 1px; }
.gp-gallery-empty { display: grid; place-items: center; aspect-ratio: 1; padding: 24px; background: var(--gp-bg, #FAF7F2); color: var(--gp-ink, #333); text-align: center; font-size: 16px; }
.gp-product-summary { margin: 20px 0 24px; font-size: 16px; line-height: 1.85; color: var(--gp-ink, #333); overflow-wrap: anywhere; }
.inno a.gp-buy-now { background: var(--gp-button, #C6C6C6); color: var(--gp-on-button, #000); border: 1px solid var(--gp-button, #C6C6C6); }
.inno a.gp-buy-now:hover { background: var(--gp-primary, #BA8D69); border-color: var(--gp-primary, #BA8D69); color: var(--gp-on-primary, #000); }
.gp-product-details { clear: both; padding-top: 40px; }
.gp-product-tabs { display: flex; gap: 8px 36px; border-bottom: 1px solid rgba(0,0,0,.15); margin-bottom: 32px; background: var(--gp-bg, #FAF7F2); padding: 0 16px; overflow-x: auto; }
.gp-product-tabs a { flex: 0 0 auto; display: block; min-height: 48px; padding: 12px 8px; box-sizing: border-box; font-size: 18px; line-height: 26px; color: var(--gp-ink, #30332e); border-bottom: 3px solid transparent; text-decoration: none; }
.gp-product-tabs a:hover, .gp-product-tabs a[aria-selected="true"] { border-bottom-color: var(--gp-primary, #BA8D69); font-weight: 600; }
.gp-product-panel { margin-bottom: 36px; scroll-margin-top: 170px; }
.gp-product-panel[hidden] { display: none; }
.gp-product-panel .prodetails-title { margin: 0 0 18px; font-size: 24px; line-height: 1.4; }
.gp-richtext { overflow-x: auto; overflow-wrap: anywhere; }
.gp-richtext img, .gp-richtext video, .gp-richtext iframe { max-width: 100%; height: auto; }
.gp-richtext table { max-width: 100%; width: 100%; border-collapse: collapse; }
.gp-richtext table td, .gp-richtext table th { padding: 10px 14px; border: 1px solid rgba(0,0,0,.15); vertical-align: top; }
.gp-richtext table th { background: var(--gp-bg, #FAF7F2); color: var(--gp-ink, #30332e); text-align: start; }
.gp-product-image-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px; }
.gp-product-image-list a { display: block; }
.gp-product-image-list img { display: block; width: 100%; height: auto; }
.gp-content-empty { padding: 22px 0; color: var(--gp-ink, #555); font-size: 16px; line-height: 1.8; }
.gp-gallery-thumb:focus-visible, .gp-gallery-main:focus-visible, .gp-product-tabs a:focus-visible, .gp-product-panel:focus-visible { outline: 2px solid var(--gp-primary, #BA8D69); outline-offset: 3px; }
@media (max-width: 767px) {
    .gp-product-details { padding-top: 24px; }
    .gp-gallery-thumbs { gap: 8px; margin-top: 10px; }
    .gp-gallery-thumb { flex-basis: 64px; width: 64px; height: 64px; }
    .gp-product-summary { margin: 12px 0 20px; font-size: 15px; }
    .gp-product-tabs { gap: 8px 12px; margin-bottom: 24px; padding: 0 8px; }
    .gp-product-tabs a { font-size: 16px; padding: 11px 10px; }
    .gp-product-panel { scroll-margin-top: 130px; }
    .gp-product-panel .prodetails-title { font-size: 21px; margin-bottom: 14px; }
    .gp-richtext table td, .gp-richtext table th { padding: 8px; }
    .gp-product-image-list { grid-template-columns: 1fr; gap: 16px; }
}
