.directory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:24px}.directory-card{min-width:0;overflow:hidden;border:1px solid #443517;border-radius:16px;background:#14120e}.directory-banner{display:block;width:100%;padding:0;border:0;position:relative;background:#080808;cursor:zoom-in;color:#fff}.directory-banner img{display:block;width:100%;height:210px;object-fit:contain}.directory-banner span{position:absolute;right:8px;bottom:8px;background:#000c;padding:5px 9px;border-radius:5px;font-size:12px}.directory-placeholder{height:120px;display:grid;place-items:center;font-size:48px;color:#f5bb08;background:linear-gradient(135deg,#332712,#13110e)}.directory-info{padding:22px;overflow-wrap:anywhere}.directory-info h2{font-size:26px;margin:0 0 12px}.directory-contact{display:flex;flex-direction:column;gap:9px;margin:16px 0}.directory-contact a{color:#f5bb08}.directory-info summary{cursor:pointer;color:#e8dabb;padding:10px 0}.banner-zoom{max-width:94vw;max-height:94dvh;padding:40px 16px 12px;border:1px solid #574522;border-radius:12px;background:#10100f;color:#fff}.banner-zoom::backdrop{background:#000d}.banner-zoom img{display:block;max-width:86vw;max-height:75dvh;object-fit:contain}.banner-zoom button{position:absolute;right:8px;top:0;border:0;background:transparent;color:#fff;font-size:32px;cursor:pointer}.banner-zoom p{text-align:center;margin:10px 0 0}.directory-banner:focus-visible,summary:focus-visible{outline:3px solid #f5bb08;outline-offset:-3px}
