/* KobaBox Directory Manager v0.1.0 — scoped styles (Divi 4/5) */
.kbm-directory{--kbm-ink:#2d193c;--kbm-violet:#69378f;--kbm-pink:#d955a8;--kbm-soft:#f6effa;--kbm-border:#ecdfef;--kbm-bg:#fcf9fd;--kbm-muted:#71657a;box-sizing:border-box;font-family:inherit;color:var(--kbm-ink);width:100%;max-width:1180px;margin:0 auto;padding:0 12px 28px}
.kbm-directory *, .kbm-directory *::before, .kbm-directory *::after{box-sizing:border-box}
.kbm-directory .kbm-hero{padding:52px 36px 44px;background:linear-gradient(125deg,#fff1fb 1%,#f7effb 56%,#f0e9fc 100%);border:1px solid #efe1f3;border-radius:26px;text-align:center;margin:0 0 40px;box-shadow:0 10px 38px rgba(72,31,88,.04)}
.kbm-directory .kbm-eyebrow{letter-spacing:.15em;color:#a24b9f;font-size:11px;font-weight:800;line-height:1.4}
.kbm-directory .kbm-hero h2{font-size:clamp(30px,4vw,48px);line-height:1.15;font-weight:800;letter-spacing:-.04em;margin:12px 0 12px;padding:0;color:var(--kbm-ink)}
.kbm-directory .kbm-hero p{margin:0 auto 23px;max-width:670px;color:var(--kbm-muted);font-size:16px;line-height:1.65;padding:0}
.kbm-directory .kbm-search-wrap{display:flex;align-items:center;text-align:left;gap:10px;margin:0 auto;max-width:550px;background:white;padding:13px 19px;border:1px solid #e1cee8;border-radius:13px;box-shadow:0 3px 12px rgba(40,11,55,.035);font-size:23px;color:var(--kbm-violet)}
.kbm-directory .kbm-search{border:0!important;background:transparent!important;box-shadow:none!important;min-width:0;width:100%;font:inherit;font-size:15px!important;padding:0!important;height:auto!important;outline:none;color:var(--kbm-ink)}
.kbm-directory .kbm-search:focus{outline:0}
.kbm-directory .kbm-search-wrap:focus-within{outline:2px solid #bc7bc6;outline-offset:2px}
.kbm-directory .kbm-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:0 0 16px}
.kbm-directory .kbm-head h3{color:var(--kbm-ink);font-size:29px;line-height:1.2;font-weight:800;letter-spacing:-.025em;margin:6px 0 0;padding:0}
.kbm-directory .kbm-count{font-size:13px;color:var(--kbm-muted);white-space:nowrap;margin-bottom:4px}
.kbm-directory .kbm-count strong{color:var(--kbm-ink)}
.kbm-directory .kbm-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px}
.kbm-directory .kbm-filters button{background:white!important;border:1px solid var(--kbm-border)!important;color:#654e70!important;border-radius:100px!important;cursor:pointer;padding:9px 15px!important;font-size:13px!important;line-height:1.25!important;font-weight:700!important;transition:background-color .15s,border-color .15s,color .15s;box-shadow:none!important}
.kbm-directory .kbm-filters button:hover{background:var(--kbm-soft)!important;border-color:#d7b5dc!important}
.kbm-directory .kbm-filters button[aria-pressed="true"]{background:var(--kbm-violet)!important;border-color:var(--kbm-violet)!important;color:white!important}
.kbm-directory .kbm-filters button:focus-visible,.kbm-directory .kbm-visit:focus-visible,.kbm-directory .kbm-review:focus-visible{outline:3px solid var(--kbm-pink);outline-offset:2px}
.kbm-directory .kbm-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.kbm-directory .kbm-card{position:relative;display:flex;flex-direction:column;gap:0;min-width:0;min-height:272px;background:#fff;border:1px solid var(--kbm-border);border-radius:17px;padding:23px 21px 21px;box-shadow:0 4px 17px rgba(53,23,68,.035);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.kbm-directory .kbm-card:hover{transform:translateY(-2px);box-shadow:0 12px 27px rgba(53,23,68,.085);border-color:#d7b8e4}
.kbm-directory .kbm-card[hidden]{display:none!important}
.kbm-directory .kbm-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:15px}
.kbm-directory .kbm-logo{width:58px;height:58px;flex:0 0 58px;border-radius:13px;background:linear-gradient(135deg,#f7effa,#fdf7fb);border:1px solid #ede3ef;display:grid;place-items:center;position:relative;overflow:hidden}
.kbm-directory .kbm-logo img{position:absolute;inset:8px;width:42px;height:42px;object-fit:contain;z-index:2;border-radius:6px}
.kbm-directory .kbm-logo-fallback{font-size:29px;font-weight:500;color:#bc91c7}
.kbm-directory .kbm-category{max-width:70%;padding:7px 9px;border-radius:9px;background:#faf0f8;color:#ad509c;font-size:10px;font-weight:800;line-height:1.3;text-align:center}
.kbm-directory .kbm-card h4{margin:0 0 9px;padding:0;font-size:20px;font-weight:800;color:var(--kbm-ink);line-height:1.25}
.kbm-directory .kbm-description{font-size:13.5px;line-height:1.62;color:#6b6170;margin:0 0 15px!important;padding:0!important;flex-grow:1}
.kbm-directory .kbm-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 17px}
.kbm-directory .kbm-tags span{background:#f6f0f9;border:1px solid #f0e8f5;color:#765a7e;font-size:10px;font-weight:700;padding:5px 8px;border-radius:8px;line-height:1.3}
.kbm-directory .kbm-actions{display:flex;flex-direction:column;gap:9px;margin-top:auto}
.kbm-directory a.kbm-visit{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:42px;border-radius:10px;background:var(--kbm-violet);color:#fff!important;padding:10px 14px;font-size:13px;font-weight:800;line-height:1.3;text-decoration:none!important}
.kbm-directory a.kbm-visit:hover{background:#552775;color:white!important}
.kbm-directory .kbm-link-pending{display:block;background:#f8f4fa;color:#7d6988;border:1px dashed #decae3;border-radius:10px;padding:11px 13px;font-size:12px;text-align:center}
.kbm-directory a.kbm-review{font-weight:700;font-size:12px;color:var(--kbm-violet)!important;text-align:center;text-decoration:underline!important;text-underline-offset:3px}
.kbm-directory .kbm-draft-badge{position:absolute;top:-7px;right:12px;background:#fff1d9;border:1px solid #ead8aa;color:#795413;font-size:10px;padding:3px 8px;border-radius:99px}
.kbm-directory .kbm-empty{background:var(--kbm-soft);border:1px dashed #dac4e1;border-radius:12px;padding:30px 20px;text-align:center;color:var(--kbm-muted);margin-top:20px}
.kbm-directory .kbm-empty[hidden]{display:none!important}
.kbm-directory .kbm-disclosure{padding:18px 5px 0;color:#8b7c8d;font-size:11px;line-height:1.55;margin:0!important}
.kbm-directory .kbm-preview-note{color:#875c2f;font-size:12px;margin-top:12px!important}
.kbm-directory .kbm-visually-hidden{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}
@media(max-width:980px){.kbm-directory .kbm-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.kbm-directory .kbm-hero{padding:42px 28px}}
@media(max-width:650px){.kbm-directory{padding:0 4px 25px}.kbm-directory .kbm-hero{padding:30px 18px;border-radius:18px;margin-bottom:29px}.kbm-directory .kbm-hero p{font-size:14px}.kbm-directory .kbm-head{align-items:start}.kbm-directory .kbm-head h3{font-size:24px}.kbm-directory .kbm-cards{grid-template-columns:minmax(0,1fr);gap:12px}.kbm-directory .kbm-card{padding:19px;min-height:235px}.kbm-directory .kbm-filters{flex-wrap:wrap;overflow-x:visible;padding-bottom:0;gap:7px}.kbm-directory .kbm-filters button{flex:0 1 auto;padding:8px 12px!important;font-size:12px!important}.kbm-directory .kbm-search-wrap{padding:12px 14px;gap:8px}.kbm-directory .kbm-count{font-size:11px}}
@media(prefers-reduced-motion:reduce){.kbm-directory .kbm-card{transition:none}.kbm-directory .kbm-card:hover{transform:none}}
