/* Jazi CPT Listing */
.jss-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.jss-card{position:relative;overflow:hidden;background:#fff;border-radius:14px;transition:transform .2s ease, box-shadow .2s ease;}
.jss-card-link{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none;}
.jss-card-media{position:relative;overflow:hidden;height:200px;flex:0 0 auto;}
.jss-card-img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease;}
.jss-card-link:hover .jss-card-img{transform:scale(1.05);}
.jss-card-body{padding:20px;display:flex;flex-direction:column;gap:8px;}
.jss-card-title{margin:0;font-size:19px;line-height:1.3;transition:color .15s ease;}
.jss-card-excerpt{margin:0;line-height:1.6;}
.jss-card-fields{display:flex;flex-direction:column;gap:2px;font-size:13px;}
.jss-card-field .jss-field-label{font-weight:600;}
.jss-card-btn{display:inline-block;align-self:flex-start;margin-top:8px;padding:10px 18px;border-radius:8px;background:#6d4aff;color:#fff;font-weight:600;font-size:14px;cursor:pointer;text-decoration:none;}

/* Badge */
.jss-card-badge{position:absolute;z-index:2;top:10px;left:10px;background:#111827;color:#fff;font-size:12px;font-weight:600;padding:4px 10px;border-radius:6px;}
.jss-badge-top-right .jss-card-badge{left:auto;right:10px;}
.jss-badge-bottom-left .jss-card-badge{top:auto;bottom:10px;}
.jss-badge-bottom-right .jss-card-badge{top:auto;bottom:10px;left:auto;right:10px;}

/* Layout: horizontal */
.jss-layout-horizontal .jss-card-link{flex-direction:row;align-items:stretch;}
.jss-layout-horizontal .jss-card-media{flex:0 0 42%;height:auto;min-height:100%;}
.jss-layout-horizontal .jss-card-body{flex:1;justify-content:center;}

/* Layout: overlay */
.jss-layout-overlay .jss-card-link{position:relative;min-height:320px;}
.jss-layout-overlay .jss-card-media{position:absolute;inset:0;height:100% !important;}
.jss-layout-overlay .jss-card-body{position:relative;margin-top:auto;z-index:1;color:#fff;background:linear-gradient(to top, rgba(0,0,0,.82), rgba(0,0,0,.15) 70%, transparent);}
.jss-layout-overlay .jss-card-title{color:#fff;}
.jss-layout-overlay .jss-card-excerpt{color:rgba(255,255,255,.9);}

/* Layout: minimal */
.jss-layout-minimal .jss-card-body{padding-left:20px;border-left:3px solid #6d4aff;}

/* Layout: elevated */
.jss-layout-elevated{overflow:visible;background:transparent;}
.jss-layout-elevated .jss-card-media{border-radius:14px;}
.jss-layout-elevated .jss-card-body{position:relative;margin:-36px 16px 0;background:#fff;border-radius:14px;box-shadow:0 14px 40px rgba(16,24,40,.14);}

/* Pagination */
.jss-pagination{display:flex;gap:8px;justify-content:center;align-items:center;margin-top:28px;flex-wrap:wrap;}
.jss-page-num,.jss-load-more{cursor:pointer;border:1px solid #d0d5dd;background:#fff;color:#111827;padding:9px 15px;border-radius:8px;font-size:14px;line-height:1;transition:.15s ease;}
.jss-page-num.active,.jss-page-num:hover,.jss-load-more:hover{background:#6d4aff;color:#fff;border-color:#6d4aff;}
.jss-load-more[disabled]{opacity:.6;cursor:default;}
.jss-load-more[disabled]:hover{background:#fff;color:#111827;border-color:#d0d5dd;}
.jss-infinite-status{color:#6b7280;font-size:14px;min-height:20px;}
.jss-empty{padding:30px;text-align:center;color:#6b7280;}

/* Lightbox */
.jss-lb-overlay{position:fixed;inset:0;background:rgba(0,0,0,.85);display:flex;align-items:center;justify-content:center;z-index:99999;padding:30px;}
.jss-lb-overlay img{max-width:95%;max-height:95%;border-radius:6px;box-shadow:0 20px 60px rgba(0,0,0,.5);}
.jss-lb-close{position:absolute;top:16px;right:24px;color:#fff;font-size:36px;line-height:1;cursor:pointer;background:none;border:none;}
