.gpr-products,
.gpr-products * { box-sizing: border-box; }
/* WP's [style*="border-width"]/[style*="border-color"] rules also match CSS custom
   properties. The widget root is intentionally borderless; child borders are explicit. */
.gpr-products { width: 100%; max-width: var(--gpr-max-width); min-width: 0; margin-inline: auto; padding: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; color: var(--gpr-text-color); font-family: inherit; line-height: 1.5; }
.gpr-products .gpr-controls { display: none; }
.gpr-products.gpr-enhanced.gpr-has-filters { display: grid; grid-template-columns: minmax(0, var(--gpr-filter-width)) minmax(0, 1fr); gap: var(--gpr-layout-gap); align-items: start; }
.gpr-products.gpr-enhanced .gpr-sidebar { display: block; }
.gpr-products [hidden] { display: none !important; }
.gpr-products .gpr-main { min-width: 0; }
.gpr-products .gpr-sidebar { background: var(--gpr-filter-background); color: var(--gpr-filter-color); border: var(--gpr-filter-border-width) solid var(--gpr-filter-border-color); border-radius: var(--gpr-filter-radius); padding: var(--gpr-filter-padding); font-size: var(--gpr-filter-font-size); min-width: 0; }
.gpr-products .gpr-filter-heading { display: flex; gap: 12px; align-items: baseline; justify-content: space-between; padding: 0 0 16px; border-bottom: 1px solid var(--gpr-filter-separator-color); }
.gpr-products button.gpr-reset { padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--gpr-filter-clear-color,var(--gpr-filter-color)); font: inherit; text-decoration: underline; cursor: pointer; box-shadow: none; }
.gpr-products button.gpr-reset:hover,
.gpr-products button.gpr-reset:focus,
.gpr-products button.gpr-reset:active { border:0;background:var(--gpr-filter-clear-hover-background,#f5f5f5);color:var(--gpr-filter-clear-hover-color,var(--gpr-accent-color));box-shadow:none; }
.gpr-products .gpr-filter-group { margin: 0; padding: 0; border: 0; background: transparent; color: inherit; }
.gpr-products .gpr-filter-group > summary { display: flex; align-items: center; justify-content: space-between; list-style: none; padding: 18px 0; border-bottom: 1px solid var(--gpr-filter-separator-color); cursor: pointer; font-weight: 500; }
.gpr-products .gpr-filter-group > summary::-webkit-details-marker { display: none; }
.gpr-products .gpr-filter-group > summary::after { content: ''; width: 7px; height: 7px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); margin: 0 5px 4px 12px; flex-shrink: 0; }
.gpr-products .gpr-filter-group[open] > summary::after { transform: rotate(225deg); margin-bottom: -3px; }
.gpr-products .gpr-options { padding: 6px 0 14px; }
.gpr-products .gpr-option { display: flex; align-items: center; gap: 11px; padding: 9px 4px; margin: 0; cursor: pointer; font-weight: 400; overflow-wrap: anywhere; }
.gpr-products .gpr-option input { appearance: auto; -webkit-appearance: checkbox; width: var(--gpr-checkbox-size); height: var(--gpr-checkbox-size); min-width: var(--gpr-checkbox-size); padding: 0; margin: 0; accent-color: var(--gpr-accent-color); cursor: pointer; }
.gpr-products .gpr-option input:disabled { cursor: default; }
.gpr-products .gpr-option:has(input:disabled) { opacity: .5; cursor: default; }
.gpr-products .gpr-term-count { margin-left: auto; padding-left: 8px; font-size: .9em; font-variant-numeric: tabular-nums; }
.gpr-products.gpr-enhanced .gpr-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.gpr-products .gpr-result-count { margin: 0; color: var(--gpr-muted-color); font-size: 13px; }
.gpr-products .gpr-search-label { margin: 0; max-width: 100%; }
.gpr-products .gpr-filter-toggle { display: none; }
.gpr-products .gpr-filter-dialog:not([open]) { display: none; }
.gpr-products .gpr-filter-dialog { box-sizing: border-box; position: fixed; inset: 0; width: min(420px, 92vw); max-width: 100%; height: 100%; height: 100dvh; max-height: 100%; margin: 0 0 0 auto; padding: 0; border: var(--gpr-filter-border-width) solid var(--gpr-filter-border-color); border-radius: 0; background: var(--gpr-filter-background); color: var(--gpr-filter-color); font-family: inherit; font-size: var(--gpr-filter-font-size); line-height: 1.5; overflow: hidden; box-shadow: -8px 0 40px #0002; }
.gpr-products .gpr-filter-dialog[open] { display: flex; flex-direction: column; }
.gpr-products .gpr-filter-dialog::backdrop { background: rgb(0 0 0 / 45%); }
.gpr-products .gpr-dialog-header { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: max(16px, env(safe-area-inset-top)) 20px 16px; border-bottom: 1px solid var(--gpr-filter-separator-color); flex-shrink: 0; }
.gpr-products .gpr-dialog-header h2 { margin: 0; padding: 0; font-family: inherit; font-size: 20px; line-height: 1.4; font-weight: 500; color: inherit; }
.gpr-products button.gpr-dialog-close { display: grid; place-items: center; width: 44px; height: 44px; padding: 10px; border: 0; border-radius: 0; background: transparent; color: var(--gpr-filter-close-color,var(--gpr-filter-color)); cursor: pointer; box-shadow: none; }
.gpr-products button.gpr-dialog-close:hover,
.gpr-products button.gpr-dialog-close:focus,
.gpr-products button.gpr-dialog-close:active { border:0;background:var(--gpr-filter-close-hover-background,#f5f5f5);color:var(--gpr-filter-close-hover-color,var(--gpr-accent-color));box-shadow:none; }
.gpr-products .gpr-dialog-close svg { width: 24px; height: 24px; }
.gpr-products .gpr-dialog-body { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 20px; }
.gpr-products .gpr-filter-dialog .gpr-sidebar { border: 0; border-radius: 0; }
.gpr-products .gpr-filter-dialog .gpr-filter-heading { justify-content: flex-end; }
.gpr-products .gpr-filter-dialog .gpr-filter-heading > span { display: none; }
.gpr-products .gpr-filter-dialog .gpr-option { min-height: 44px; }
.gpr-products .gpr-dialog-footer { padding: 16px 20px max(16px, env(safe-area-inset-bottom)); border-top: 1px solid var(--gpr-filter-separator-color); flex-shrink: 0; }
.gpr-products .gpr-view-results { display: block; width: 100%; min-height: 44px; padding: var(--gpr-button-padding) 14px; border: var(--gpr-button-border-width) solid var(--gpr-button-border-color); border-radius: var(--gpr-button-radius); background: var(--gpr-button-background); color: var(--gpr-button-color); font: inherit; cursor: pointer; box-shadow: none; }
.gpr-products .gpr-view-results:hover,
.gpr-products .gpr-view-results:focus,
.gpr-products .gpr-view-results:active { background: var(--gpr-button-hover-background); color: var(--gpr-button-hover-color); }
.gpr-products input.gpr-search { width: 240px; max-width: 100%; min-height: 40px; padding: 8px 12px; border: 1px solid var(--gpr-filter-separator-color); border-radius: 0; background: var(--gpr-filter-background); color: var(--gpr-filter-color); font: inherit; font-size: var(--gpr-filter-font-size); box-shadow: none; }
.gpr-products .gpr-grid { display: grid; grid-template-columns: repeat(var(--gpr-columns), minmax(0, 1fr)); gap: var(--gpr-grid-gap); }
.gpr-products .gpr-card { display: flex; flex-direction: column; min-width: 0; min-height: var(--gpr-card-min-height); margin: 0; padding: var(--gpr-card-padding); background: var(--gpr-card-background); border: var(--gpr-card-border-width) solid var(--gpr-card-border-color); border-radius: var(--gpr-card-radius); overflow: hidden; text-align: center; }
.gpr-products .gpr-cover { display: flex; align-items: center; justify-content: center; height: var(--gpr-image-height); margin: 18px 0 16px; overflow: hidden; flex-shrink: 0; }
.gpr-products .gpr-cover img.gpr-cover-image { display: block; width: 100%; height: 100%; max-width: 100%; object-fit: var(--gpr-image-fit); border: 0; border-radius: 0; box-shadow: none; }
.gpr-products .gpr-cover-placeholder { display: grid; place-items: center; width: 100%; height: 100%; color: var(--gpr-muted-color); opacity: .45; }
.gpr-products .gpr-cover-placeholder svg { width: 64px; height: 64px; }
.gpr-products h3.gpr-card-title { margin: 0 0 10px; padding: 0; color: var(--gpr-text-color); font-family: inherit; font-size: var(--gpr-title-size); font-weight: 500; line-height: 1.4; overflow-wrap: anywhere; }
.gpr-products .gpr-card-year { margin: 0 0 10px; color: var(--gpr-muted-color); font-size: 12px; }
.gpr-products a.gpr-button { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; margin-top: auto; padding: var(--gpr-button-padding) 14px; border: var(--gpr-button-border-width) solid var(--gpr-button-border-color); border-radius: var(--gpr-button-radius); background: var(--gpr-button-background); color: var(--gpr-button-color); font-family: inherit; font-size: var(--gpr-button-size); font-weight: 500; line-height: 1.4; text-align: left; text-decoration: none; box-shadow: none; transition: background-color .15s, color .15s; overflow-wrap: anywhere; }
.gpr-products a.gpr-button:hover,
.gpr-products a.gpr-button:focus-visible { background: var(--gpr-button-hover-background); color: var(--gpr-button-hover-color); }
.gpr-products .gpr-button svg { width: 16px; height: 16px; flex-shrink: 0; }
.gpr-products .gpr-unavailable { display: block; margin-top: auto; padding: var(--gpr-button-padding) 8px; color: var(--gpr-muted-color); font-size: var(--gpr-button-size); }
.gpr-products .gpr-empty { margin: 20px 0; padding: 24px; border: 1px solid var(--gpr-filter-separator-color); color: var(--gpr-muted-color); text-align: center; }
.gpr-products :is(button, a, input, summary):focus-visible { outline: 2px solid var(--gpr-accent-color); outline-offset: 3px; }
.gpr-products .gpr-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 1024px) {
  .gpr-products .gpr-grid { grid-template-columns: repeat(var(--gpr-columns-tablet), minmax(0, 1fr)); }
  .gpr-products.gpr-enhanced.gpr-has-filters { grid-template-columns: minmax(0, min(var(--gpr-filter-width), 210px)) minmax(0, 1fr); }
  .gpr-products.gpr-enhanced.gpr-compact-filters { display: block; }
  .gpr-products.gpr-compact-filters .gpr-filter-toggle { display: inline-flex; justify-content: center; align-items: center; gap: 9px; min-height: 44px; padding: 8px 14px; border: 1px solid var(--gpr-filter-color); border-radius: var(--gpr-filter-radius); background: var(--gpr-filter-background); color: var(--gpr-filter-color); font: inherit; font-size: var(--gpr-filter-font-size); cursor: pointer; box-shadow: none; }
  .gpr-products .gpr-filter-toggle svg { width: 20px; height: 20px; flex-shrink: 0; }
  .gpr-products.gpr-compact-filters .gpr-result-count { flex: 1; }
  .gpr-products.gpr-compact-filters .gpr-toolbar { padding-bottom: 16px; border-bottom: 1px solid var(--gpr-filter-separator-color); }
  .gpr-products.gpr-compact-filters .gpr-search-label { order: 1; width: 100%; }
  .gpr-products.gpr-compact-filters input.gpr-search { width: 100%; }
}
@media (max-width: 767px) {
  .gpr-products.gpr-enhanced.gpr-has-filters { grid-template-columns: minmax(0, 1fr); }
  .gpr-products .gpr-grid { grid-template-columns: repeat(var(--gpr-columns-mobile), minmax(0, 1fr)); }
  .gpr-products .gpr-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 14px; }
  .gpr-products .gpr-filter-dialog .gpr-options { display: block; }
  .gpr-products .gpr-search-label,
  .gpr-products input.gpr-search { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .gpr-products a.gpr-button { transition: none; }
}
.gpr-page { box-sizing: border-box; width: 100%; max-width: var(--gpr-page-width, 1400px); min-width: 0; margin: 0 auto; padding: var(--gpr-page-spacing, 36px) var(--gpr-page-padding, 24px); border: 0; border-radius: 0; box-shadow: none; background: transparent; color: var(--gpr-text-color, #171717); font-family: inherit; line-height: 1.5; }
.gpr-page > h1 { margin: 0 0 28px; padding: 0; font-family: inherit; font-size: var(--gpr-page-title-size, 32px); font-weight: 500; line-height: 1.25; color: var(--gpr-text-color, #171717); }
.gpr-page .gpr-page-breadcrumb { display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 24px;font-size:13px;color:var(--gpr-muted-color,#595959); }
.gpr-page .gpr-page-breadcrumb a { color:var(--gpr-accent-color,#826627);text-decoration:none; }
.gpr-page .gpr-category-description { margin:0 0 24px; }
.gpr-products .gpr-cover-link { display:block;color:inherit;text-decoration:none; }
.gpr-products .gpr-card-meta { text-align:left;color:var(--gpr-muted-color);font-size:12px;margin:0 0 6px; }
.gpr-products .gpr-card-meta p { margin:0 0 4px; }
.gpr-products .gpr-card-swatches { display:flex;justify-content:center;align-items:center;gap:5px;flex-wrap:wrap;margin:6px 0 16px; }
.gpr-products .gpr-card-swatches a { display:grid;place-items:center;min-width:28px;min-height:28px;border:1px solid transparent;text-decoration:none;color:inherit; }
.gpr-products .gpr-card-swatches a:hover { border-color:var(--gpr-accent-color); }
.gpr-products .gpr-swatch { display:inline-block;flex-shrink:0;width:18px;height:18px;background:var(--gpr-swatch);border:1px solid #aaa;box-shadow:inset 0 0 0 2px #fff; }
.gpr-products .gpr-option-dot { font-size:18px; }
.gpr-products .gpr-option .gpr-swatch { width:16px;height:16px; }
.gpr-products .gpr-card .gpr-button { justify-content:center;min-height:44px; }
.gpr-products .gpr-dialog-close { font-size:30px;line-height:1; }
.gpr-products .gpr-breadcrumb { display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 32px;font-size:13px;color:var(--gpr-muted-color); }
.gpr-products .gpr-breadcrumb a { color:var(--gpr-accent-color);text-decoration:none; }
.gpr-products.gpr-detail { max-width:var(--gpr-detail-max-width);padding:var(--gpr-detail-padding);border:var(--gpr-detail-border-width,0px) solid var(--gpr-detail-border-color,#ddd);border-radius:var(--gpr-detail-radius,0px); }
.gpr-products .gpr-product-hero { display:grid;grid-template-columns:minmax(0,var(--gpr-detail-gallery-width)) minmax(0,1fr);gap:var(--gpr-detail-gap);align-items:start; }
.gpr-products.gpr-gallery-right .gpr-product-hero { grid-template-columns:minmax(0,1fr) minmax(0,var(--gpr-detail-gallery-width)); }
.gpr-products.gpr-gallery-right .gpr-gallery { order:2; }
.gpr-products.gpr-gallery-right .gpr-product-info { order:1; }
.gpr-products.gpr-detail-stacked .gpr-product-hero { grid-template-columns:minmax(0,1fr); }
.gpr-products .gpr-gallery { min-width:0;padding:var(--gpr-gallery-padding,16px);border:var(--gpr-gallery-border-width) solid var(--gpr-gallery-border-color,var(--gpr-card-border-color));border-radius:var(--gpr-gallery-radius,var(--gpr-card-radius));background:var(--gpr-gallery-background,var(--gpr-card-background)); }
.gpr-products .gpr-main-image-link { display:block;text-decoration:none; }
.gpr-products .gpr-main-image-area { display:flex;justify-content:center;align-items:center;width:var(--gpr-detail-image-width);margin-inline:auto;height:var(--gpr-detail-image-height); }
.gpr-products img.gpr-main-image { display:block;width:100%;height:100%;object-fit:var(--gpr-image-fit);border-radius:var(--gpr-image-radius,0px);box-shadow:none; }
.gpr-products .gpr-thumbnails { display:flex;flex-wrap:wrap;gap:var(--gpr-thumbnail-gap,10px);margin-top:16px; }
.gpr-products a.gpr-thumbnail { display:block;width:var(--gpr-thumbnail-size,72px);height:var(--gpr-thumbnail-size,72px);padding:4px;border:var(--gpr-thumbnail-border-width,1px) solid var(--gpr-thumbnail-border-color,var(--gpr-card-border-color));border-radius:var(--gpr-thumbnail-radius,0px); }
.gpr-products .gpr-thumbnail img { width:100%;height:100%;object-fit:contain;border-radius:inherit; }
.gpr-products a.gpr-thumbnail:hover { border-color:var(--gpr-thumbnail-hover-border-color,var(--gpr-accent-color)); }
.gpr-products a.gpr-thumbnail.is-selected { border-color:var(--gpr-thumbnail-selected-border-color,var(--gpr-accent-color)); }
.gpr-products .gpr-action-note { margin:16px 0;padding:12px;border:1px dashed var(--gpr-filter-separator-color);font-size:13px;line-height:1.5; }
.gpr-products .gpr-product-info { min-width:0; }
.gpr-products .gpr-product-meta { display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--gpr-muted-color);margin:0 0 28px; }
.gpr-products .gpr-product-info h1 { margin:0 0 6px;font-family:inherit;font-size:var(--gpr-detail-title-size);line-height:1.25;font-weight:500;color:var(--gpr-text-color);overflow-wrap:anywhere; }
.gpr-products .gpr-product-line { margin:0 0 16px;font-size:16px;color:var(--gpr-muted-color); }
.gpr-products .gpr-summary { font-size:14px; }
.gpr-products .gpr-variants { margin:28px 0; }
.gpr-products .gpr-variants h2 { margin:0 0 12px;font:inherit;font-weight:500;color:inherit; }
.gpr-products .gpr-variant-list { display:flex;flex-wrap:wrap;gap:8px; }
.gpr-products a.gpr-variant { display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 10px;border:1px solid var(--gpr-card-border-color);border-radius:var(--gpr-button-radius);color:var(--gpr-text-color);text-decoration:none;font-size:13px; }
.gpr-products .gpr-variant.is-selected { border-color:var(--gpr-accent-color);outline:1px solid var(--gpr-accent-color); }
.gpr-products .gpr-variant-status { font-size:13px;color:var(--gpr-muted-color);margin:12px 0 0; }
.gpr-products .gpr-badges { display:flex;gap:8px;flex-wrap:wrap;list-style:none;padding:0;margin:20px 0; }
.gpr-products .gpr-badges li { padding:4px 10px;background:var(--gpr-filter-separator-color);font-size:12px; }
.gpr-products .gpr-shop-button { justify-content:center;max-width:var(--gpr-detail-button-width);margin-top:24px; }
.gpr-products.gpr-shop-center .gpr-shop-button { margin-inline:auto; }
.gpr-products.gpr-shop-right .gpr-shop-button { margin-left:auto;margin-right:0; }
.gpr-products .gpr-detail-sections { width:var(--gpr-detail-sections-width,100%);max-width:100%;margin-top:36px;margin-inline:auto;overflow-wrap:anywhere; }
.gpr-products .gpr-section-nav { display:flex;justify-content:center;flex-wrap:wrap;gap:24px;background:var(--gpr-filter-separator-color);padding:20px; }
.gpr-products .gpr-section-nav a { color:var(--gpr-text-color);font-size:14px;text-decoration:none; }
.gpr-products .gpr-section-nav a[aria-selected=true] { color:var(--gpr-accent-color);text-decoration:underline;text-underline-offset:6px; }
.gpr-products .gpr-detail-sections > section { padding:28px 0;scroll-margin-top:var(--gpr-detail-scroll-offset,120px); }
.gpr-products .gpr-detail-sections h2 { font-family:inherit;font-size:22px;font-weight:500;color:var(--gpr-text-color);margin:0 0 20px; }
.gpr-products .gpr-detail-sections table { width:100%;border-collapse:collapse;font-size:14px;table-layout:fixed; }
.gpr-products .gpr-detail-sections th,.gpr-products .gpr-detail-sections td { padding:14px;border:1px solid var(--gpr-filter-separator-color);text-align:left;vertical-align:top; }
.gpr-products .gpr-detail-sections th { width:40%;font-weight:500; }
.gpr-products .gpr-downloads a { display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--gpr-filter-separator-color);color:var(--gpr-text-color);text-decoration:none; }
.gpr-products .gpr-description,.gpr-products .gpr-technical { width:100%;max-width:100%;margin-inline:0;font-size:15px;line-height:1.75; }
.gpr-products .gpr-description > :first-child,.gpr-products .gpr-technical > :first-child { margin-top:0; }
.gpr-products .gpr-accordion { display:grid;gap:var(--gpr-accordion-gap); }
.gpr-products .gpr-technical-group { display:block;margin:0;padding:0;border:var(--gpr-accordion-border-width) solid var(--gpr-accordion-border-color);border-radius:var(--gpr-accordion-radius);background:var(--gpr-accordion-background);color:var(--gpr-text-color);overflow:hidden; }
.gpr-products .gpr-technical-group > summary { display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;padding:var(--gpr-accordion-padding);list-style:none;cursor:pointer;font-size:var(--gpr-accordion-title-size);font-weight:500;line-height:1.5; }
.gpr-products .gpr-technical-group > summary::-webkit-details-marker { display:none; }
.gpr-products .gpr-technical-group > summary::after { content:'';width:7px;height:7px;flex-shrink:0;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);margin-right:3px; }
.gpr-products .gpr-technical-group[open] > summary::after { transform:rotate(225deg); }
.gpr-products .gpr-technical-content { padding:0 var(--gpr-accordion-padding) var(--gpr-accordion-padding); }
.gpr-products .gpr-technical-content table { margin-bottom:16px; }
.gpr-products .gpr-technical-content > :last-child { margin-bottom:0; }
.gpr-products .gpr-technical-group .gpr-downloads a { justify-content:flex-start;border:0;padding:20px 16px;min-height:56px; }
.gpr-products .gpr-technical-group .gpr-downloads a:nth-child(odd) { background:var(--gpr-document-background); }
.gpr-products .gpr-downloads svg { flex-shrink:0;width:20px;height:20px; }
.gpr-products .gpr-technical-group .gpr-downloads a:hover { color:var(--gpr-accent-color);text-decoration:underline; }
@media(max-width:767px) {
  .gpr-page { padding:min(var(--gpr-page-spacing, 36px), 24px) min(var(--gpr-page-padding, 24px), 16px); }
  .gpr-products.gpr-detail .gpr-product-hero { grid-template-columns:minmax(0,1fr);gap:min(var(--gpr-detail-gap),24px); }
  .gpr-products.gpr-detail .gpr-gallery { order:0; }
  .gpr-products.gpr-detail .gpr-product-info { order:1; }
  .gpr-products .gpr-main-image-area { height:var(--gpr-detail-mobile-image-height); }
  .gpr-products .gpr-product-meta { margin-bottom:16px; }
  .gpr-products .gpr-technical-group > summary { padding:min(var(--gpr-accordion-padding),16px); }
  .gpr-products .gpr-technical-content { padding:0 min(var(--gpr-accordion-padding),16px) min(var(--gpr-accordion-padding),16px); }
}
