
.catalog-design .home-featured{margin:12px 0 22px}
.catalog-design .home-featured-filters{display:flex;gap:8px;overflow-x:auto;margin:0 0 14px;padding:0 0 4px}
.catalog-design .home-featured-filters button{flex:none;font:inherit;font-size:14px;line-height:1.4;padding:9px 17px;min-height:40px;border:1px solid #cadbd4;border-radius:24px;background:#fff;color:#245c56;box-shadow:none}
.catalog-design .home-featured-filters button[aria-pressed=true]{background:#155c58;border-color:#155c58;color:#fff}
.catalog-design .home-featured-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px;align-items:stretch;overflow:visible;min-height:0;padding:0;margin:0}
.catalog-design .home-featured-grid .home-product-card{grid-column:span 4;display:flex;flex-direction:column;position:relative;min-width:0;width:auto;max-width:none;margin:0;padding:0;border:1px solid #d7e2dd;border-radius:10px;box-shadow:none;overflow:hidden;background:#fff}
.catalog-design .home-featured-grid .home-product-photo{display:flex;align-items:center;justify-content:center;height:140px;min-height:0;aspect-ratio:auto;margin:0;padding:14px;background:#f6f8f6}
.catalog-design .home-featured-grid .home-product-photo img{display:block;width:100%;height:100%;max-width:100%;object-fit:contain;mix-blend-mode:multiply}
.catalog-design .home-featured-grid .home-product-body{display:flex;flex-direction:column;flex:1;gap:0;min-width:0;padding:12px 14px}
.catalog-design .home-featured-grid .home-product-shop{display:block;font-size:11px;line-height:16px;color:#657d77;margin:0 0 4px;padding:0}
.catalog-design .home-featured-grid h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:40px;height:40px;max-height:40px;margin:0 0 9px;padding:0;font-size:14px;line-height:20px;font-weight:650;letter-spacing:0}
.catalog-design .home-featured-grid h3 a{display:inline;font:inherit;line-height:inherit;color:#223436;text-decoration:none;margin:0;padding:0}
.catalog-design .home-featured-grid .home-product-rating{display:none}
.catalog-design .home-featured-grid .home-product-price{display:block;font-size:26px;line-height:32px;letter-spacing:-.5px;margin:0;padding:0;color:#a14c25;font-weight:750;font-variant-numeric:tabular-nums}
.catalog-design .home-featured-grid .price-prefix{display:block;margin:0 0 2px;padding:0;color:#647973;font-size:11px;font-weight:400;line-height:16px;letter-spacing:0}
.catalog-design .home-featured-grid .price-value{display:flex;align-items:baseline;gap:2px;white-space:nowrap;flex-wrap:nowrap}
.catalog-design .home-featured-grid .price-value small{display:inline;flex:none;font-size:13px;line-height:1;font-weight:650;letter-spacing:0;margin:0;padding:0;color:inherit}
.catalog-design .home-featured-grid .price-pending{font-size:14px;line-height:1.6}
.catalog-design .home-featured-grid .home-product-shipping{display:block;font-size:11px;line-height:16px;margin:3px 0 10px;padding:0;color:#667d75;text-decoration:none}
.catalog-design .home-featured-grid .home-product-link{display:block;min-height:36px;padding:8px 0 0;margin:auto 0 0;border-top:1px solid #e0e7e2;text-decoration:none;color:#175c56;font-size:13px;line-height:18px;font-weight:650;white-space:nowrap;box-shadow:none;background:none}
.catalog-design .home-featured-grid .favorite-button{position:absolute;right:8px;top:8px;width:38px;height:38px;min-height:38px;padding:8px;display:flex;align-items:center;justify-content:center}
.catalog-design .home-featured-grid .favorite-button svg{width:22px;height:22px}
.catalog-design .home-featured .catalog-price-note{font-size:12px;line-height:1.6;margin:12px 0;color:#637b72}
.catalog-design .home-featured-state{font-size:12px;line-height:1.5;color:#55766c;margin:8px 0}
.catalog-design .home-featured-state:empty{display:none}
.catalog-design .home-featured-grid .home-shelf-empty{grid-column:1/-1;padding:16px;background:#f3f7f4;border-radius:8px;min-height:0}
.catalog-design .home-featured-grid .home-shelf-empty p{margin:0 0 6px;font-size:14px}
.catalog-design .home-featured-grid .home-shelf-empty a{font-size:14px;color:#155c58}
.catalog-design .home-category-links{margin:22px 0 30px;padding-top:20px;border-top:1px solid #dce6df}
.catalog-design .home-category-links h2{font-size:21px;margin:0 0 14px}
.catalog-design .home-category-links nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.catalog-design .home-category-links a{display:block;padding:14px;border:1px solid #dce6df;border-radius:8px;background:#f7faf8;color:#24524f;text-decoration:none;font-size:14px}

/* Fill the available row using the actual rendered product count. */
.catalog-design .home-featured-grid[data-count="4"] .home-product-card{grid-column:span 3}
.catalog-design .home-featured-grid[data-count="2"] .home-product-card,
.catalog-design .home-featured-grid[data-count="5"] .home-product-card:nth-last-child(-n+2){grid-column:span 6}
.catalog-design .home-featured-grid[data-count="1"] .home-product-card{grid-column:1/-1;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.catalog-design .home-featured-grid[data-count="1"] .home-product-photo{height:auto;min-height:140px}
@media(max-width:1000px){
.catalog-design .home-featured-grid[data-count="4"] .home-product-card{grid-column:span 6}
}

@media(max-width:700px){
.catalog-design .home-featured-grid[data-count] .home-product-card{grid-column:span 6}
.catalog-design .home-featured-grid[data-count="1"] .home-product-card,
.catalog-design .home-featured-grid[data-count="3"] .home-product-card:last-child,
.catalog-design .home-featured-grid[data-count="5"] .home-product-card:last-child{grid-column:1/-1;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.catalog-design .home-featured-grid[data-count="1"] .home-product-card .home-product-photo,
.catalog-design .home-featured-grid[data-count="3"] .home-product-card:last-child .home-product-photo,
.catalog-design .home-featured-grid[data-count="5"] .home-product-card:last-child .home-product-photo{height:auto;min-height:112px}
.catalog-design .home-featured-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:10px}
.catalog-design .home-featured-grid .home-product-photo{height:112px;padding:10px}
.catalog-design .home-featured-grid .home-product-body{padding:10px}
.catalog-design .home-featured-grid h3{font-size:13px;line-height:19px;min-height:38px;height:38px;max-height:38px;margin-bottom:7px}
.catalog-design .home-featured-grid .home-product-price{font-size:24px;line-height:29px}
.catalog-design .home-featured-grid .price-value small{font-size:12px}
.catalog-design .home-featured-grid .home-product-link{font-size:12px}
.catalog-design .home-featured-filters button{font-size:13px;padding:8px 13px}
.catalog-design .home-featured .catalog-price-note{font-size:11px}
.catalog-design .home-category-links nav{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:360px){.catalog-design .home-featured-grid .home-product-body{padding:9px}.catalog-design .home-featured-grid .home-product-price{font-size:21px}.catalog-design .home-featured-grid .price-value small{font-size:11px}.catalog-design .home-featured-grid .home-product-photo{height:100px}}

/* The previous desktop hero used display:contents to float travel beside audio.
   Keep those sections in their later DOM position, outside the new product grid. */
.catalog-design:not([data-browse]) .catalog-home{display:block}
.catalog-design .catalog-home .catalog-showcase{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px;margin:30px 0}
.catalog-design .catalog-home .catalog-showcase .catalog-picks,.catalog-design .catalog-home .catalog-showcase .catalog-feature{grid-column:auto;grid-row:auto;order:initial}
@media(max-width:700px){.catalog-design .catalog-home .catalog-showcase{grid-template-columns:minmax(0,1fr);gap:18px}}

/* member-ui forces flex on shared cards; only a full-row card uses a horizontal grid. */
.catalog-design .home-featured-grid[data-count="1"] .home-product-photo img{height:140px}
.catalog-design .home-featured-grid[data-count="1"] .favorite-button{right:auto;left:8px}
@media(max-width:700px){
.catalog-design .home-featured-grid[data-count="3"] .home-product-card:last-child .home-product-photo img,
.catalog-design .home-featured-grid[data-count="5"] .home-product-card:last-child .home-product-photo img{height:112px}
.catalog-design .home-featured-grid[data-count="3"] .home-product-card:last-child .favorite-button,
.catalog-design .home-featured-grid[data-count="5"] .home-product-card:last-child .favorite-button{right:auto;left:8px}
}

/* Personal results use the same compact cards; controls remain small. */
.catalog-design #personal-pickup[hidden]{display:none!important}
.catalog-design .personal-preference{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin:10px 0 16px;font-size:12px;color:#536f68}
.catalog-design .personal-preference label{display:flex;align-items:center;gap:7px;min-height:32px}
.catalog-design .personal-preference input{width:17px;height:17px;min-height:0;margin:0;accent-color:#155c58}
.catalog-design .personal-preference a{color:#175c56}
.catalog-design .personal-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.catalog-design .personal-heading h2,.catalog-design #featured-pickup-title{font-size:19px;line-height:1.4;margin:0 0 12px}
.catalog-design .personal-heading h2{margin:0}
.catalog-design .personal-heading a{font-size:12px;white-space:nowrap;color:#175c56}
.catalog-design .personal-status{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:#55766c;margin-top:8px}
.catalog-design .personal-status p{margin:0}
.catalog-design .personal-status button{flex:none;font:inherit;border:1px solid #cadbd4;border-radius:6px;background:white;color:#175c56;padding:7px 10px;min-height:34px;box-shadow:none}
.catalog-design .personal-target-met{color:#186448!important;font-weight:700}
.catalog-design #personal-pickup .photo-missing{font-size:12px;color:#627770}
@media(max-width:400px){.catalog-design .personal-heading{align-items:flex-start}.catalog-design .personal-heading h2{font-size:17px}.catalog-design .personal-status{align-items:flex-start}}
