.rsh-category-header { padding-top:4px; padding-bottom:14px; }
.rsh-category-header h1 { margin:0; font-size:clamp(2rem,3.2vw,2.625rem); }
.rsh-shop-shell { padding: 30px 0 64px; }
.rsh-shop-shell.is-archive { padding-top: 16px; }
.rsh-catalog-layout { display:grid; gap:26px; }
.rsh-catalog-layout.has-sidebar { grid-template-columns:250px minmax(0,1fr); align-items:start; }
.rsh-catalog-filters { position:sticky; top:182px; display:grid; gap:18px; margin-top:28px; padding:20px; border:1px solid var(--rsh-border); border-radius:var(--rsh-radius-card); background:#fff; }
.admin-bar .rsh-catalog-filters { top:214px; }
.rsh-catalog-filters > div:first-child { display:grid; gap:4px; }
.rsh-catalog-filters small { color:var(--rsh-text-muted); font-size:.78rem; }
.rsh-catalog-filters__buttons { display:grid; gap:8px; }
.rsh-catalog-filters button { min-height:42px; padding:9px 12px; border:1px solid var(--rsh-border); border-radius:9px; background:#fff; color:var(--rsh-text); font-weight:680; text-align:left; cursor:pointer; }
.rsh-catalog-filters button:hover,.rsh-catalog-filters button.is-active { border-color:var(--rsh-green); background:var(--rsh-green-light); color:var(--rsh-green-dark); }
.rsh-catalog-toolbar { min-height:54px; margin-bottom:18px; }
.rsh-loop-card[hidden] { display:none !important; }
.woocommerce .woocommerce-notices-wrapper:empty { display: none; }
.woocommerce .woocommerce-result-count { margin: 0; color: var(--rsh-text-muted); font-size: .9rem; }
.woocommerce .woocommerce-ordering { margin: 0; }
.woocommerce .woocommerce-ordering select { min-width: 230px; min-height: 44px; border: 1px solid var(--rsh-border); border-radius: var(--rsh-radius-small); background: var(--rsh-surface) no-repeat right 12px center; padding: 8px 40px 8px 12px; }
.woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { display: inline-flex; min-height: 52px; align-items: center; }
.woocommerce .woocommerce-ordering { float: right; }
.woocommerce ul.products { display: grid; width: 100%; margin: 22px 0 0; padding: 0; clear: both; grid-template-columns: repeat(auto-fill,minmax(270px,1fr)); gap: 18px; list-style: none; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product.rsh-loop-card { display: flex; width: auto !important; min-width: 0; margin: 0 !important; overflow: hidden; border: 1px solid var(--rsh-border); border-radius: var(--rsh-radius-card); background: var(--rsh-surface); box-shadow: var(--rsh-shadow-soft); flex-direction: column; transition: border-color var(--rsh-transition), box-shadow var(--rsh-transition), transform var(--rsh-transition); }
.woocommerce ul.products li.product.rsh-loop-card:hover { border-color: #8eb9ed; box-shadow: var(--rsh-shadow-card); }
.rsh-loop-card__image { position: relative; display: block; width: 100%; aspect-ratio: 1 / 1; overflow: hidden; background: var(--rsh-surface-soft); }
.rsh-loop-card__image img { display: block; width: 100% !important; height: 100% !important; margin: 0 !important; object-fit: contain; object-position: center; transition: opacity 180ms ease; }
.rsh-loop-card__image > .rsh-image-missing,.rsh-loop-card__image > .rsh-brand-image-fallback { height:100%; border:0; }
.rsh-loop-card__badge { position: absolute; z-index: 2; top: 14px; left: 14px; border: 1px solid rgba(255,255,255,.7); border-radius: 99px; background: rgba(255,255,255,.92); color: var(--rsh-green-dark); padding: 6px 10px; font-size: .7rem; font-weight: 800; box-shadow: 0 4px 12px rgba(0,18,41,.08); }
.rsh-loop-card__body { display: flex; padding: 17px; flex: 1; flex-direction: column; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0; font-size: 1.2rem; line-height: 1.25; }
.woocommerce-loop-product__title a { color: inherit; text-decoration: none; }
.rsh-product-card__feature { display: -webkit-box; margin: 0 0 13px; overflow: hidden; color: var(--rsh-text-muted); font-size: .84rem; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.rsh-assembly-note { margin:0 0 13px; padding:8px 10px; border:1px solid var(--rsh-border); border-radius:8px; background:var(--rsh-surface-soft); color:var(--rsh-text-muted); font-size:.72rem; line-height:1.4; }
.rsh-loop-card__samples { display:flex; min-height:34px; margin:0 0 14px; flex-wrap:wrap; gap:6px; }
.rsh-loop-card__samples a { display:grid; width:32px; height:32px; overflow:hidden; place-items:center; border:1px solid var(--rsh-border); border-radius:7px; background:var(--sample-color,#eaf3ff); color:var(--rsh-green-dark); text-decoration:none; }
.rsh-loop-card__samples a:hover,.rsh-loop-card__samples a:focus-visible { border-color:var(--rsh-green); }
.rsh-loop-card__samples img { width:100%; height:100%; object-fit:cover; }
.rsh-loop-card__samples .is-missing span { font-size:.55rem; font-weight:850; letter-spacing:.05em; }
.rsh-loop-card__samples-more { display:inline-flex; min-height:32px; align-items:center; color:var(--rsh-text-muted); font-size:.72rem; font-weight:700; }
.rsh-loop-card__footer { display:grid; width:100%; min-width:0; margin-top:auto; padding:0 3px 3px 0; box-sizing:border-box; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:10px; }
.woocommerce ul.products li.product .price, .rsh-loop-card .price { margin:0; color:var(--rsh-green-dark); font-size:.9rem; font-weight:850; line-height:1.18; }
.rsh-loop-card__footer .price { min-width:0; align-self:end; }
.rsc-reference-price { display:grid; line-height:1.18; gap:2px; }
.rsc-reference-price__amount { white-space:nowrap; }
.rsc-reference-price small { color:var(--rsh-text-muted); font-size:.68rem; font-weight:650; white-space:nowrap; }
.rsh-loop-card__footer .rsc-reference-price small { max-width:100%; font-size:.61rem; line-height:1.2; white-space:nowrap; }
.rsc-reference-price--unavailable { font-size:.88rem; }
.rsh-loop-card .rsc-reference-price--unavailable { font-size:.7rem; line-height:1.2; white-space:nowrap; }
.rsh-featured-card .rsh-assembly-note { margin-top:-5px; }
.rsh-loop-card__footer .button { width:auto; min-width:104px; min-height:36px; max-width:none; margin:0 0 0 auto !important; padding:7px 14px; justify-content:center; gap:0; font-size:.68rem; line-height:1.15; text-align:center; white-space:nowrap; }
.rsh-catalog-after { padding:clamp(36px,5vw,56px) 0; }
.rsh-catalog-after h2 { margin-bottom:24px; }
.rsh-catalog-after__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.rsh-catalog-after__grid article { padding:22px; border:1px solid var(--rsh-border); border-radius:var(--rsh-radius-card); background:#fff; }
.rsh-catalog-after__grid strong { display:block; margin-bottom:7px; color:var(--rsh-green-dark); font-size:1.1rem; }
.rsh-catalog-after__grid p { margin:0; color:var(--rsh-text-muted); }
.woocommerce nav.woocommerce-pagination { margin-top: 42px; }
.woocommerce nav.woocommerce-pagination ul { display: inline-flex; margin: 0; overflow: hidden; border: 1px solid var(--rsh-border); border-radius: 10px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; border-right: 1px solid var(--rsh-border); }
.woocommerce nav.woocommerce-pagination ul li:last-child { border-right: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { display: grid; min-width: 42px; min-height: 42px; place-items: center; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--rsh-green); color: #fff; }
@media (max-width: 900px) { .rsh-catalog-layout.has-sidebar { grid-template-columns:1fr; } .rsh-catalog-filters { position:static; } .rsh-catalog-filters__buttons { grid-template-columns:repeat(2,minmax(0,1fr)); } .woocommerce ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width:620px) { .rsh-catalog-after__grid { grid-template-columns:1fr; } }
@media (max-width: 560px) { .woocommerce .woocommerce-result-count, .woocommerce .woocommerce-ordering { display: flex; width: 100%; float: none; } .woocommerce .woocommerce-ordering select { width: 100%; } .woocommerce ul.products { grid-template-columns: 1fr; } .rsh-loop-card__footer { grid-template-columns:1fr; align-items:stretch; gap:10px; } .rsh-loop-card__footer .button { width:100%; min-height:44px; max-width:none; justify-self:stretch; } }
