/* Shared activity cards, scoped for both the public catalog and console. */
.px-activity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr));gap:28px;align-items:stretch}
.px-activity-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #e9edf2;border-radius:20px;background:#fff;color:#172033;text-decoration:none;box-shadow:0 5px 20px rgba(17,24,39,.035);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.px-activity-card-link{cursor:pointer}
.px-activity-card-link:hover{transform:translateY(-4px);border-color:#cbd5e1;box-shadow:0 14px 32px rgba(17,24,39,.09)}
.px-activity-card-link:focus-visible,.px-activity-retry:focus-visible{outline:3px solid #1687e8;outline-offset:4px}
.px-activity-image{position:relative;width:100%;aspect-ratio:3/1;max-height:240px;overflow:hidden;background:#f5f7fa;border-bottom:1px solid #eef1f4}
.px-activity-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.px-activity-image img[hidden]{display:none}
.px-activity-image-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#a0adbd}
.px-activity-card-new{border-color:#d9d0fb;box-shadow:0 0 0 3px rgba(124,77,234,.07),0 8px 26px rgba(91,77,234,.1)}
.px-activity-card-new.px-activity-card-link:hover{border-color:#c4b5fd;box-shadow:0 0 0 3px rgba(124,77,234,.1),0 14px 32px rgba(91,77,234,.16)}
.px-activity-new{position:absolute;z-index:1;top:14px;left:14px;display:inline-flex;align-items:center;gap:5px;padding:4px 11px 4px 9px;border-radius:999px;background:linear-gradient(110deg,#5b5bf0,#9b4dea);color:#fff;font-size:12px;font-weight:650;line-height:1.4;letter-spacing:.02em;box-shadow:0 6px 16px -6px rgba(110,80,240,.65)}
.px-activity-new svg{flex:none}
.px-activity-image:not(.px-activity-image-missing) .px-activity-image-placeholder{visibility:hidden}
.px-activity-body{display:flex;flex-direction:column;align-items:flex-start;flex:1;gap:10px;padding:22px 26px;min-width:0;min-height:160px;box-sizing:border-box}
.px-activity-card .px-activity-title{margin:0;font-size:22px;font-weight:650;line-height:1.4;letter-spacing:-.02em;color:#172033;overflow-wrap:anywhere}
.px-activity-card .px-activity-summary{margin:0;font-size:15px;line-height:1.75;color:#64748b;white-space:pre-line;overflow-wrap:anywhere}
.px-activity-cta{display:inline-flex;align-items:center;gap:7px;margin-top:auto;padding-top:8px;font-size:13px;font-weight:600;line-height:1.5;color:#1674cf}
.px-activity-cta svg{flex:none;transition:transform .18s ease}
.px-activity-card-link:hover .px-activity-cta svg{transform:translateX(3px)}
.px-activity-cta-pending{color:#8290a3}
.px-activity-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:260px;padding:32px 20px;text-align:center;border:1px dashed #dce3ec;border-radius:20px;background:#fff;color:#64748b}
.px-activity-state h3,.px-activity-state p{margin:0;font-size:14px;line-height:1.7;overflow-wrap:anywhere}
.px-activity-state h3{color:#27364b;font-size:18px;font-weight:600}
.px-activity-retry{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 18px;border:1px solid #dce3ec;border-radius:10px;background:#fff;color:#27364b;cursor:pointer;font:inherit;font-size:13px;font-weight:600}
.px-activity-retry:hover{background:#f5f7fa;border-color:#bdcbdc}
.px-activity-spinner{width:22px;height:22px;border:2px solid #dce3ec;border-top-color:#1687e8;border-radius:50%;animation:px-activity-spin .8s linear infinite}
@keyframes px-activity-spin{to{transform:rotate(360deg)}}
@media(max-width:600px){.px-activity-grid{gap:20px}.px-activity-image{aspect-ratio:5/2}.px-activity-body{min-height:0;padding:18px 20px}.px-activity-card{border-radius:16px}.px-activity-card .px-activity-title{font-size:20px}.px-activity-card .px-activity-summary{font-size:14px}}
@media(prefers-reduced-motion:reduce){.px-activity-card,.px-activity-cta svg{transition:none}.px-activity-card-link:hover,.px-activity-card-link:hover .px-activity-cta svg{transform:none}.px-activity-spinner{animation:none}}
