/* Scoped catalogue refinements: local filters, clear panels, bounded tooltips. */
.group-filter { display: grid; grid-template-columns: minmax(135px,1.3fr) minmax(115px,1fr) minmax(130px,1.1fr) auto minmax(100px,.85fr); gap: 8px; align-items: end; margin: 0 0 12px; padding: 12px 14px 9px; background: #f7f8fa; border: 1px solid #e5e8ec; border-radius: 10px; }
.group-filter > label { display: grid; gap: 5px; min-width: 0; margin: 0; }
.group-filter label > span { color: #68727e; font-size: 11px; line-height: 1.25; font-weight: 500; }
.group-filter select, .group-filter input { width: 100%; min-width: 0; height: 36px; padding: 7px 9px; border: 1px solid #d9dfe5; border-radius: 7px; background: #fff; color: #26303a; font: inherit; font-size: 13px; line-height: 1.25; box-sizing: border-box; }
.group-filter select { padding-right: 22px; cursor: pointer; }
.group-filter input::placeholder { color: #8b939c; }
.group-filter select:focus, .group-filter input:focus { outline: 2px solid #ebc885; outline-offset: 1px; border-color: #d6ad60; }
.group-filter input[aria-invalid=true] { border-color: #b34939; }
.group-filter-apply { height: 36px; padding: 7px 13px; border: 1px solid #d8b777; border-radius: 7px; background: #fff5e2; color: #654b22; font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.group-filter-apply:hover { background: #ffefd0; }
.group-filter-apply:focus-visible { outline: 2px solid #b28539; outline-offset: 2px; }
.group-filter-meta { grid-column: 1/-1; display: flex; align-items: baseline; justify-content: space-between; gap: 8px; min-height: 15px; color: #838b94; font-size: 11px; line-height: 1.4; }
.group-filter-meta button { border: 0; padding: 0; background: transparent; color: #756038; font: inherit; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
.group-filter-error { grid-column: 1/-1; margin: 0; color: #a43c32; font-size: 12px; }
.group-empty { padding: 24px 20px; color: #69737f; font-size: 14px; line-height: 1.5; }
.group-render-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
body .product-group > .group-title { margin-bottom: 10px; }
body .add-button { display: inline-grid; place-items: center; padding: 0; line-height: 1; }
body .add-button::after { content: none !important; display: none !important; }
.selection-mark { display: block; position: relative; width: 14px; height: 14px; color: currentColor; }
.selection-mark::before, .selection-mark::after { content: ""; position: absolute; background: currentColor; border-radius: 1px; top: 50%; left: 50%; transform: translate(-50%,-50%); }
.selection-mark::before { width: 12px; height: 2px; }
.selection-mark::after { width: 2px; height: 12px; }
.add-button.added .selection-mark::after { display: none; }
.catalog-action-tooltip { position: fixed; z-index: 10000; width: max-content; max-width: calc(100vw - 24px); padding: 8px 11px; border-radius: 8px; color: #fff; background: #28313b; box-shadow: 0 4px 14px #1d27301f; font: 500 12px/1.35 Arial,sans-serif; pointer-events: none; }
.catalog-action-tooltip[hidden] { display: none; }

.panel-fold { margin: 0; min-width: 0; border: 1px solid #e1e6eb; border-radius: 10px; background: #fff; }
.panel-fold + .panel-fold { margin-top: 10px; }
.panel-fold > summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 14px; list-style: none; cursor: pointer; }
.panel-fold > summary::-webkit-details-marker { display: none; }
.panel-fold > summary strong { display: block; font-size: 15px; line-height: 1.3; font-weight: 600; color: #303b46; }
.panel-fold > summary small { display: block; margin-top: 3px; font-size: 12px; line-height: 1.4; color: #7a8490; }
.panel-fold > summary > i { flex: 0 0 7px; height: 7px; border-right: 1.5px solid #7e8995; border-bottom: 1.5px solid #7e8995; transform: rotate(45deg) translateY(-2px); margin-right: 3px; }
.panel-fold[open] > summary > i { transform: rotate(225deg) translate(-2px,-2px); }
.panel-fold > summary:focus-visible { outline: 2px solid #d9b36f; outline-offset: 2px; border-radius: 9px; }
.panel-fold[open] > summary { border-bottom: 1px solid #edf0f3; }
.panel-fold-content { padding: 14px; }
.panel-fold-content > .details-section { margin: 0; padding: 0; border: 0; }
.panel-fold-content > .services-section > h3, .panel-fold-content > .material-reference > h3:first-child { display: none; }
.panel-fold-content .panel-form { margin: 0; }
.panel-contact { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 7px 14px; margin: 18px 0; font-size: 13px; line-height: 1.5; }
.panel-contact > span { flex-basis: 100%; color: #7b8591; font-size: 12px; }
.panel-contact a { color: #475462; text-decoration: none; }
.panel-contact a:first-of-type { font-weight: 600; }
.panel-intro { margin: 0 0 15px; color: #7a8490; font-size: 13px; line-height: 1.5; }
@media(min-width:901px) {
  body .details-panel { border-radius: 12px; border-color: #dce2e8; background: #fff; scrollbar-width: thin; }
  body .panel-refined { padding: 18px 18px 0; min-width: 0; }
  body .panel-refined .details-top { margin: -18px -18px 18px; padding: 18px 45px 18px 18px; border: 0; border-bottom: 1px solid #edf0f3; background: #fafbfc; border-radius: 12px 12px 0 0; }
  body .panel-refined .details-product-hero { display: grid; grid-template-columns: 64px minmax(0,1fr); gap: 12px; align-items: center; }
  body .panel-refined .details-product-visual { width: 64px; height: 64px; border: 0; background: transparent; }
  body .panel-refined .details-product-visual img { width: 100%; height: 100%; object-fit: contain; }
  body .panel-refined .details-product-copy { min-width: 0; }
  body .panel-refined .panel-kicker { margin: 0 0 5px; letter-spacing: .06em; color: #89929d; font-size: 9px; line-height: 1.4; }
  body .panel-refined .details-top h2 { margin: 0; font-size: 23px; line-height: 1.15; overflow-wrap: anywhere; }
  body .panel-refined .details-top p { margin: 5px 0 0; font-size: 13px; line-height: 1.4; color: #7b8692; }
  body .panel-refined .panel-size { display: block; margin-top: 5px; color: #45525f; font-size: 14px; font-weight: 600; }
  body .panel-refined .details-close { top: 12px; right: 12px; width: 28px; height: 28px; display: grid; place-items: center; padding: 0 0 2px; background: transparent; border: 0; border-radius: 7px; color: #73808d; font-size: 23px; line-height: 1; }
  body .panel-refined .details-close:hover { background: #e9edf1; }
  .panel-commerce { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; padding: 0 0 16px; border-bottom: 1px solid #edf0f3; }
  .panel-commerce small { display: block; margin-bottom: 5px; color: #7c8793; font-size: 12px; }
  .panel-commerce strong { font-size: 24px; line-height: 1.2; font-weight: 600; color: #25313d; }
  .panel-commerce strong span { font-size: 14px; color: #75818e; font-weight: 400; }
  .panel-commerce p { display: flex; align-items: center; gap: 7px; grid-column: 1/-1; margin: 0; color: #687582; font-size: 12px; }
  .stock-status-dot { width: 6px; height: 6px; background: #389476; border-radius: 50%; }
  body .panel-refined .details-section { margin: 18px 0; padding: 0; border: 0; }
  body .panel-refined .details-section h3 { margin: 0 0 12px; padding: 0; border: 0; font-size: 16px; line-height: 1.3; }
  body .panel-refined .details-section h3::before { display: none; }
  body .panel-refined .detail-grid { grid-template-columns: minmax(90px, .85fr) minmax(0,1.15fr); gap: 0; margin: 0; }
  body .panel-refined .detail-grid dt, body .panel-refined .detail-grid dd { padding: 7px 0; border: 0; font-size: 13px; line-height: 1.5; }
  body .panel-refined .detail-grid dt { color: #84909b; }
  body .panel-refined .detail-grid dd { color: #43515f; overflow-wrap: anywhere; }
  body .panel-refined .panel-fold-content .details-section { margin: 0; }
  body .panel-refined .panel-form { display: grid; grid-template-columns: minmax(0,1fr); gap: 13px; }
  body .panel-refined .panel-form label { display: grid; gap: 6px; margin: 0; min-width: 0; }
  body .panel-refined .panel-form label > span { font-size: 12px; font-weight: 500; line-height: 1.3; letter-spacing: 0; text-transform: none; color: #5c6a78; }
  body .panel-refined .panel-form input, body .panel-refined .panel-form select, body .panel-refined .panel-form textarea { width: 100%; min-width: 0; height: 40px; min-height: 40px; padding: 9px 11px; border: 1px solid #dce2e8; border-radius: 8px; font-family: inherit; font-size: 14px; line-height: 1.4; color: #344453; background: #fff; }
  body .panel-refined .panel-form textarea { height: 84px; resize: vertical; }
  body .panel-refined .panel-form input:focus, body .panel-refined .panel-form select:focus, body .panel-refined .panel-form textarea:focus { outline: 2px solid #ead5ac; border-color: #d0b17a; }
  body .panel-refined .panel-form input[type=file] { height: auto; padding: 8px; font-size: 12px; }
  body .panel-refined .panel-form input[type=file]::file-selector-button { padding: 5px 9px; margin-right: 8px; border: 0; border-radius: 5px; color: #485663; background: #f0f3f5; font-family: inherit; }
  body .panel-refined .panel-form label small { font-size: 11px; color: #909aa4; line-height: 1.4; overflow-wrap: anywhere; }
  body .panel-refined .service-choice { padding: 10px; border: 1px solid #e2e7eb; border-radius: 8px; background: #fff; min-height: 58px; }
  body .panel-refined .service-choice.selected { border-color: #e2c38e; background: #fff8ed; }
  body .panel-refined .service-choice strong { font-size: 14px; line-height: 1.25; }
  body .panel-refined .service-choice small { font-size: 11px; line-height: 1.4; }
  body .panel-refined .service-choice > i { display: grid; place-items: center; height: 22px; line-height: 1; color: #6e7c87; }
  body .panel-refined .service-fields { grid-template-columns: 1fr; }
  .panel-order-note { margin: 14px 0 20px; padding: 14px; background: #f7f9fa; border-radius: 10px; border: 0; }
  .panel-order-note strong { font-size: 14px; font-weight: 600; color: #465564; }
  .panel-order-note p { margin: 5px 0 10px; color: #81909e; font-size: 12px; line-height: 1.4; }
  body .panel-order-note button { padding: 0; border: 0; background: none; color: #856537; font-size: 13px; font-weight: 500; width: 100%; display: flex; justify-content: space-between; }
  body .refined-panel-actions { position: sticky; bottom: 0; z-index: 12; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 18px -18px 0; padding: 12px 18px 14px; border-top: 1px solid #e5e9ed; background: #fff; box-shadow: 0 -8px 16px #263c4805; }
  .refined-panel-actions > p { grid-column: 1/-1; margin: 0 0 2px; color: #8a949e; font-size: 11px; line-height: 1.4; }
  body .refined-panel-actions .manager-action, body .refined-panel-actions .manager-secondary { min-height: 40px; height: auto; max-height: none; width: 100%; margin: 0; padding: 10px 8px; border-radius: 8px; font-size: 13px; line-height: 1.3; font-weight: 600; }
  body .refined-panel-actions .manager-action { color: #473516; background: #ffdda1; border: 1px solid #f0c87f; }
  body .refined-panel-actions .manager-action:hover { background: #ffd38b; }
  body .refined-panel-actions .manager-action.is-added { color: #5e6a75; background: #f3f5f7; border-color: #dce2e7; }
  body .refined-panel-actions .manager-secondary { color: #465665; background: #fff; border: 1px solid #dce2e7; }
  body .refined-panel-actions .document-actions { grid-column: 1/-1; display: flex; gap: 16px; justify-content: center; margin: 0; }
  body .refined-panel-actions .document-actions button { padding: 3px; margin: 0; width: auto; border: 0; background: none; color: #89939d; font-size: 11px; }
}
@media(min-width:901px) and (max-width:1150px) {
  .group-filter { grid-template-columns: minmax(115px,1fr) minmax(100px,1fr) minmax(115px,1fr) auto; }
  .group-filter-sort { grid-column: 1 / 3; }
  .group-filter-meta { grid-column: 3 / -1; align-self: center; }
}
@media(max-width:900px) {
  .m-stock-group { margin: 22px 0 30px; min-width: 0; }
  .m-stock-group > header { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; margin-bottom: 10px; }
  .m-stock-group h3 { margin: 0; color: #344353; font-size: 17px; line-height: 1.35; font-weight: 600; }
  .m-stock-group > header > span { color: #89929d; font-size: 12px; }
  .m-group-filter { border: 1px solid #dfe5eb; border-radius: 12px; background: #fff; margin-bottom: 12px; }
  .m-group-filter > summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 13px 14px; color: #5a6a7a; font-size: 13px; font-weight: 500; list-style: none; cursor: pointer; }
  .m-group-filter > summary::-webkit-details-marker { display: none; }
  .m-group-filter summary svg { width: 18px; height: 18px; }
  .group-filter { margin: 0; border: 0; border-top: 1px solid #edf0f3; border-radius: 0 0 12px 12px; padding: 12px; gap: 12px 8px; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .group-filter-form { grid-column: 1/-1; }
  .group-filter select, .group-filter input { height: 42px; font-size: 16px; }
  .group-filter label > span { font-size: 11px; }
  .group-filter-sort { grid-row: 3; grid-column: 1; }
  .group-filter-apply { grid-row: 3; grid-column: 2; height: 42px; font-size: 14px; }
  .group-filter-meta { font-size: 11px; align-items: flex-start; }
  .m-stock-group .m-load-more { margin-top: 0; width: 100%; min-height: 52px; border-radius: 10px; background: #fff8ed; border-color: #ecdbbd; }
  .refined-mobile-detail .m-detail-hero { display: grid; grid-template-columns: 90px minmax(0,1fr); gap: 5px 14px; padding: 20px; min-height: 0; }
  .refined-mobile-detail .m-detail-image { grid-row: 1/5; margin: 0; width: 90px; height: 100px; align-self: center; background: #f7f9fa; border-radius: 12px; }
  .refined-mobile-detail .m-detail-image img { width: 90px; height: 90px; }
  .refined-mobile-detail .m-detail-status { grid-column: 2; display: flex; flex-wrap: wrap; margin: 0; gap: 5px; align-items: center; }
  .refined-mobile-detail .m-detail-status small { display: none; }
  .refined-mobile-detail .m-detail-status span { font-size: 11px; }
  .refined-mobile-detail .m-detail-hero h1 { grid-column: 2; margin: 0; font-size: 23px; line-height: 1.2; overflow-wrap: anywhere; }
  .refined-mobile-detail .m-detail-hero > p { grid-column: 2; margin: 0; font-size: 13px; line-height: 1.4; }
  .refined-mobile-detail .m-detail-hero > strong { grid-column: 2; margin: 0; font-size: 15px; line-height: 1.4; }
  .refined-mobile-detail .m-detail-section { margin-top: 12px; padding: 18px; border-radius: 12px; }
  .refined-mobile-detail .m-detail-section > header { margin-bottom: 14px; }
  .refined-mobile-detail .m-detail-section > header small { display: none; }
  .refined-mobile-detail .m-detail-section > header h2 { font-size: 19px; }
  .refined-mobile-detail > .panel-fold { margin: 12px 16px; }
  .refined-mobile-detail .m-mobile-form select { width: 100%; min-width: 0; padding: 11px; border: 1px solid #dce2e7; border-radius: 9px; font: inherit; font-size: 16px; color: #3b4c5d; background: #fff; }
  .refined-mobile-detail .m-mobile-form .panel-fold { margin: 0; }
  .refined-mobile-detail .panel-fold-content .material-reference { padding: 0; margin: 0; }
  .refined-mobile-detail .panel-contact { padding: 0 18px; }
  .refined-mobile-detail .panel-fold-content .manufacturing-capabilities { max-width: 100%; }
}
@media(max-width:900px) {
  .m-stock-group { padding: 0 12px; }
  .refined-mobile-detail .m-detail-hero { text-align: left; }
  .refined-mobile-detail .m-detail-status { justify-content: flex-start; }
  .refined-mobile-detail .m-detail-hero > p, .refined-mobile-detail .m-detail-hero > strong, .refined-mobile-detail .m-detail-hero h1 { text-align: left; }
}
