/* Photo-only case directory, using the same blue palette and generous gutters. */
.jlt-hospital-intro { margin: 0 0 32px; color: var(--jlt-ink-700); font-size: 17px; line-height: 1.8; }
.jlt-hospital-card { margin: 0; min-width: 0; overflow: hidden; border: 1px solid var(--jlt-line); border-radius: 14px; background: #fff; }
.jlt-hospital-card .img-db { position: relative; overflow: hidden; width: 100%; height: auto; aspect-ratio: 4/3; background: var(--jlt-surface-sunken); }
.jlt-hospital-card .img-db img { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: center; transform: none; }
.jlt-hospital-card figcaption { display: flex; align-items: center; min-height: 92px; padding: 22px 24px; }
.jlt-hospital-card h3 { margin: 0; color: var(--jlt-ink-700); font: 500 clamp(18px,1.35vw,22px)/1.6 "pop-s-font",sans-serif; overflow-wrap: anywhere; }
.jlt-case-page .jlt-hospital-directory { padding-block: clamp(48px,5vw,88px); background: var(--jlt-surface-alt); }
.jlt-case-page .jlt-hospital-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr));  }
.jlt-case-page .jlt-hospital-directory .wp { max-width: none; }

@media (min-width:1600px) {
    .jlt-case-page .jlt-hospital-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media (max-width:1023px) {
    .jlt-case-page .jlt-hospital-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
}
@media (max-width:600px) {
    .jlt-case-page .jlt-hospital-directory .wp { padding-inline: 18px; }
    .jlt-case-page .jlt-hospital-grid { grid-template-columns: minmax(0,1fr); gap: 20px; }
    .jlt-hospital-card { border-radius: 10px; }
    .jlt-hospital-card figcaption { padding: 18px 20px; min-height: 78px; }
    
}

.jlt-case-pagination { margin-top: 40px; }
.jlt-case-pagination .pagination { gap: 8px; }
.jlt-case-pagination .pagination-block a,
.jlt-case-pagination .pagination-block span { width: 44px; height: 44px; margin: 0; border-radius: 8px; font-size: 16px; }
.jlt-case-pagination .pagination .disabled span { color: var(--jlt-subtle); border-color: var(--jlt-line); background: var(--jlt-surface-sunken); cursor: default; }

.jlt-case-pagination .pagination-block { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.jlt-case-pagination .pagination-block > a.active { color: #fff; border-color: var(--themeColor); background: var(--themeColor); }
.jlt-case-pagination .pagination-block > .disabled { color: var(--jlt-subtle); border-color: var(--jlt-line); background: var(--jlt-surface-sunken); cursor: default; }
.jlt-case-pagination .pagination-block a:focus-visible { outline: 2px solid var(--themeColor); outline-offset: 3px; }
.jlt-case-pagination .pagination-block a,
.jlt-case-pagination .pagination-block span { min-width: 44px; }
@media (max-width: 600px) {
 .jlt-case-pagination .pagination-block { gap: 6px; }
 .jlt-case-pagination .pagination-block a,
 .jlt-case-pagination .pagination-block span { width: 40px; min-width: 40px; height: 44px; }
}

