/* Product classification changes presentation only; product data and cart stay intact. */
.catalog-group-filters{display:grid;grid-template-columns:repeat(3,minmax(0,15rem));align-items:stretch;gap:1rem;margin:0 0 1.5rem}
.catalog-group-filters[hidden],#products .product-card[hidden]{display:none}
.catalog-group-filters button{color:var(--ink,#353426);font:inherit;line-height:1.35;cursor:pointer;-webkit-appearance:none;appearance:none}
.catalog-group-all{grid-column:1/-1;justify-self:start;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:48px;padding:.65rem 1rem;border:1px solid var(--line,#cec4af);border-radius:2rem;background:transparent;font-size:.9rem}
.catalog-group-all[aria-pressed="true"]{background:var(--action,#5b4736);border-color:var(--action,#5b4736);color:var(--white,#fffdf7)}
.catalog-group-card{display:flex;flex-direction:column;align-items:stretch;min-width:0;padding:.5rem .5rem .9rem;border:2px solid var(--line,#cec4af);border-radius:1rem;background:var(--paper,#fffdf7);text-align:left;transition:border-color .16s,box-shadow .16s}
.catalog-group-card[aria-pressed="true"]{border-color:var(--action,#5b4736);box-shadow:0 0 0 1px var(--action,#5b4736)}
.catalog-group-photo{display:block;position:relative;overflow:hidden;width:100%;aspect-ratio:1/1;border-radius:.6rem;background:var(--olive,#e7ddc8)}
.catalog-group-placeholder{display:grid;place-items:center;width:100%;height:100%;font-size:2.5rem;color:var(--muted,#615c4f)}
/* Preserve the original crop coordinates inside a centred square thumbnail. */
.catalog-group-photo>.product-image,.catalog-group-photo>.photo-crop{display:block;position:absolute;top:50%;left:0;width:100%;max-height:none;transform:translateY(-50%)}
.catalog-group-name{display:block;margin:.8rem .25rem 0;font-size:1rem;font-weight:600;line-height:1.35;overflow-wrap:anywhere}
.catalog-group-count{display:block;margin:.35rem .25rem 0;color:var(--muted,#615c4f);font-size:.8rem;font-weight:400;line-height:1.4}
.catalog-group-all .catalog-group-count{display:inline;margin:0;color:inherit}
.catalog-group-filters button:focus-visible{outline:3px solid var(--ink,#353426);outline-offset:4px}
.catalog-group-filters-preview button:disabled{opacity:1;cursor:default}
.catalog-group-status{min-height:1.4em;margin:0 0 1rem;color:var(--muted,#615c4f);font-size:.85rem}
.catalog-group-status:empty{display:none}
.catalog-groups-preview{margin:0 0 1.2rem;color:var(--muted,#615c4f);font-size:.9rem}
#products:focus-visible{outline:3px solid var(--ink,#353426);outline-offset:6px}
@media(hover:hover){.catalog-group-card:not(:disabled):hover{border-color:var(--action,#5b4736);box-shadow:0 2px 8px rgba(36,29,21,.08)}}
#products .product-photo-link{position:relative}
#products .product-has-labels{display:grid}
#products .product-has-labels>div{grid-area:1/1}
.product-label-overlay{grid-area:1/1;z-index:1;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.8rem;pointer-events:none;min-width:0}
#products .product-label-overlay .product-type{position:static;max-width:100%;white-space:normal;overflow-wrap:anywhere;align-self:flex-start}
.product-label-overlay .product-dietary-badges{position:static;margin-top:auto}
.product-dietary-badges{position:absolute;left:.8rem;right:.8rem;bottom:.8rem;display:flex;flex-wrap:wrap;align-items:flex-start;gap:.4rem;pointer-events:none}
.product-dietary-badge{display:inline-flex;align-items:center;gap:.4rem;max-width:100%;border:1px solid rgba(92,71,52,.15);border-radius:.55rem;padding:.45rem .6rem;background:#fffdf5;color:#4d3d2f;box-shadow:0 2px 6px rgba(36,29,21,.08);font:600 .76rem/1.3 var(--sans,system-ui,sans-serif);text-align:left}
.product-dietary-badge svg{flex:0 0 22px;width:22px;height:22px}
.product-dietary-badge span{overflow-wrap:anywhere}
#products .product-category{margin:0 0 .4rem;font-size:.8rem;line-height:1.4;color:var(--muted,#615c4f);font-weight:500}
@media(max-width:600px){.catalog-group-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.catalog-group-card{padding:.4rem .4rem .75rem}.catalog-group-name{font-size:.95rem;margin-top:.65rem}.catalog-group-count{font-size:.78rem}.product-dietary-badges{left:.65rem;right:.65rem;bottom:.65rem}.product-dietary-badge{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.catalog-group-filters button{transition:none}}
