:root {
	--ocs-primary: #5b3df5;
	--ocs-accent: #12b8a6;
	--ocs-card-background: #fff;
	--ocs-border-color: #e3e5ea;
	--ocs-text-color: inherit;
	--ocs-border-radius: 14px;
	--ocs-card-spacing: 1.25rem;
}
.ocs-tools { color: var(--ocs-text-color); }
.ocs-tools__filters { display:grid; grid-template-columns:repeat(auto-fit,minmax(145px,1fr)); gap:.75rem; align-items:end; margin-bottom:1.5rem; }
.ocs-tools__filters label span { display:block; font-size:.8rem; margin-bottom:.3rem; }
.ocs-tools__filters input,.ocs-tools__filters select,.ocs-tools__filters button { box-sizing:border-box; width:100%; min-height:42px; border:1px solid var(--ocs-border-color); border-radius:calc(var(--ocs-border-radius) / 2); padding:.55rem .7rem; font:inherit; }
.ocs-tools__filters button,.ocs-button--primary { border-color:var(--ocs-primary); background:var(--ocs-primary); color:#fff; cursor:pointer; }
.ocs-tools__grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr)); gap:var(--ocs-card-spacing); }
.ocs-tool-card { display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--ocs-border-color); border-radius:var(--ocs-border-radius); background:var(--ocs-card-background); }
.ocs-tool-card__image { display:flex; min-height:150px; align-items:center; justify-content:center; background:color-mix(in srgb,var(--ocs-border-color) 30%,transparent); }
.ocs-tool-card__image:empty { display:none; }
.ocs-tool-card__image img { display:block; max-width:100%; height:150px; object-fit:contain; }
.ocs-tool-card__body { flex:1; padding:var(--ocs-card-spacing); }
.ocs-tool-card h3 { margin:.35rem 0 .6rem; }
.ocs-tool-card h3 a { color:inherit; text-decoration:none; }
.ocs-tool-card__featured { display:inline-block; padding:.2rem .5rem; border-radius:999px; background:var(--ocs-accent); color:#fff; font-size:.72rem; }
.ocs-tool-card dl { font-size:.85rem; }
.ocs-tool-card dl div { display:flex; gap:.4rem; padding:.2rem 0; }
.ocs-tool-card dt { font-weight:700; }
.ocs-tool-card dd { margin:0; }
.ocs-tool-card__actions { display:flex; gap:.6rem; padding:0 var(--ocs-card-spacing) var(--ocs-card-spacing); }
.ocs-button { display:inline-flex; flex:1; justify-content:center; align-items:center; min-height:40px; border:1px solid var(--ocs-primary); border-radius:calc(var(--ocs-border-radius) / 2); padding:.4rem .65rem; color:var(--ocs-primary); text-align:center; text-decoration:none; }
.ocs-tools__pagination { display:flex; flex-wrap:wrap; gap:.4rem; justify-content:center; margin-top:1.5rem; }
.ocs-tools__pagination .page-numbers { padding:.4rem .7rem; border:1px solid var(--ocs-border-color); border-radius:6px; text-decoration:none; }
.ocs-tools__empty { padding:2rem; border:1px dashed var(--ocs-border-color); border-radius:var(--ocs-border-radius); text-align:center; }
@media (max-width:600px) { .ocs-tools__filters { grid-template-columns:1fr; } .ocs-tool-card__actions { flex-direction:column; } }
