.solution-explorer{border:1px solid #bdcdbd;border-radius:20px;padding:32px;background:#f8faf4;min-width:0}
.solution-explorer [hidden],.solution-explorer[hidden]{display:none!important}
.solution-explorer fieldset{border:0;padding:0;margin:0;min-width:0}
.solution-explorer legend,.solution-explorer h3{font-family:var(--sans);font-size:1.75rem;font-weight:700;line-height:1.5;max-width:100%;margin:0 0 20px;overflow-wrap:anywhere}
.solution-explorer p{font-size:1.0625rem;line-height:1.85}
.explorer-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.explorer-actions .button{font-size:1.0625rem;gap:12px}
.explorer-secondary{border:1px solid #93ad96;border-radius:6px;padding:12px 18px;min-height:50px;font-size:1rem;background:#fff;color:var(--green)}
.solution-explorer button:disabled{cursor:default;opacity:.45}
.explorer-step-actions{justify-content:space-between;margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.explorer-progress{list-style:none;padding:0;margin:0 0 32px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.explorer-progress li{display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:2px solid var(--line);font-size:1rem;line-height:1.5;color:var(--muted);min-width:0}
.explorer-progress li>span{display:flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;border-radius:50%;background:#e7eddf;font-size:.875rem;font-variant-numeric:tabular-nums}
.explorer-progress li[aria-current=step]{color:var(--green);border-bottom-color:var(--green);font-weight:800}
.explorer-progress li[aria-current=step]>span,.explorer-progress .is-complete>span{background:var(--green);color:#fff}
.explorer-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px}
.explorer-choice{display:flex;align-items:center;gap:14px;min-width:0;padding:22px;border:1px solid #bdcdbd;border-radius:12px;background:#fff;cursor:pointer;font-size:1.125rem;line-height:1.65;overflow-wrap:anywhere}
.explorer-choice:hover{border-color:#6f947b;background:#f0f5e9}
.explorer-choice:has(input:checked){border-color:var(--green);background:#e4eddd;box-shadow:inset 0 0 0 1px var(--green)}
.explorer-choice:focus-within,.explorer-module-choice:focus-within{outline:3px solid #a56835;outline-offset:3px}
.solution-explorer input[type=radio],.solution-explorer input[type=checkbox]{accent-color:var(--green);width:20px;height:20px;flex:0 0 20px;cursor:pointer}
.explorer-choice-number{color:#6d8b70;font-family:Georgia,serif;font-size:1.625rem;line-height:1.3}
#explorer-scenes .explorer-choice:last-child{grid-column:1/-1}
.explorer-help{color:var(--muted);font-size:1rem!important;margin:8px 0 18px}
.explorer-module-choices{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.explorer-module-choice{display:flex;align-items:center;gap:10px;max-width:100%;padding:12px 16px;border:1px solid #bdcdbd;border-radius:8px;background:#fff;cursor:pointer;font-size:1rem;line-height:1.6;overflow-wrap:anywhere}
.explorer-module-choice:has(input:checked){background:#e4eddd;border-color:var(--green)}
.explorer-more-modules{margin-top:24px;border-top:1px solid var(--line);padding-top:16px}
.explorer-more-modules>summary{font-size:1rem;color:var(--green);padding:8px 0}
.explorer-results-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px}
.explorer-results-heading>h3{margin:0;font-size:1.5rem}
.explorer-results-heading>.explorer-actions{gap:8px;flex-wrap:nowrap}
.explorer-results-heading .explorer-secondary{padding:10px 14px;min-height:44px;white-space:nowrap}
.explorer-selection{margin:12px 0 24px;border-inline-start:4px solid var(--green);padding:16px 20px;background:#e7eddf;border-radius:0 10px 10px 0}
.explorer-product-results{scroll-margin-top:calc(var(--header-height,94px) + 16px);display:flex;gap:20px;margin:24px 0;padding:6px 4px 20px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding-inline:4px;scrollbar-color:#648b76 var(--paper);cursor:grab}
.explorer-product-results.is-dragging{cursor:grabbing;user-select:none;scroll-snap-type:none}
.explorer-product-results:focus-visible{outline:3px solid var(--green);outline-offset:4px}
.explorer-product-results img{pointer-events:none;-webkit-user-drag:none}
.explorer-contact-summary{border-inline-start:3px solid #6d8e60;padding-left:18px;margin-top:20px;overflow-wrap:anywhere}
@media(max-width:1100px){.explorer-choice-number{display:none}}
@media(max-width:700px){
  .solution-explorer{padding:20px;border-radius:14px}
  .solution-explorer legend,.solution-explorer h3{font-size:1.375rem}
  .explorer-progress{gap:8px;margin-bottom:24px}
  .explorer-progress li{flex-direction:column;align-items:flex-start;font-size:.875rem;gap:8px}
  .explorer-choices{grid-template-columns:minmax(0,1fr);gap:12px}
  #explorer-scenes .explorer-choice:last-child{grid-column:auto}
  .explorer-choice{padding:18px;font-size:1.0625rem}
  .explorer-module-choice{font-size:.9375rem;padding:10px 12px}
  .explorer-selection{padding:14px}
  .explorer-actions{gap:12px}
  .explorer-step-actions .button,.explorer-step-actions .explorer-secondary{padding-inline:14px}
  .explorer-advanced-body{padding-inline:16px}
}
@media(forced-colors:active){.explorer-choice:has(input:checked),.explorer-module-choice:has(input:checked){outline:2px solid Highlight}.explorer-welcome{background:Canvas;color:CanvasText}}

/* Two entry modes share a single classified product catalog and its dialogs. */
.solution-modes{display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:24px}
.solution-modes[hidden],.solution-mode-panel[hidden]{display:none}
.solution-modes button{display:flex;justify-content:center;align-items:center;gap:12px;min-height:56px;padding:12px 28px;border:1px solid #8ca58e;border-radius:8px;background:var(--white);color:var(--green);font-size:1.125rem;font-weight:700;line-height:1.5}
.solution-modes button:hover{background:var(--sage)}
.solution-modes button[aria-selected=true]{background:var(--green);border-color:var(--green);color:var(--white)}
.solution-modes button:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.solution-modes .solution-mode-shortcut{background:transparent;border-color:transparent;padding-inline:8px;font-size:1rem}
.solution-modes .solution-mode-shortcut>span:first-child{text-decoration:underline;text-underline-offset:5px}
.solution-modes .solution-mode-shortcut:hover{background:var(--sage)}
.solution-modes .solution-mode-shortcut[aria-selected=true]{color:var(--green);background:var(--white);border-color:#8ca58e}
.solution-surface{background:var(--white);padding:28px;border:1px solid #bdcdbd;border-radius:16px;min-width:0}
.solution-surface .product-toolbar{margin-bottom:28px;column-gap:24px;row-gap:24px}
.solution-surface .product-search-field{max-width:none}
.solution-surface .product-results{margin-left:auto}
.catalog-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:20px;align-items:end;flex:0 0 100%;min-width:0;padding-top:22px;border-top:1px solid var(--line)}
.catalog-filter{display:flex;flex-direction:column;gap:8px;min-width:0}
.catalog-filter label{font-size:1rem;font-weight:700}
.catalog-filter select{width:100%;min-width:0;max-width:100%;min-height:52px;padding:12px 32px 12px 12px;border:1px solid #78937c;border-radius:6px;background:var(--white);color:var(--ink);font:inherit;font-size:1.0625rem;line-height:1.5}
.catalog-filter select:focus-visible{outline:3px solid #a56835;outline-offset:3px}
.catalog-reset{min-height:52px;padding:12px 4px;color:var(--green);font-size:1rem;text-decoration:underline;text-underline-offset:5px;white-space:nowrap}
.catalog-reset:disabled{opacity:.45;cursor:default}
.solution-surface .solution-explorer{padding:0;border:0;border-radius:0;background:transparent}
.solution-mode-panel{scroll-margin-top:calc(var(--header-height,94px) + 20px)}
@media(max-width:700px){.solution-modes{display:flex;gap:10px;justify-content:space-between;margin-bottom:20px}.solution-modes button{min-width:0;padding:12px 10px;font-size:1rem}.solution-surface{padding:20px 16px;border-radius:12px}.solution-surface .product-toolbar{gap:18px 12px}.solution-surface .product-search-field{flex:1 1 8rem}.solution-surface .product-results{font-size:1rem}.catalog-filters{grid-template-columns:minmax(0,1fr);gap:16px;padding-top:0;border-top:0;order:2}.catalog-reset{justify-self:start;min-height:44px;padding:8px 4px}.catalog-filter select{font-size:1rem}.solution-surface .explorer-progress{margin-bottom:28px}}
@media(forced-colors:active){.solution-modes button[aria-selected=true]{border-color:Highlight;outline:2px solid Highlight}}
@media print{.solution-modes,.catalog-filters{display:none}.solution-mode-panel[hidden]{display:block}.solution-surface{padding:0;border:0}}

@media(max-width:700px){.solution-modes .solution-mode-shortcut{font-size:1rem;padding:10px 6px}}

@media(max-width:700px){.explorer-results-heading{gap:8px}.explorer-results-heading>h3{font-size:1.125rem;line-height:1.5;white-space:nowrap}.explorer-results-heading>.explorer-actions{gap:6px}.explorer-results-heading .explorer-secondary{font-size:.9375rem;min-width:44px;min-height:44px;padding:8px}}

.explorer-selection-list{margin:0;display:grid;gap:0}
.explorer-selection-list>div{display:grid;grid-template-columns:5.5em minmax(0,1fr);gap:12px;align-items:start;padding:12px 0;border-bottom:1px solid #c6d5c3}
.explorer-selection-list>div:first-child{padding-top:0}
.explorer-selection-list>div:last-child{padding-bottom:0;border-bottom:0}
.explorer-selection-list dt,.explorer-selection-list dd{margin:0;padding:0;font-size:1rem;line-height:1.8}
.explorer-selection-list dt{font-weight:700;color:var(--green)}
.explorer-selection-list dd{min-width:0;color:var(--ink);overflow-wrap:anywhere}
.explorer-selection-values{list-style:none;display:grid;gap:6px;padding:0;margin:0}
.explorer-selection-values li{margin:0;font-size:inherit;font-weight:600;line-height:inherit}
@media(max-width:700px){.explorer-selection-list>div{grid-template-columns:4em minmax(0,1fr);gap:12px}}

/* Keyword and classification controls form one consistent filter toolbar. */
.solution-surface .product-toolbar{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(140px,1fr) minmax(140px,1fr) auto;gap:12px;align-items:center}
.catalog-keyword-group{display:flex;align-items:center;gap:14px;min-width:0}
.catalog-keyword-group .product-search-field{flex:1;min-width:0}
.catalog-filters{display:contents}
.catalog-filter{display:block}
.solution-surface .product-search-input,.catalog-filter select,.catalog-reset{height:54px;min-height:54px;border:1px solid #78937c;border-radius:6px;background:var(--white);color:var(--ink)}
.solution-surface .product-search-input input{min-height:0;height:100%;font-size:1.0625rem}
.catalog-filter select{font-size:1.0625rem;padding:10px 28px 10px 10px}
.catalog-reset{padding:10px 14px;font-weight:700;font-size:1rem;text-decoration:none;color:var(--green)}
.catalog-reset:hover:not(:disabled){background:var(--sage)}
.solution-surface .product-search-input:focus-within,.catalog-filter select:focus-visible,.catalog-reset:focus-visible{outline:3px solid var(--green);outline-offset:3px}
@media(max-width:1100px){.solution-surface .product-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-keyword-group{grid-column:1/-1}.catalog-reset{grid-column:1/-1;justify-self:end}.catalog-keyword-group .product-search-field{flex:1}}
@media(max-width:700px){.solution-surface .product-toolbar{gap:12px}.catalog-keyword-group{gap:12px}.solution-surface .product-search-input input,.catalog-filter select{font-size:1rem}.catalog-reset{min-height:54px;padding:10px 14px}.catalog-filter{order:0}.catalog-reset{order:0}}

.solution-surface .product-toolbar[hidden]{display:none}

/* Both result tracks use the catalog card component. */
.explorer-product-results{gap:22px;padding:6px 6px 20px;scroll-padding-inline:6px}
.solution-explorer .product-card-summary{font-size:1.125rem;line-height:1.7}
