.card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:20px}
.catalog-tile,.hub-ui .hc-link{border-radius:18px;box-shadow:0 12px 30px -22px rgba(24,20,17,.45)}
.catalog-tile{position:relative;isolation:isolate;transform-style:preserve-3d}
.catalog-tile-media{display:block;position:relative;aspect-ratio:1.6;overflow:hidden;background:var(--surface-inset)}
.catalog-tile-media img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;transition:transform .4s ease}
.catalog-tile-empty{display:grid;place-items:center;width:100%;height:100%;padding:16px;color:var(--muted);font-size:13px;font-weight:700;text-align:center;background:linear-gradient(135deg,var(--surface-inset),var(--bg-sunken))}
.catalog-tile .card-body{display:flex;flex-direction:column;gap:7px;padding:20px;min-width:0}
.catalog-tile .catalog-tile-title{display:block;margin:0;font-family:var(--font-heading);font-size:20px;line-height:1.25;letter-spacing:-.025em;color:var(--ink);overflow-wrap:anywhere}
.catalog-tile .card-body small{margin:0;font-size:12px;line-height:1.5}
.catalog-tile-price{display:block;margin-top:auto;padding-top:12px;border-top:1px solid var(--line);font-family:var(--font-heading);font-size:21px;font-weight:800;line-height:1.3;color:var(--ink);overflow-wrap:anywhere}
.catalog-tile-action{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:5px;color:var(--brand-ink);font-size:13px;font-weight:800}
.catalog-tile-action>span{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line-strong);border-radius:50%;font-size:17px;transition:transform .2s,border-color .2s}
.catalog-tile:hover,.hub-ui .hc-link:hover{transform:translateY(-5px);box-shadow:0 24px 44px -26px rgba(24,20,17,.55)}
.catalog-tile:hover .catalog-tile-media img{transform:scale(1.045)}
.catalog-tile:hover .catalog-tile-action>span{transform:translateY(-2px);border-color:var(--brand)}
.catalog-tile:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.hub-ui .hc-media{aspect-ratio:1.6}
.hub-ui .hc-ph{padding:16px;font:700 13px var(--font-body);text-align:center}
.hub-ui .hub-cards[data-view=list] .hc-media{aspect-ratio:auto}
.hub-ui .hc-body{padding:20px}
.hub-ui .hc-title{font-size:20px;letter-spacing:-.025em;color:var(--ink)}
.hub-ui .hc-price{padding-top:12px;border-top:1px solid var(--line);font-size:20px}
.hub-ui .hc-media img{transition:transform .4s ease}
.hub-ui .hc-link:hover .hc-media img{transform:scale(1.045)}
.hub-card-image a{overflow:hidden;padding:0!important;border-radius:18px!important}
.hub-card-media{display:grid;place-items:center;aspect-ratio:1.6;width:100%;overflow:hidden;background:var(--surface-inset);color:var(--muted);font-size:13px;font-weight:700;text-align:center}
.hub-card-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.hub-card-image a:hover img{transform:scale(1.045)}
.hub-card-content{display:grid;gap:8px;padding:18px 20px}
@media(max-width:680px){.catalog-tile .card-body,.hub-ui .hc-body{padding:17px}.catalog-tile-title,.hub-ui .hc-title{font-size:18px}.hub-ui .hub-cards[data-view=list] .hc-media{aspect-ratio:1.6}}
@media(prefers-reduced-motion:reduce){.catalog-tile,.catalog-tile-media img,.catalog-tile-action>span,.hub-ui .hc-link,.hub-ui .hc-media img{transition:none!important}.catalog-tile:hover,.hub-ui .hc-link:hover,.catalog-tile:hover .catalog-tile-media img,.hub-ui .hc-link:hover .hc-media img{transform:none!important}}
