/* 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-wrap:wrap;align-items:flex-start;font-size:13px;}
.jss-card-field{box-sizing:border-box;min-width:0;}
.jss-card-field .jss-field-label{font-weight:600;}
.jss-card-field.jss-lbl-block .jss-field-label{display:block;}
.jss-card-field.jss-lbl-inline .jss-field-label{display:inline;margin-right:5px;}
.jss-card-field .jss-field-value{min-width:0;}
.jss-f-img{max-width:100%;height:auto;border-radius:8px;display:block;}
.jss-f-gallery{display:inline-flex;flex-wrap:wrap;gap:4px;}
.jss-f-gimg{width:54px;height:54px;object-fit:cover;border-radius:6px;display:block;}
.jss-f-color{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:middle;margin-right:5px;border:1px solid rgba(0,0,0,.12);}
.jss-f-rep{list-style:none;margin:0;padding:0;}
.jss-f-rep-row{margin:0 0 2px;}
.jss-f-rep-label{font-weight:600;}
.jss-f-rep-sep{opacity:.4;}
.jss-f-link,.jss-f-rel,.jss-f-file{color:inherit;text-decoration:underline;}
.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:450px;}
.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:#1e1b4b;background:#fff;}
.jss-layout-overlay .jss-card-title{color:#1e1b4b;}
.jss-layout-overlay .jss-card-excerpt{color:#4c5169;}

/* 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{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{background:#4F46E5;color:#fff;border-color:#4F46E5;}
/* Load more: brand pill button, matching the site's buttons (theme vars). */
.jss-load-more{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-head);font-weight:600;font-size:14px;letter-spacing:.06em;text-transform:uppercase;line-height:1;padding:17px 30px;border-radius:50px;border:2px solid transparent;background:var(--brand,#4F46E5);color:#fff;cursor:pointer;transition:all .3s var(--ease);white-space:nowrap;}
.jss-load-more:hover{background:var(--brand-dark,#4338CA);color:#fff;transform:translateY(-2px);}
.jss-load-more[disabled]{opacity:.55;cursor:default;transform:none;}
.jss-load-more[disabled]:hover{background:var(--brand,#4F46E5);transform:none;}
.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;}
