/* Scoped additions: retain the existing storefront layout and palette. */
.product-controls .shopping-limits{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px;align-items:end;border-top:1px solid #385669;padding-top:12px}
.shopping-limits>label{flex:1 1 135px;max-width:230px}
.shopping-limits input[type=number]{width:100%;box-sizing:border-box;min-height:44px;padding:8px 10px;border:1px solid #567285;border-radius:6px;background:#102b3b;color:#fff;font:inherit}
.shopping-availability-filters{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center}
.product-controls label.shopping-stock-filter{display:flex;flex-direction:row;align-items:center;gap:9px;min-height:44px;color:#eaf8fc;font-size:14px;font-weight:800;max-width:none}
.product-controls label.shopping-stock-filter[hidden]{display:none}
.shopping-stock-filter input{width:20px;height:20px;accent-color:#40d9ff}
#price-filter-status{flex-basis:100%;margin:0;color:#ffcc9b;font-size:13px}
#price-filter-status:empty{display:none}
.catalog-search-feedback{margin:12px 0;padding:12px 14px;border:1px solid #385669;border-radius:8px;background:#102b3b;color:#eaf8fc;overflow-wrap:anywhere}
.catalog-search-feedback[hidden]{display:none}
.catalog-search-feedback p{margin:0;font-size:14px;line-height:1.5}
.catalog-search-feedback>div{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
.catalog-search-feedback>div:empty{display:none}
.catalog-search-feedback button{min-height:44px;padding:8px 12px;border:1px solid #567285;border-radius:6px;background:#14384b;color:#eaf8fc;font:inherit;font-size:14px;cursor:pointer}
.catalog-search-feedback button:hover,.catalog-search-feedback button:focus-visible{border-color:#40d9ff;outline:2px solid #40d9ff;outline-offset:2px}
#product-grid>p{grid-column:1/-1}
.shopping-card{min-width:0;display:flex;flex-direction:column;gap:6px}
.shopping-card>.thr-product{flex:1}
.link-modal__add:disabled,.cart-qty button:disabled{opacity:.55;cursor:not-allowed}
.shopping-specifications{margin:18px 0;border-top:1px solid #38596c;padding-top:12px}
.shopping-specifications[hidden]{display:none}.shopping-specifications h3{font-size:17px;margin:0 0 8px}.shopping-specifications p{font-size:13px;color:#b8d5e2}
.shopping-specifications dl{display:grid;grid-template-columns:minmax(100px,1fr) minmax(0,2fr);margin:12px 0;font-size:14px}
.shopping-specifications dt,.shopping-specifications dd{margin:0;padding:10px;border-bottom:1px solid #38596c;overflow-wrap:anywhere}.shopping-specifications dt{font-weight:800}
.shopping-researched-specifications{margin:18px 0;border-top:1px solid #38596c;padding-top:14px;min-width:0}
.shopping-researched-specifications[hidden]{display:none}
.shopping-researched-specifications h3{font-size:18px;margin:0 0 8px}
.shopping-researched-specifications p{font-size:13px;line-height:1.6;color:#c9e0ea;margin:7px 0}
.shopping-researched-specifications .researched-model{font-weight:700;color:#fff}
.shopping-researched-specifications dl{margin:14px 0;font-size:14px;line-height:1.5}
.researched-spec-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(0,2fr);border-bottom:1px solid #38596c}
.researched-spec-row dt,.researched-spec-row dd{margin:0;padding:12px 8px;overflow-wrap:anywhere;min-width:0}
.researched-spec-row dt{font-weight:700;color:#e3f3fa}
.researched-spec-row dd{color:#f1f9fc}
.researched-value{white-space:pre-line}
.shopping-researched-specifications .researched-condition,.shopping-comparison .researched-condition{font-size:12px;color:#c9e0ea;line-height:1.5;margin:7px 0}
.shopping-researched-specifications .shopping-comparison-source p{font-size:12px}
.shopping-researched-specifications :focus-visible{outline:3px solid #40d9ff;outline-offset:3px}
@media(max-width:600px){.researched-spec-row{grid-template-columns:minmax(90px,1fr) minmax(0,1.6fr)}.researched-spec-row dt,.researched-spec-row dd{padding:10px 5px;font-size:13px}}
@media(max-width:600px){.shopping-limits>label{max-width:none}}
.product-controls .subcategory-control{min-width:0;grid-column:span 2}
.product-controls select{max-width:100%}
#product-grid.catalog-list{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
#product-grid.catalog-list .thr-product{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:center;min-height:160px;padding:14px;gap:18px;text-align:left}
#product-grid.catalog-list .thr-img{grid-column:1;grid-row:1/3;width:150px;height:130px;min-height:0;margin:0}
#product-grid.catalog-list .thr-img img{max-height:130px;object-fit:contain}
#product-grid.catalog-list .thr-brand{position:static;grid-column:2;grid-row:1;align-self:end;justify-self:start;max-width:100%;margin:0}
#product-grid.catalog-list .thr-info{grid-column:2;grid-row:2;align-self:start;padding:0}
#product-grid.catalog-list .thr-name{font-size:17px;white-space:normal;-webkit-line-clamp:unset;display:block}
.product-resources,.product-reviews{margin:18px 0;padding-top:14px;border-top:1px solid #38596c}
.product-resources[hidden]{display:none}
.product-resources h3,.product-reviews h3{font-size:17px;margin:0 0 10px}
.product-resources ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.product-resources a,.product-reviews a{display:inline-block;color:#69ddff;min-height:44px;padding:10px 0;overflow-wrap:anywhere}
.product-resources p,.product-reviews p{color:#b8d5e2;font-size:14px;line-height:1.5;margin:4px 0}
.product-video{width:100%;aspect-ratio:16/9;border:0;margin:10px 0;border-radius:8px}
.product-resources button{font:inherit;color:#04121d;background:#ff9a5f;border:0;border-radius:6px;padding:12px;cursor:pointer;min-height:44px;text-align:left}
@media(max-width:600px){.product-controls .subcategory-control{grid-column:1/-1}#product-grid.catalog-list .thr-product{grid-template-columns:90px minmax(0,1fr);gap:12px;padding:12px;min-height:125px}#product-grid.catalog-list .thr-img{width:90px;height:100px}#product-grid.catalog-list .thr-img img{max-height:100px}#product-grid.catalog-list .thr-name{font-size:14px}}

/* Researched comparisons: no generic price/SKU-only comparison. */
.comparison-entry{font-size:13px;color:#b8d5e2;display:flex;flex-wrap:wrap;gap:8px 18px;margin:12px 0 20px}
.comparison-entry a,.shopping-researched-comparison a{color:#82e8dc;font-weight:700}
.shopping-researched-comparison{padding:12px 0;font-size:14px}

/* Restored product-card selection and researched comparison dialog. */
.shopping-compare-toggle,.shopping-compare-bar button,.shopping-comparison button{font:inherit;font-size:13px;font-weight:800;min-height:44px;cursor:pointer;border:1px solid #588296;border-radius:6px;padding:8px 12px;color:#eaf8fc;background:#102f40}
.shopping-compare-toggle[aria-pressed=true]{background:#135749;border-color:#7de9bd}
.shopping-compare-toggle:focus-visible,.shopping-compare-bar button:focus-visible,.shopping-comparison :focus-visible{outline:3px solid #40d9ff;outline-offset:3px}
.shopping-compare-bar{position:fixed;bottom:12px;left:50%;transform:translateX(-50%);z-index:115;box-sizing:border-box;width:min(950px,calc(100% - 24px));display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 16px;border:1px solid #50859b;border-radius:10px;background:#092335;color:#eaf8fc;box-shadow:0 8px 32px #0009}
.shopping-compare-bar[hidden]{display:none}
.shopping-compare-names{flex:1 1 250px;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.shopping-compare-bar [role=status]{font-size:12px;flex-basis:100%}.shopping-compare-bar button:disabled{opacity:.55;cursor:default}
body.has-comparison{padding-bottom:140px}
.shopping-comparison{width:min(1100px,calc(100vw - 32px));max-height:88dvh;box-sizing:border-box;overflow:auto;background:#081f30;color:#eaf8fc;border:1px solid #50859b;border-radius:12px;padding:20px;font-family:Arial,sans-serif}
.shopping-comparison::backdrop{background:#000b}
.shopping-comparison header{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:-20px;background:#081f30;padding:12px 0;z-index:2}
.shopping-comparison h2{margin:0;font-size:24px}.shopping-comparison p{font-size:13px;line-height:1.6;color:#b8d5e2}
.shopping-comparison-content{overflow:auto;max-width:100%}
.shopping-comparison table{border-collapse:collapse;width:100%;table-layout:fixed;min-width:650px}
.shopping-comparison caption{text-align:left;margin-bottom:12px;font-weight:700}
.shopping-comparison th,.shopping-comparison td{border:1px solid #38596c;text-align:left;padding:12px;vertical-align:top;overflow-wrap:anywhere;font-size:14px;line-height:1.5}
.shopping-comparison th{background:#103448}.shopping-comparison th:first-child{width:90px}
.shopping-comparison th img{width:100%;height:115px;object-fit:contain;display:block;background:#edf5f8;border-radius:6px;margin-bottom:12px}
.shopping-comparison th strong{display:block;margin-bottom:10px}.shopping-comparison th a{display:block;color:#73e4ff;margin-top:10px}

body.comparison-open{overflow:hidden}
body.link-modal-open .shopping-compare-bar,body.cart-open .shopping-compare-bar,body.mobile-filters-open .shopping-compare-bar{display:none}
.shopping-compare-toggle:disabled{opacity:.5;cursor:not-allowed}
.shopping-comparison-filter{display:flex;align-items:center;gap:12px;font-size:13px;margin-bottom:14px}
.shopping-comparison-filter select{font:inherit;max-width:100%;color:#eaf8fc;background:#102f40;border:1px solid #588296;border-radius:6px;padding:10px;min-height:44px}
.shopping-comparison-differences{display:flex;align-items:center;gap:9px;min-height:44px;font-size:14px;cursor:pointer}
.shopping-comparison-differences input{width:18px;height:18px;margin:0;accent-color:#40d9ff;flex:none}
.shopping-comparison-difference-status:empty{display:none}
.shopping-comparison-content{container-type:inline-size}
.shopping-comparison table{border-collapse:separate;border-spacing:0;min-width:0}
.shopping-comparison th:first-child{width:150px}
.shopping-comparison tbody th{position:sticky;left:0;z-index:1}
.shopping-comparison th img{height:100px}
.shopping-comparison small{display:block;color:#b8d5e2;font-size:12px;line-height:1.5;margin:7px 0;font-weight:400}
.shopping-comparison-source{margin-top:10px;font-size:12px}
.shopping-comparison-source summary{cursor:pointer;color:#73e4ff;min-height:30px}
.shopping-comparison-source a{color:#73e4ff}
.shopping-comparison-source p{font-size:12px}
.shopping-comparison .shopping-comparison-details{display:block;margin-top:8px}
@media(max-width:600px){.shopping-comparison{padding:12px;width:calc(100vw - 16px);max-height:92dvh}.shopping-comparison header{top:-12px}.shopping-comparison h2{font-size:20px}.shopping-compare-bar{bottom:6px;padding:10px}.shopping-compare-names{flex-basis:100%}.shopping-comparison th:first-child{width:105px}.shopping-comparison table{width:calc(200cqw - 105px)}.shopping-comparison table.has-three{width:calc(300cqw - 210px)}.shopping-comparison th,.shopping-comparison td{padding:10px;font-size:13px}.shopping-comparison-content::before{content:"Swipe sideways to compare all selected products →";display:block;margin-bottom:12px;color:#73e4ff;font-size:12px}.shopping-compare-bar{bottom:70px}}
.shopping-comparison thead th:first-child{position:sticky;left:0;z-index:1}
.shopping-comparison-content::before{position:sticky;left:0;max-width:100cqw}

/* A small, keyboard/touch-accessible marker for explicitly chosen manual specs. */
.comparison-manual-note{display:inline;margin-left:2px;font-weight:normal}
.comparison-manual-note>summary{display:inline-block;list-style:none;cursor:pointer;color:#73e4ff;padding:0 5px;min-width:20px;min-height:24px;vertical-align:baseline;text-align:center}
.comparison-manual-note>summary::-webkit-details-marker{display:none}
.comparison-manual-note>summary sup{font-size:11px;font-weight:700}
.comparison-manual-note>summary:focus-visible{outline:2px solid #73e4ff;outline-offset:2px}
.comparison-manual-explanation{display:block;margin:6px 0 10px;padding:8px 10px;border-left:2px solid #73e4ff;background:#102e40;font-size:12px;line-height:1.5;color:#d8edf4}
.comparison-manual-explanation p{margin:0 0 7px!important;font-size:12px!important;line-height:1.5!important}
.comparison-manual-explanation p:last-child{margin-bottom:0!important}
.comparison-manual-explanation a{color:#73e4ff;overflow-wrap:anywhere}
