/* JDN - Direktori Perkhidmatan: showcase visual dengan kad padat & tipografi jelas, v1.1.5; Poppins & tipografi desktop 16px */
.jdnsd{--jdnsd-primary:#11396d;--jdnsd-cols:4;--jdnsd-border:#dce7f1;--jdnsd-muted:#587089;--jdnsd-bg:#eff5fb;--jdnsd-card-shadow:0 8px 24px rgba(17,57,109,.08);font-family:"Poppins",Arial,sans-serif;color:#1e2d3d;max-width:1280px;margin:0 auto;padding:0 12px 40px;box-sizing:border-box}
.jdnsd *,.jdnsd *::before,.jdnsd *::after{box-sizing:border-box}
.jdnsd :is(input,button,h2,h3,p,a,span){font-family:inherit}
.jdnsd .screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.jdnsd .jdnsd-search-panel{background:var(--jdnsd-bg);padding:24px;border:1px solid var(--jdnsd-border);border-radius:16px;margin:0 0 20px}
.jdnsd .jdnsd-search-panel h2{font-family:inherit;color:var(--jdnsd-primary);font-size:clamp(26px,2.3vw,32px);line-height:1.25;font-weight:600!important;letter-spacing:0;margin:0 0 6px}
.jdnsd .jdnsd-search-panel p{font-size:16px!important;color:#536c83;line-height:1.6;margin:0 0 18px}
.jdnsd .jdnsd-search{display:flex;align-items:center;gap:12px;min-height:64px;background:#fff;border:2px solid var(--jdnsd-primary);border-radius:16px;box-shadow:0 10px 24px rgba(17,57,109,.08), inset 0 0 0 4px #cfe1f4;padding:0 18px;cursor:text}
.jdnsd .jdnsd-search:focus-within{outline:3px solid #acd5fb;outline-offset:2px}
.jdnsd .jdnsd-search-icon{font-size:1.7rem;line-height:1;color:var(--jdnsd-primary);font-weight:700;flex:none}
.jdnsd .jdnsd-search-input{font-family:inherit;appearance:auto;min-height:56px;height:auto;width:100%;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;color:#1e2d3d!important;padding:10px 0!important;font-size:16px!important;line-height:1.5!important}
.jdnsd .jdnsd-search-input:focus{box-shadow:none!important}

.jdnsd .jdnsd-directory{width:100%}
.jdnsd .jdnsd-filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:13px}
.jdnsd .jdnsd-filter{font-size:14px;font-weight:700;line-height:1.45;font-family:inherit;text-transform:uppercase;border:1px solid #cbdced!important;border-radius:999px!important;box-shadow:none!important;background:#fff!important;color:var(--jdnsd-primary)!important;padding:10px 15px!important;min-height:39px;height:auto!important;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}
.jdnsd .jdnsd-filter:hover,.jdnsd .jdnsd-filter:focus-visible{background:#e6f0fa!important}
.jdnsd .jdnsd-filter.is-active{color:#fff!important;background:var(--jdnsd-primary)!important;border-color:var(--jdnsd-primary)!important}
.jdnsd .jdnsd-filter span{font-weight:600;opacity:.8;margin-left:4px}
.jdnsd .jdnsd-status{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

.jdnsd .jdnsd-grid{display:grid;grid-template-columns:repeat(var(--jdnsd-cols),minmax(0,1fr));gap:16px}
.jdnsd .jdnsd-card{display:flex;flex-direction:column;min-height:255px;text-decoration:none!important;color:inherit!important;border:1px solid #d9e2eb;border-radius:16px;background:#fff;padding:17px;box-shadow:var(--jdnsd-card-shadow);transition:box-shadow .18s,border-color .18s,transform .18s;overflow:hidden;overflow-wrap:anywhere}
.jdnsd .jdnsd-card:hover,.jdnsd .jdnsd-card:focus-visible{border-color:#9dbfe0;transform:translateY(-3px);box-shadow:0 16px 34px rgba(17,57,109,.14)}
.jdnsd .jdnsd-card:focus-visible{outline:3px solid #acd5fb;outline-offset:2px}
.jdnsd .jdnsd-card-media{display:flex;align-items:center;justify-content:center;height:100px;min-height:100px;margin-bottom:10px;padding:8px;border-radius:12px;background:linear-gradient(180deg,#ffffff 0%,#f5f9fd 100%);overflow:hidden}
.jdnsd .jdnsd-card-media img{display:block!important;width:210px!important;max-width:100%!important;height:76px!important;max-height:76px!important;object-fit:contain!important;object-position:center!important;flex:none;border:0;box-shadow:none;transform:scale(var(--jdnsd-logo-scale,1));transform-origin:center;transition:transform .18s ease}
.jdnsd .jdnsd-card-icon{display:inline-flex;align-items:center;justify-content:center;width:70px;height:70px;border-radius:18px;background:#eaf3fc;color:var(--jdnsd-primary);font-size:38px;line-height:1}
.jdnsd .jdnsd-card-body{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;flex:1}
.jdnsd .jdnsd-card h3{font-family:inherit;font-size:22px!important;line-height:1.4!important;margin:0!important;color:var(--jdnsd-primary)!important;font-weight:600!important}
.jdnsd .jdnsd-card-description{font-family:inherit;font-size:16px!important;line-height:1.6!important;color:#405970;margin:0;display:block;overflow:visible;text-transform:none!important;font-variant-caps:normal!important;letter-spacing:normal!important}
.jdnsd .jdnsd-card-action{color:#1664ae;font-weight:800;font-size:15px!important;margin-top:11px;display:flex;align-items:center;justify-content:center;gap:8px;padding-top:10px;border-top:1px solid #e8eef5}
.jdnsd .jdnsd-card[hidden],.jdnsd .jdnsd-empty[hidden]{display:none!important}
.jdnsd .jdnsd-empty{text-align:center;border:1px dashed var(--jdnsd-border);border-radius:12px;padding:28px;color:var(--jdnsd-muted)}
.jdnsd .jdnsd-empty strong{display:block;color:var(--jdnsd-primary);font-size:1rem}
.jdnsd .jdnsd-empty p{margin:7px 0 14px}
.jdnsd .jdnsd-reset{background:var(--jdnsd-primary)!important;color:#fff!important;border:0!important;border-radius:8px!important;padding:12px 20px!important;font-weight:700;cursor:pointer}

@media(max-width:1180px){.jdnsd .jdnsd-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:950px){.jdnsd .jdnsd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.jdnsd{padding:0 0 24px}.jdnsd .jdnsd-search-panel{padding:19px 16px;border-radius:12px}.jdnsd .jdnsd-search{min-height:56px;padding:0 12px;border-radius:14px}.jdnsd .jdnsd-search-input{font-size:16px!important}.jdnsd .jdnsd-search-panel p{font-size:16px!important}.jdnsd .jdnsd-grid{grid-template-columns:minmax(0,1fr);gap:14px}.jdnsd .jdnsd-card{min-height:245px;padding:16px}.jdnsd .jdnsd-card-media{height:94px;min-height:94px;margin-bottom:8px}.jdnsd .jdnsd-card-media img{width:210px!important;max-width:100%!important;height:70px!important;max-height:70px!important}.jdnsd .jdnsd-card h3{font-size:20px!important}.jdnsd .jdnsd-card-description{font-size:16px!important;line-height:1.55!important}.jdnsd .jdnsd-card-action{font-size:15px!important;margin-top:10px}.jdnsd .jdnsd-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:9px;scrollbar-width:thin}.jdnsd .jdnsd-filter{flex:none;max-width:245px;white-space:normal}}
@media(prefers-reduced-motion:reduce){.jdnsd *{transition:none!important;scroll-behavior:auto!important}}

@media(max-width:620px){.jdnsd .jdnsd-search-panel h2{font-size:25px;line-height:1.3}.jdnsd .jdnsd-filter{font-size:13px!important}.jdnsd .jdnsd-card p{font-size:16px!important}}

/* Kekalkan huruf besar/kecil asal keterangan; bukan Title Case daripada tema/Elementor. */
.jdnsd .jdnsd-card .jdnsd-card-description{text-transform:none!important;font-variant:normal!important}
