.shop-shell{background:var(--bg-subtle-mint)}
.shop-page{min-height:70vh}
.shop-hero{padding:72px 0 48px;background:linear-gradient(135deg,rgba(13,110,110,.08),transparent 58%),var(--bg-surface);border-bottom:1px solid var(--border-color)}
.shop-breadcrumb{display:flex;align-items:center;gap:10px;margin-bottom:30px;color:var(--text-muted);font-size:.82rem}
.shop-breadcrumb a{color:var(--primary-teal);font-weight:700}
.shop-hero__content{display:flex;align-items:end;justify-content:space-between;gap:32px}
.shop-eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--primary-teal);font-size:.8rem;font-weight:800}
.shop-hero h1{max-width:700px;margin:14px 0 12px;color:var(--text-heading);font-size:clamp(1.8rem,4vw,3.2rem);line-height:1.35}
.shop-hero p{max-width:620px;margin:0;color:var(--text-muted);line-height:2}
.shop-hero__count{min-width:150px;padding:20px;border:1px solid var(--border-color);border-radius:14px;background:var(--bg-surface-elevated);text-align:center}
.shop-hero__count strong{display:block;color:var(--primary-teal);font-size:1.7rem}
.shop-hero__count span{color:var(--text-muted);font-size:.78rem}
.shop-content{padding:34px 0 82px}
.shop-filters{display:grid;grid-template-columns:minmax(220px,1.6fr) repeat(3,minmax(150px,1fr)) auto;gap:12px;align-items:end;padding:16px;border:1px solid var(--border-color);border-radius:14px;background:var(--bg-surface-elevated)}
.shop-filters label{display:grid;gap:7px;color:var(--text-heading);font-size:.78rem;font-weight:800}
.shop-filters input,.shop-filters select{min-height:44px;width:100%;padding:0 13px;border:1px solid var(--border-color);border-radius:9px;background:var(--bg-surface);color:var(--text-heading);font:inherit}
.shop-search{position:relative}
.shop-search>i{position:absolute;right:14px;bottom:14px;color:var(--text-muted)}
.shop-search input{padding-right:40px}
.shop-filter-button{min-height:44px;padding:0 18px;border:0;border-radius:9px;background:var(--primary-teal);color:#fff;font:inherit;font-weight:800;cursor:pointer}
.shop-results-head{display:flex;justify-content:space-between;gap:12px;margin:22px 0 16px;color:var(--text-muted);font-size:.82rem}
.shop-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.shop-product-card{overflow:hidden;border:1px solid var(--border-color);border-radius:13px;background:var(--bg-surface-elevated);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.shop-product-card:hover{transform:translateY(-4px);border-color:#9ccbc4;box-shadow:0 14px 30px rgba(17,68,70,.1)}
.shop-product-card__media{display:grid;place-items:center;aspect-ratio:16/10;overflow:hidden;background:#dff1ed;color:var(--primary-teal);font-size:2.5rem}
.shop-product-card__media img{width:100%;height:100%;object-fit:cover}
.shop-product-card__body{display:flex;min-height:255px;flex-direction:column;padding:18px}
.shop-product-card__group{color:var(--primary-teal);font-size:.75rem;font-weight:800}
.shop-product-card h2{margin:9px 0;color:var(--text-heading);font-size:1.05rem}
.shop-product-card p{display:-webkit-box;margin:0;overflow:hidden;color:var(--text-muted);font-size:.84rem;line-height:1.9;-webkit-line-clamp:4;-webkit-box-orient:vertical}
.shop-product-card__meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:16px;border-top:1px solid var(--border-color)}
.shop-product-card__meta strong{color:var(--primary-teal)}
.shop-product-card__meta small{font-size:.7rem}
.shop-stock{padding:5px 9px;border-radius:6px;font-size:.72rem;font-weight:800}
.shop-stock--available{background:#dff6e8;color:#087f47}
.shop-stock--empty{background:#fbe6e6;color:#a33a3a}
.shop-product-card__action{width:100%;margin-top:14px}
.shop-empty{padding:70px 20px;border:1px dashed var(--border-color);color:var(--text-muted);text-align:center}
.shop-empty i{color:var(--primary-teal);font-size:2.5rem}
.shop-empty h2{margin:16px 0 8px;color:var(--text-heading);font-size:1.1rem}
.shop-empty p{margin:0}
.shop-pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:28px}
.shop-pagination>div{display:flex;gap:6px}
.shop-pagination button{min-width:38px;min-height:38px;padding:0 10px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-surface-elevated);color:var(--text-heading);font:inherit;cursor:pointer}
.shop-pagination button:hover:not(:disabled),.shop-pagination button.is-current{border-color:var(--primary-teal);background:var(--primary-teal);color:#fff}
.shop-pagination button:disabled{cursor:default;opacity:.5}
[data-product-results].is-loading{min-height:220px;opacity:.52;pointer-events:none;transition:opacity .18s ease}
.shop-status{min-height:24px;margin-top:12px;color:var(--primary-teal);font-size:.82rem}
@media(max-width:1000px){.shop-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.shop-search{grid-column:1/-1}.shop-filter-button{width:100%}.shop-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.shop-hero{padding:48px 0 34px}.shop-hero__content{display:block}.shop-hero__count{width:150px;margin-top:24px}.shop-filters,.shop-product-grid{grid-template-columns:1fr}.shop-results-head{align-items:start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.shop-product-card{transition:none}.shop-product-card:hover{transform:none}}
