/* Category-first catalog. All colors outside products/logos use the A+ palette. */
.store-catalog{color:#111;padding-bottom:68px}
.catalog-shop-intro{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:22px 0 34px;padding:28px 32px;background:#cbff00;border-radius:4px}
.catalog-shop-intro h1{margin:0}
.catalog-shop-intro p{margin:12px 0 0;font-size:16px;line-height:24px;color:#252525}
.catalog-solid-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:12px 20px;min-height:48px;background:#111;color:#fff;border:1px solid #111;border-radius:4px;font-size:16px;line-height:24px;font-weight:700;white-space:nowrap}
.catalog-solid-button:hover{background:#303030;color:#fff}
.catalog-solid-button .icon{width:18px;height:18px}
.catalog-discovery,.catalog-brands{margin:0 0 36px}
.catalog-section-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:0 0 18px}
.catalog-section-head h2{margin:0;font:700 30px/1.25 var(--ap-font-display);text-transform:uppercase;color:#111}
.catalog-section-head>a{display:inline-flex;align-items:center;gap:16px;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:4px;color:#111}
.catalog-section-head>span{color:#555;font-size:14px}
.catalog-category-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.catalog-category-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:#fff;border:1px solid #d0d0d0;border-radius:4px;color:#111;text-decoration:none;transition:border-color .15s}
.catalog-category-card:hover{border-color:#111;color:#111;box-shadow:inset 0 -4px #cbff00}
.catalog-category-card__image{display:flex;align-items:center;justify-content:center;height:155px;padding:16px 20px 4px}
.catalog-category-card__image img{width:100%;height:100%;object-fit:contain;display:block}
.catalog-category-card__label{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px;min-height:76px;margin-top:auto;font-size:16px;line-height:22px;font-weight:700}
.catalog-category-card__label>span{font-size:20px;font-weight:400;flex-shrink:0}
.catalog-brand-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.catalog-brand-card{display:flex;align-items:center;flex-direction:column;justify-content:space-between;gap:16px;padding:20px;background:#fff;border:1px solid #d0d0d0;border-radius:4px;color:#111;min-height:136px}
.catalog-brand-card:hover{border-color:#111;box-shadow:inset 0 -4px #cbff00;color:#111}
.catalog-brand-card>img{display:block;width:100%;max-width:180px;height:56px;object-fit:contain}
.catalog-brand-card>strong{display:flex;align-items:center;justify-content:center;min-height:56px;font-size:24px}
.catalog-brand-card>span{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;font-size:14px;font-weight:700}
.catalog-brand-card>span>span{font-size:20px;font-weight:400}
.catalog-results{padding-top:24px;border-top:1px solid #d0d0d0;scroll-margin-top:170px}
.catalog-results .shop-layout{grid-template-columns:248px minmax(0,1fr);gap:28px;margin-top:0;align-items:start}
.catalog-results .shop-layout--full{grid-template-columns:1fr}
.catalog-results .shop-bar{min-height:54px;margin-bottom:20px;padding:0 0 12px;border-bottom:1px solid #d0d0d0;gap:16px}
.catalog-results .woocommerce-result-count{color:#333;font-size:14px;margin:0}
.catalog-results .woocommerce-ordering{margin:0}
.store-catalog .woocommerce-ordering select{background:#fff;color:#111;border:1px solid #a9a9a9;border-radius:3px;min-height:44px}
.catalog-results-head{margin:24px 0 28px}
.catalog-back-link{display:inline-block;margin-top:14px;font-size:14px;text-decoration:underline;text-underline-offset:4px;color:#111}
.store-catalog .store-catalog-help{color:#111}
.catalog-results .prod{border-color:#d3d3d3;border-radius:4px;background:#fff}
.store-catalog .prod-card__cta>.button{background:#cbff00!important;border:1px solid #b8d52f!important;border-radius:3px!important;color:#111!important;box-shadow:none!important}
.store-catalog .prod-card__cta>.button:hover{background:#bcea00!important;border-color:#111!important}
.store-catalog .prod-call{border-color:#111!important;border-radius:3px!important;color:#111!important;background:#fff!important}
.store-catalog .prod-brand__name{text-transform:none;color:#333}
.store-catalog .store-active-filters{padding:0 0 18px;gap:8px;flex-wrap:wrap}
.store-catalog .store-active-filters>a:not(.store-clear){display:inline-flex;gap:12px;align-items:center;padding:8px 12px;background:#cbff00;border:1px solid #b1d100;border-radius:3px;color:#111;font-size:14px}
.store-catalog .store-active-filters .store-clear{color:#111;text-decoration:underline;padding:8px}
.store-catalog .store-empty{border-color:#ccc;background:#fff}
/* Available on both the desktop sidebar and the mobile dialog. */
.store-filters{background:#fff;border:1px solid #d0d0d0;border-radius:4px;padding:18px 16px;color:#111}
.store-filter-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px}
.store-filter-heading strong{font-size:20px}
.store-filter-heading a{font-size:13px;color:#333;text-decoration:underline;text-underline-offset:3px}
.store-stock-toggle{padding:10px 12px;background:#f4f4f4;border-left:4px solid #cbff00;margin-bottom:14px}
.store-filters .store-check{display:flex;align-items:center;gap:9px;position:relative;min-height:35px;padding:5px 0;color:#222;font-size:14px;line-height:20px;cursor:pointer}
.store-filters .store-check input{flex:0 0 17px;width:17px;height:17px;accent-color:#111;margin:0;cursor:pointer;border-radius:2px}
.store-filters .store-check__label{min-width:0}
.store-filters .store-check small{margin-left:auto;color:#666;font-size:12px;line-height:18px}
.store-filters .store-check:has(input:checked){color:#111;font-weight:700}
.store-filters .store-check.is-empty{color:#666}
.store-filters .store-check.is-empty:has(input:checked){color:#111}
.store-filter-section{border:0;border-top:1px solid #dedede;margin:0;padding:0}
.store-filter-section>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:12px 0;font-size:16px;line-height:22px;font-weight:700;cursor:pointer;color:#111}
.store-filter-section>summary::-webkit-details-marker{display:none}
.store-filter-section>summary:after{content:'+';font-size:22px;font-weight:400}
.store-filter-section[open]>summary:after{content:'−'}
.store-filter-section__body{padding:0 0 16px}
.store-filters .store-filter-options{display:block;max-height:none;overflow:visible;padding:0}
.store-filters .store-filter-options--colors{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.store-filters .store-check--color{display:grid;grid-template-columns:22px minmax(0,1fr);gap:5px 7px;min-height:68px;padding:9px 7px;border:1px solid #d0d0d0;border-radius:3px;font-size:13px;line-height:18px}
.store-filters .store-check--color input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.store-filters .store-check--color .store-swatch{width:22px;height:22px;grid-column:1;grid-row:1;border-radius:2px;border:1px solid rgba(0,0,0,.2);margin:0}
.store-filters .store-check--color .store-check__label{grid-column:2;grid-row:1}
.store-filters .store-check--color small{grid-column:2;grid-row:2;margin:0}
.store-filters .store-check--color:has(input:checked){background:#f4ffcc;border-color:#111;box-shadow:inset 0 0 0 1px #111}
.store-filters .store-check--color:has(input:checked):after{content:'✓';position:absolute;left:10px;bottom:6px;font-size:14px;color:#111}
.store-filters .store-check--color:has(input:focus-visible){outline:2px solid #111;outline-offset:2px}
.store-swatch--black{background:#111}.store-swatch--gray{background:#949494}.store-swatch--brown{background:#88421f}.store-swatch--white{background:#fff}.store-swatch--green{background:#159447}.store-swatch--blue{background:#1264dc}.store-swatch--red{background:#ef2020}
.store-filters .store-filter-note{font-size:12px!important;line-height:18px;color:#666;margin:10px 0 0}
.store-filters select,.store-filters input[type=number]{background:#fff;border:1px solid #aaa;border-radius:3px;min-height:42px;width:100%;padding:9px 10px;font-size:14px;color:#111}
.store-price-inputs{display:flex;align-items:end;gap:8px}
.store-price-inputs>label{display:block;min-width:0;flex:1;font-size:13px!important;line-height:20px!important}
.store-price-inputs>label>span{display:block;margin-bottom:4px}
.store-price-inputs>span{padding-bottom:12px}
.store-filter-submit{position:sticky;bottom:10px;padding:14px 0 0;background:#fff;margin-top:0;z-index:2}
.store-filters .store-filter-apply{display:flex;justify-content:center;width:100%;min-height:46px;background:#cbff00;border:1px solid #b1d100;color:#111;border-radius:3px;box-shadow:none;transform:none}
.store-filters .store-filter-apply:hover{background:#bcea00;border-color:#111;color:#111}
.store-filters .store-filter-apply .icon{display:none}
.store-catalog a:focus-visible,.store-filter-section>summary:focus-visible{outline:2px solid #111;outline-offset:4px}
#drawer-filters .store-filters{border:0;padding:16px 20px 28px}
#drawer-filters .store-filter-submit{bottom:0;padding-bottom:12px}
#drawer-filters .drawer-panel{background:#fff}
@media(min-width:1200px){.catalog-brand-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.catalog-brand-card{padding:18px 12px;min-height:138px}.catalog-brand-card>span{font-size:12px}.catalog-brand-card>img{height:58px}}
@media(max-width:1100px){.catalog-category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.catalog-results .shop-layout{grid-template-columns:220px minmax(0,1fr);gap:20px}.catalog-results .shop-layout--full{grid-template-columns:1fr}.catalog-results ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important}.catalog-shop-intro{padding:26px}.catalog-shop-intro h1{font-size:40px}.catalog-category-card__image{height:155px}}
@media(max-width:980px){.catalog-shop-intro{align-items:flex-start;flex-direction:column;gap:20px}.catalog-category-grid{gap:12px}.catalog-category-card__image{height:135px;padding:12px}.catalog-category-card__label{padding:12px;font-size:15px}.catalog-results .shop-layout{display:block}.catalog-results .shop-side{display:none}.catalog-results .filter-toggle{display:inline-flex;background:#111;color:#fff;border:1px solid #111;border-radius:3px;min-height:44px}.catalog-section-head h2{font-size:26px}.catalog-results{scroll-margin-top:140px}}
@media(max-width:600px){.store-catalog{padding-bottom:40px}.catalog-shop-intro{margin:14px 0 28px;padding:24px 20px}.catalog-shop-intro h1{font-size:32px}.catalog-shop-intro p{font-size:16px}.catalog-section-head{gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:16px}.catalog-section-head h2{font-size:24px}.catalog-section-head>a{font-size:13px}.catalog-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.catalog-category-card__image{height:136px;padding:14px 12px 0}.catalog-category-card__label{font-size:16px;line-height:22px;padding:14px 12px;min-height:72px}.catalog-category-card__label>span{display:none}.catalog-brand-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.catalog-brand-card{padding:18px 14px;min-height:130px}.catalog-brand-card>img{height:48px}.catalog-brand-card>span{font-size:13px}.catalog-discovery,.catalog-brands{margin-bottom:28px}.catalog-products-heading>span{display:none}.catalog-results .shop-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.catalog-results .store-results-count{flex:1;text-align:right}.catalog-results .woocommerce-ordering{width:100%}.store-catalog .woocommerce-ordering select{width:100%}.catalog-results ul.products{gap:12px!important}.catalog-results-head{align-items:flex-start;gap:20px}.catalog-results-head .store-catalog-help{display:none}.store-catalog .store-active-filters>a:not(.store-clear){font-size:13px}.catalog-results{scroll-margin-top:130px}}
@media(prefers-reduced-motion:reduce){.catalog-category-card{transition:none}}
.catalog-more-categories{display:flex;align-items:center;gap:16px;margin-top:16px;font-size:14px;color:#555}.catalog-more-categories a{color:#111;text-decoration:underline;text-underline-offset:4px}
@media(max-width:600px){.catalog-results ul.products{grid-template-columns:minmax(0,1fr)!important}.catalog-results{scroll-margin-top:205px}}
