/* Shared finish across landing, catalog, product details and store pages.
   Scoped selectors keep asynchronously loaded feature styles compatible. */
body.professional-ui{--bg:#f4f6f5;--line:#dce5df;--radius:16px;--muted:#586d60;line-height:1.6}
.professional-ui .container{padding-top:28px;padding-bottom:40px}
.professional-ui .topbar{border-bottom-width:1px;gap:28px;padding-top:14px;padding-bottom:14px}
.professional-ui .topbar nav{gap:4px;flex-wrap:wrap}
.professional-ui .topbar nav a{min-height:44px;display:inline-flex;align-items:center;border:1px solid transparent;transition:background .18s,color .18s}
.professional-ui .topbar nav a:hover{background:#21392b;color:#fff;text-decoration:none}
.professional-ui .topbar nav a.active{background:#233c2d;border-color:#375942;color:#7cebb0}
.professional-ui .topbar-note{font-size:.875rem}
.professional-ui :is(button,a,input,select,summary):focus-visible{outline:3px solid #118750;outline-offset:3px}
.professional-ui :is(input,select){border-radius:9px;min-height:44px;transition:border-color .18s,box-shadow .18s}
.professional-ui :is(input,select):not([type=checkbox]):not([type=radio]):focus{border-color:#118750;box-shadow:0 0 0 3px #11875012}
.professional-ui input[type=checkbox],.professional-ui input[type=radio]{min-height:18px;width:18px;height:18px;accent-color:var(--green-dark)}
.professional-ui .field>span{font-size:.875rem;line-height:1.5}
.professional-ui .field small{font-size:.8125rem;line-height:1.6}
.professional-ui :is(.primary-button,.secondary-button,.store-primary-link,.store-secondary-link){min-height:44px;border-radius:9px;transition:background .18s,border-color .18s,box-shadow .18s}
.professional-ui .primary-button:hover{box-shadow:0 5px 16px #0875461c;text-decoration:none}
.professional-ui .secondary-button:hover{background:#edf6f0;border-color:#92bba2;text-decoration:none}
.catalog-wayfinding{display:flex;align-items:center;gap:12px;font-size:.875rem;color:var(--muted);margin-bottom:18px;flex-wrap:wrap}
.catalog-wayfinding>a{min-height:36px;display:inline-flex;align-items:center}
.catalog-stores-link{margin-left:auto;font-weight:650}
.professional-ui .home-search{padding:28px;border-radius:16px;gap:32px;margin-bottom:14px;background:#fff;box-shadow:0 4px 18px #17271f04;align-items:center}
.professional-ui .home-search h1{font-size:clamp(1.65rem,2.6vw,2.2rem);line-height:1.2;margin:0 0 10px;letter-spacing:-.04em}
.professional-ui .home-search .muted{font-size:.9375rem;line-height:1.6}
.professional-ui .home-search .eyebrow{font-size:.8125rem}
.professional-ui .search-input-wrap{position:relative;display:block;width:100%}
.professional-ui .search-input-wrap input{padding-right:52px;font-size:1rem;min-height:54px;background:#f8fbf9}
.professional-ui .search-input-wrap input::-webkit-search-cancel-button{display:none}
#search-clear{position:absolute;right:5px;top:5px;width:44px;height:44px;border:0;border-radius:7px;background:transparent;color:var(--green-dark);font-size:1.5rem}
#search-clear:hover{background:#e4f3e9}
.catalog-quick-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 28px;font-size:.875rem}
.catalog-quick-actions>span{color:var(--muted);margin-right:4px}
.catalog-quick-actions button{min-height:40px;border:1px solid #ccdcd1;border-radius:999px;background:#fff;padding:8px 16px;color:var(--ink);font-weight:600;transition:background .18s,border-color .18s}
.catalog-quick-actions button[aria-pressed=true]{background:#e0f6e9;color:#075a35;border-color:#64ad82}
.catalog-quick-actions button[aria-pressed=true]::before{content:'✓ ';}
.catalog-quick-actions>a{margin-left:auto;min-height:40px;display:inline-flex;align-items:center;font-weight:600}
.professional-ui .filters-panel{border-radius:14px;box-shadow:none}
.professional-ui .filter-separator{color:#4d6457;letter-spacing:.07em;font-size:.8125rem;padding-top:18px}
.professional-ui .filter-toggle{min-height:44px}
.professional-ui .results-heading{gap:20px;margin-bottom:20px}
.professional-ui .results-heading h2{font-size:1.65rem;line-height:1.25}
.professional-ui #result-count{font-size:.875rem;line-height:1.5;margin-top:8px}
.professional-ui .catalog-controls{gap:12px;align-items:end;flex-wrap:wrap}
.professional-ui :is(.catalog-view-toggle,.stores-view-toggle){border-radius:9px;background:#ebf1ed}
.professional-ui :is(.catalog-view-toggle,.stores-view-toggle) button{min-height:40px;font-size:.875rem}
.professional-ui .active-filters{gap:8px;margin-bottom:16px}
.professional-ui .chip{min-height:36px;font-size:.875rem;border-radius:7px}
.professional-ui :is(.decision-card,.store-product-card,.store-card){border-color:#dce5df;box-shadow:0 2px 8px #182a2004;transition:box-shadow .18s,border-color .18s,transform .18s}
.professional-ui :is(.decision-card,.store-product-card,.store-card):focus-within{border-color:#80b396}
.professional-ui :is(.decision-card,.store-product-card,.store-card):hover{border-color:#9cbda9;box-shadow:0 10px 26px #182a200d}
.professional-ui .decision-card:not(.catalog-list-row):hover{transform:translateY(-2px)}
.professional-ui .card h3{line-height:1.4;letter-spacing:-.025em}
.professional-ui .card-footer{border-top-color:#e6eee9}
.professional-ui .card-footer a{min-height:40px;display:inline-flex;align-items:center}
.professional-ui :is(.card-price strong,.hero-price,.store-product-price strong){font-variant-numeric:tabular-nums;letter-spacing:-.04em}
.professional-ui :is(.breadcrumb,.store-breadcrumb){font-size:.875rem;line-height:1.6;flex-wrap:wrap;gap:10px}
.professional-ui .product-hero{border-radius:18px;box-shadow:0 5px 24px #17271f05}
.professional-ui .product-title{line-height:1.12;letter-spacing:-.045em}
.professional-ui .buy-box{border-radius:12px}
.professional-ui .buy-box>small{font-size:.8125rem;line-height:1.6}
.professional-ui .buy-box-compare-offers{width:100%;display:flex;align-items:center;justify-content:center;margin-top:8px;padding:10px 14px;border:1px solid #72b58f;background:#f4fbf7;color:#0d5d38;font-weight:750;cursor:pointer}
.professional-ui .buy-box-compare-offers:hover{background:#e8f7ee;border-color:#5ca77c;color:#094b2e}
.professional-ui .detail-nav-sticky{border-radius:10px;gap:22px;background:#f4f6f5f5;box-shadow:0 4px 12px #17271f07}
.professional-ui .detail-nav-sticky a{min-height:44px;display:inline-flex;align-items:center;font-size:.875rem}
.professional-ui :is(.panel,.store-section,.store-filters,.stores-intro,.store-hero){border-radius:14px;border-color:#dce5df}
.professional-ui .panel-summary{min-height:72px}
.professional-ui .panel-summary-title{font-size:1.3rem;line-height:1.3}
.professional-ui .panel-summary-description{font-size:.875rem;line-height:1.6}
.professional-ui :is(.description,.chart-note,.spec-grid dd){font-size:.9375rem;line-height:1.7}
.professional-ui :is(.spec-grid dt,.offer-ean,.chart-legend){font-size:.8125rem;line-height:1.6}
.professional-ui .spec-grid>div{padding:14px}
.professional-ui .offer-card{border-radius:12px;border-color:#d5e5db}
.professional-ui .offer-actions a{min-height:40px;display:inline-flex;align-items:center;font-size:.875rem}
.professional-ui :is(.table-wrap,.comparison-table){border-radius:10px}
.professional-ui :is(th,td){font-size:.875rem;line-height:1.6;padding:14px}
.professional-ui th{background:#edf4ef}
.professional-ui tbody tr:hover td{box-shadow:inset 0 0 0 9999px #08754604}
.professional-ui :is(.empty,.store-empty,.spec-empty){background:#fff;border:1px dashed #b9cfc1;border-radius:14px;padding:32px 24px;font-size:1rem;line-height:1.7}
.professional-ui :is(.empty,.store-empty) h3{font-size:1.3rem;line-height:1.3}
.professional-ui :is(.pagination,.stores-directory-pagination,.store-products-pagination){padding:20px 0;gap:16px;flex-wrap:wrap}
.professional-ui :is(.pagination,.stores-directory-pagination,.store-products-pagination) button{min-height:44px;border-radius:9px;font-size:.875rem}
.professional-ui :is(.stores-directory-controls,.store-results-toolbar){gap:16px;align-items:end}
.professional-ui :is(.store-card-description,.store-page-description){font-size:.9375rem;line-height:1.7}
.professional-ui .store-card h2{line-height:1.3;letter-spacing:-.025em}
.professional-ui .store-stats{gap:12px}
.professional-ui .store-stats>div{border-radius:10px;padding:18px}
.professional-ui .store-stats span{font-size:.875rem;line-height:1.5}
.professional-ui .about-card{border-radius:12px}
.professional-ui :is(.about-card p,.about-lead,.contact-copy p){line-height:1.8}
.professional-ui .contact-dialog{border-radius:18px}
.professional-ui .contact-tabs button{min-height:44px}
.professional-ui .toast{max-width:min(520px,calc(100vw - 32px));font-size:.9375rem;border-radius:10px;line-height:1.5}
.professional-ui footer{margin-top:36px;padding-top:24px;gap:24px}
.professional-ui footer p{font-size:.875rem;line-height:1.8}
.back-to-top{position:fixed;left:20px;bottom:20px;z-index:20;display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 14px;border:1px solid #bed1c5;border-radius:999px;background:#fff;color:var(--green-dark);font-size:.875rem;font-weight:650;box-shadow:0 4px 16px #152d2112}
.back-to-top:hover{background:#e8f7ee}
@media(min-width:1000px) and (min-height:760px){.professional-ui .filters-panel{position:sticky;top:20px;max-height:calc(100vh - 40px);overflow:auto;scrollbar-width:thin}}
@media(max-width:1120px){.professional-ui .topbar{justify-content:space-between}.professional-ui .topbar-note{display:none}.professional-ui .catalog-controls{justify-content:flex-start}}
@media(max-width:800px){.professional-ui .home-search{grid-template-columns:1fr;padding:24px;gap:18px}.professional-ui .topbar{gap:12px}.professional-ui .topbar nav{width:100%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;gap:4px;border-top:1px solid #2c4034;padding-top:8px}.professional-ui .topbar nav a{white-space:nowrap;flex-shrink:0}.professional-ui .results-heading{align-items:stretch}.professional-ui .catalog-controls{width:100%}.professional-ui .detail-nav-sticky{gap:18px}.professional-ui .detail-nav-sticky a{white-space:nowrap}.catalog-quick-actions>a{margin-left:0}.professional-ui .store-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.professional-ui .container{padding:20px 14px 28px}.professional-ui .home-search{padding:20px}.professional-ui .home-search h1{font-size:1.7rem}.catalog-wayfinding{gap:8px}.catalog-stores-link{font-size:.8125rem}.catalog-quick-actions{gap:8px;margin-bottom:20px}.catalog-quick-actions>span{width:100%}.catalog-quick-actions button{min-height:44px;padding:8px 12px}.professional-ui .catalog-controls{gap:10px}.professional-ui .card h3{font-size:1rem}.professional-ui .card-footer a{font-size:.875rem}.professional-ui :is(th,td){padding:12px}.professional-ui .offer-actions{gap:10px}.professional-ui .panel-summary-title{font-size:1.15rem}.professional-ui .panel-summary-description{font-size:.875rem}.professional-ui .spec-grid dd{font-size:.875rem}.professional-ui footer{display:block}.back-to-top{left:14px;bottom:16px;width:44px;padding:10px;justify-content:center}.back-to-top span{display:none}}
@media(prefers-reduced-motion:reduce){.professional-ui *{transition:none!important}.professional-ui .decision-card:hover{transform:none}}

.professional-ui .search-input-label{display:block}
.professional-ui .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
