.taf-catalog{max-width:1200px;margin:1.5rem auto;font-family:inherit;color:#20232a}
.taf-catalog-grid{display:grid;grid-template-columns:repeat(var(--taf-columns,3),minmax(0,1fr));gap:22px}
.taf-catalog-product{border:1px solid #e7e9ee;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px rgba(20,30,50,.055);display:flex;flex-direction:column}
.taf-catalog-image{aspect-ratio:1/1;background:#f6f7fa;display:flex;align-items:center;justify-content:center;overflow:hidden}
.taf-catalog-image img{display:block;width:100%;height:100%;object-fit:cover}
.taf-catalog-placeholder{font-size:72px;color:#abb0be}
.taf-catalog-details{padding:20px;display:flex;flex-direction:column;flex:1;gap:9px}
.taf-catalog-details h3{font-size:1.15rem;line-height:1.35;margin:0;color:#181a20}
.taf-catalog-desc{font-size:.94rem;color:#626875;line-height:1.55;margin:0;flex:1}
.taf-catalog-price{font-size:1.45rem;font-weight:750;margin:3px 0 0;color:#15171c}
.taf-catalog-availability{font-size:.84rem;color:#536451;margin:0}
.taf-catalog-buy{display:block;text-align:center;padding:12px 16px;border-radius:9px;color:#fff!important;background:#182e58;text-decoration:none!important;font-weight:650;margin-top:8px}
.taf-catalog-buy:hover,.taf-catalog-buy:focus{background:#264b8c;color:#fff!important}
.taf-catalog-login{max-width:440px;padding:28px;border:1px solid #e7e9ee;background:#fff;border-radius:16px}
.taf-catalog-login h2{margin-top:0}.taf-catalog-login input[type=text],.taf-catalog-login input[type=password]{width:100%;max-width:100%;padding:10px;border:1px solid #ccd0d6;border-radius:8px}
.taf-catalog-login input[type=submit]{background:#182e58;color:white;border:0;border-radius:8px;padding:11px 24px;cursor:pointer}
.taf-catalog-empty{padding:22px;background:#f6f7fa;border-radius:10px}
@media(max-width:850px){.taf-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.taf-catalog-grid{grid-template-columns:1fr}.taf-catalog-details{padding:16px}}

.taf-catalog-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.taf-catalog-top h2{margin:0}.taf-catalog-logout{background:transparent;border:1px solid #bdc3cf;border-radius:8px;padding:9px 14px;cursor:pointer;color:#273954}
.taf-catalog-access-form{display:flex;flex-direction:column;gap:12px}.taf-catalog-access-form label{font-weight:600}
.taf-catalog-access-form input[type=password]{width:100%;padding:12px;border:1px solid #cbd2df;border-radius:9px;background:#fff;color:#172033}
.taf-catalog-access-form button.taf-catalog-buy{border:0;cursor:pointer;font:inherit;font-weight:650}
.taf-catalog-error{padding:10px 13px;border-radius:8px;background:#fff1f0;color:#9d2521}

.taf-catalog-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:12px;padding:18px;background:#f6f7fa;border-radius:12px;margin-bottom:10px;align-items:end}.taf-catalog-filters label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600}.taf-catalog-filters input,.taf-catalog-filters select{width:100%;min-width:0;padding:10px;border:1px solid #cbd2df;border-radius:8px;background:white;color:#172033}.taf-filter-reset{padding:11px;background:#fff;border:1px solid #b3bbca;border-radius:8px;cursor:pointer}.taf-catalog-counter{color:#626875;font-size:13px;margin:10px 0}.taf-catalog-meta{color:#556172;font-size:13px;margin:0}.taf-catalog-product[hidden],.taf-catalog-no-results[hidden]{display:none!important}.taf-catalog-no-results{padding:20px;background:#f6f7fa;border-radius:10px}
