/* Searchable Crossville directory; scoped so category guides retain their layouts. */
.business-directory{--directory-olive:#405631;--directory-border:#cbd1bd;--directory-paper:#fffdf6;--directory-gold:#b69242;margin-top:24px;color:#29331f}
.business-directory,.business-directory *{box-sizing:border-box}
.business-directory [hidden]{display:none!important}
.business-directory a:focus-visible,.business-directory button:focus-visible,.business-directory input:focus-visible,.business-directory summary:focus-visible{outline:3px solid #a78026;outline-offset:3px}
.business-directory [data-business-controls]{margin:0 0 16px;padding:20px;border:1px solid #c5cdb6;border-top:4px solid #b69242;border-radius:12px;background:#eef0e3}
.business-directory [data-business-controls]>label{display:block;font-size:19px;font-weight:700;line-height:1.35;color:#354927;margin-bottom:11px}
.business-directory .business-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:10px}
.business-directory #business-search{appearance:none;min-width:0;width:100%;min-height:48px;padding:11px 14px;border:2px solid #70825e;border-radius:8px;background:#fff;color:#26351d;font:16px/1.4 Arial,Helvetica,sans-serif}
.business-directory #business-search::placeholder{color:#66705b;opacity:1}
.business-directory #business-search-help{font-size:13px;line-height:1.5;color:#5e684f;margin:9px 0 0}
.business-directory button{font-family:Arial,Helvetica,sans-serif;cursor:pointer;touch-action:manipulation}
.business-directory [data-business-clear],.business-directory .business-retry,.business-directory .business-load-more{min-height:44px;padding:9px 18px;border:2px solid #526b3c;border-radius:999px;background:#fffdf6;color:#344c25;font-size:15px;font-weight:700;line-height:1.35}
.business-directory [data-business-clear]{display:inline-flex;align-items:center;justify-content:center;min-width:76px;white-space:nowrap;overflow-wrap:normal;word-break:normal}
.business-directory [data-business-clear]:hover,.business-directory .business-retry:hover,.business-directory .business-load-more:hover{background:#e7ecd9}
.business-directory .business-category-browser{padding:0 0 16px;border-bottom:1px solid #cbd1bd;margin:0 0 17px}
.business-directory .business-category-browser>summary{font-size:15px;font-weight:700;line-height:1.5;min-height:44px;padding:10px 0;cursor:pointer;color:#405631;width:fit-content}
.business-directory .business-category-filters,.business-directory .business-category-links{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0 2px}
.business-directory .business-category-button,.business-directory .business-category-links a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;max-width:100%;padding:7px 12px;border:1px solid #81916d;border-radius:999px;background:#fffdf6;color:#354b28;text-decoration:none;font:14px/1.4 Arial,Helvetica,sans-serif;text-align:left;overflow-wrap:anywhere}
.business-directory .business-category-button:hover,.business-directory .business-category-links a:hover{background:#e8eddd}
.business-directory .business-category-button[aria-pressed="true"]{background:#4e653b;border-color:#4e653b;color:#fff}
.business-directory .business-category-count{display:inline-flex;align-items:center;justify-content:center;min-width:23px;min-height:23px;padding:1px 5px;border-radius:999px;background:#e7eadc;color:#405330;font-size:12px;font-weight:700}
.business-directory .business-category-button[aria-pressed="true"] .business-category-count{background:#6b8058;color:#fff}
.business-directory .business-results-status{min-height:26px;font-size:14px;color:#526047;margin:15px 0!important;line-height:1.55}
.business-directory .business-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}
.business-directory .business-result-card{display:flex;flex-direction:column;min-width:0;padding:19px;border:1px solid var(--directory-border);border-radius:11px;background:var(--directory-paper);box-shadow:0 2px 8px #29331f08;overflow-wrap:anywhere}
.business-directory .business-result-heading{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;align-items:center;margin-bottom:14px}
.business-directory .business-result-media{position:relative;display:flex;align-items:center;justify-content:center;width:96px;height:86px;overflow:hidden;border-radius:7px;border:1px solid #e0e3d7;background:#e9ecdf}
.business-directory .business-result-media>.business-result-image{display:block;width:100%;height:100%!important;object-fit:cover}
.business-directory .business-result-media.is-logo{background:#fff}
.business-directory .business-result-media.is-logo .business-result-image{object-fit:contain;padding:7px}
.business-directory .business-photo-placeholder{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:4px;width:100%;height:100%;background:linear-gradient(145deg,#e7ebda,#f3eddb);color:#70815d;text-align:center}
.business-directory .business-photo-placeholder svg{display:block;width:28px;height:28px}
.business-directory .business-photo-placeholder>.business-photo-initials{font:700 22px/1 Georgia,"Times New Roman",serif;letter-spacing:.08em;color:#526640}
.business-directory .business-result-title{min-width:0}
.business-directory .business-result-category{font:700 11px/1.45 Arial,Helvetica,sans-serif;letter-spacing:.025em;color:#7a6839;margin:0 0 6px!important}
.business-directory .business-result-card h3{font:700 21px/1.25 Georgia,"Times New Roman",serif;margin:0!important;color:#3d542e}
.business-directory .business-result-card h3 a{color:inherit;text-decoration:none;text-underline-offset:3px}
.business-directory .business-result-card h3 a:hover{text-decoration:underline}
.business-directory .business-result-description{font-size:14px;line-height:1.55;margin:0 0 13px!important;color:#45513b;display:block}
.business-directory .business-result-address{font-size:12px;line-height:1.5;color:#647057;margin:0 0 16px!important;padding-top:2px}
.business-directory .business-result-phone{font-size:14px;font-weight:700;line-height:1.5;color:#405631;margin:0 0 16px!important;white-space:nowrap}
.business-directory .business-result-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:2px}
.business-directory .business-result-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:7px 11px;border:1px solid #849571;border-radius:999px;color:#3b532c;background:#fffdf6;font:700 12px/1.4 Arial,Helvetica,sans-serif;text-decoration:none;white-space:nowrap}
.business-directory .business-result-actions a:hover{background:#e8eddc}
.business-directory .business-result-actions .business-action-main{margin-left:auto}
.business-directory [data-business-empty]{padding:22px;border:1px dashed #a6b194;border-radius:10px;background:#eef0e3;color:#4e5d42;font-size:16px;line-height:1.5}
.business-directory .business-load-more{display:block;margin:24px auto 8px;background:#4e653b;border-color:#4e653b;color:#fff;padding:11px 24px}
.business-directory .business-load-more:hover{background:#384d29}
.business-directory .business-retry{margin:0 0 18px}
@media(max-width:900px){.business-directory .business-result-heading{grid-template-columns:82px minmax(0,1fr);gap:11px}.business-directory .business-result-media{width:82px;height:78px}.business-directory .business-result-card{padding:16px}.business-directory .business-result-card h3{font-size:19px}}
@media(max-width:700px){.business-directory{margin-top:20px}.business-directory .business-results{grid-template-columns:1fr;gap:13px}.business-directory .business-result-heading{grid-template-columns:96px minmax(0,1fr);gap:14px}.business-directory .business-result-media{width:96px;height:86px}.business-directory .business-result-card h3{font-size:21px}.business-directory [data-business-controls]{padding:17px}.business-directory [data-business-controls]>label{font-size:18px}}
@media(max-width:380px){.business-directory .business-search-row{gap:7px}.business-directory [data-business-clear]{padding-inline:12px}.business-directory #business-search{padding-inline:10px}.business-directory .business-result-heading{grid-template-columns:78px minmax(0,1fr);gap:11px}.business-directory .business-result-media{width:78px;height:74px}.business-directory .business-result-card h3{font-size:19px}.business-directory .business-result-category{font-size:10px}.business-directory .business-result-card{padding:15px}.business-directory .business-result-actions a{padding-inline:10px}}
