/* Public directory. Scoped independently of WordPress theme and Studio chrome. */
.tps-v1.tps-directory-public{width:100%;max-width:none;min-width:0;color:#403760;font-family:Assistant,sans-serif;container-type:inline-size}
.tps-directory-public *{box-sizing:border-box}
.tps-directory-public h2,.tps-directory-public h3{color:#5c598b;margin:0 0 12px}
.tps-directory-public p{margin:0 0 16px}
.tps-directory-public form,.tps-directory-browse{padding:20px;border:1px solid #e4dfed;border-radius:10px;background:#f8f6fb;margin:20px 0}
.tps-directory-public label{display:block;font-weight:600}
.tps-directory-search{display:flex;gap:10px;margin:10px 0 16px}
.tps-directory-public input,.tps-directory-public select{min-width:0;max-width:100%;padding:10px;border:1px solid #d8d1df;border-radius:8px;background:white;color:#403760;font:inherit}
.tps-directory-search input{flex:1;width:100%}
/* Theme form rules use !important: override only this directory's controls. */
.tps-v1.tps-directory-public input[type="search"],.tps-v1.tps-directory-public select{appearance:none;background:#fff!important;background-image:none!important;color:#403760!important;border:1px solid #d8d1df!important;box-shadow:none!important;border-radius:8px!important;min-height:48px}
.tps-v1.tps-directory-public select{appearance:auto}
.tps-v1.tps-directory-public input[type="search"]:focus,.tps-v1.tps-directory-public select:focus{background:#fff!important;border-color:#8576a8!important;box-shadow:0 0 0 3px rgba(133,118,168,.15)!important;outline:2px solid #8576a8!important;outline-offset:2px}
.tps-v1.tps-directory-public input::placeholder{color:#776b8e;opacity:1}
.tps-directory-public button{padding:10px 18px;background:#554a82;color:white;border:0;border-radius:8px;font:inherit;cursor:pointer}
.tps-directory-sort{display:flex;align-items:end;flex-wrap:wrap;gap:12px}
.tps-directory-sort select{display:block;margin-top:6px}
.tps-directory-filters,.tps-directory-letters,.tps-directory-tags,.tps-directory-pagination{display:flex;flex-wrap:wrap;gap:8px}
.tps-directory-letters{border-top:1px solid #e4dfed;margin-top:16px;padding-top:16px}
.tps-directory-filters a,.tps-directory-letters a,.tps-directory-letters>span,.tps-directory-pagination a{display:inline-flex;justify-content:center;align-items:center;min-height:36px;min-width:36px;padding:7px 12px;border:1px solid #ded7e7;border-radius:8px;background:white;color:#554a82;text-decoration:none;font-size:15px}
.tps-directory-public a[aria-current]{background:#e9e3f3;border-color:#a79abd;font-weight:700}
.tps-directory-letters>span{opacity:.4}
.tps-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.tps-directory-card{display:flex;flex-direction:column;min-width:0;padding:24px;border:1px solid #e4dfed;border-radius:10px;background:white;box-shadow:0 4px 18px #4037600b;overflow-wrap:anywhere}
.tps-directory-card .tps-v1-eyebrow{font-size:13px;letter-spacing:.05em;color:#776b8e;margin-bottom:8px}
.tps-directory-card h3{font-size:25px;line-height:1.2}
.tps-directory-tags span{font-size:13px;padding:4px 8px;border-radius:5px;background:#f4f1f8}
.tps-directory-page-links{display:flex;flex-wrap:wrap;gap:8px 14px;margin:16px 0;font-size:15px}
.tps-v1.tps-directory-public .tps-directory-page-links{padding-top:14px;border-top:1px solid #e6e0e9}
.tps-v1 .tps-v1-directory-links-label{display:block;flex-basis:100%;width:100%;margin:0 0 4px;font-size:14px;font-weight:700;line-height:1.5;color:rgb(92,89,139)}
.tps-v1.tps-directory-public .tps-directory-page-links a{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:28px;max-width:100%;padding:3px 10px;border:1px solid #ded8e8;border-radius:999px;background:#faf9fc;color:#554a82;font-size:15px;font-weight:400;line-height:1.35;text-decoration:none}
.tps-v1.tps-directory-public .tps-directory-page-links a:hover{background:#efebf6;border-color:#aaa0c4;text-decoration:none}
.tps-v1.tps-directory-public .tps-directory-page-links a:focus-visible{outline:2px solid #554a82;outline-offset:3px}
.tps-directory-public a{color:#554a82}
.tps-directory-explore{display:flex;justify-content:space-between;gap:12px;margin-top:auto;padding-top:16px;border-top:1px solid #e4dfed;font-weight:700;text-decoration:none}
.tps-directory-pagination{margin-top:24px}
.tps-directory-public a:focus-visible,.tps-directory-public button:focus-visible,.tps-directory-public input:focus-visible,.tps-directory-public select:focus-visible{outline:3px solid #8576a8;outline-offset:3px}
@media(max-width:640px){.tps-directory-grid{grid-template-columns:1fr}.tps-directory-card{padding:18px}.tps-directory-public form,.tps-directory-browse{padding:14px}.tps-directory-search{flex-wrap:wrap}}
@container(max-width:640px){.tps-directory-grid{grid-template-columns:1fr}.tps-directory-card{padding:18px}.tps-directory-public form,.tps-directory-browse{padding:14px}.tps-directory-search{flex-wrap:wrap}}
/* Same ring, colours and timing as the CTA results-panel loader. */
.tps-directory-public .tps-v1-directory-loading{display:flex;align-items:center;justify-content:center;gap:16px;min-height:180px;padding:24px;color:#403760}
.tps-directory-public .tps-v1-directory-loading>span{flex:0 0 72px;width:72px;height:72px;box-sizing:border-box;border:4px solid #eee8f5;border-top-color:#b3a0ce;border-right-color:#d3c4e5;border-radius:50%;animation:tpsDirectorySpin 2.2s linear infinite}
.tps-directory-public[aria-busy="true"] .tps-directory-grid,.tps-directory-public[aria-busy="true"] .tps-directory-pagination{display:none!important}
.tps-directory-public>[role="status"],.tps-directory-public .tps-v1-directory-loading{scroll-margin-top:110px}
@keyframes tpsDirectorySpin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.tps-directory-public .tps-v1-directory-loading>span{animation:none}}
.tps-v1.tps-directory-public .tps-directory-card>h3{padding-bottom:14px;border-bottom:1px solid #e4dfed!important;margin-bottom:16px}
.tps-v1.tps-directory-public form>label{display:block;width:100%;text-align:left}

/* Quiet random discovery action beside the search question. */
.tps-v1 form .tps-v1-directory-prompt{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 16px;margin:0 0 10px;text-align:left}
.tps-v1 form .tps-v1-directory-prompt label{display:inline;width:auto;margin:0}
.tps-v1 form .tps-v1-directory-prompt .tps-v1-directory-random-link{display:inline-block;flex:none;width:auto;min-height:24px;margin:0;padding:0;border:0;border-radius:0;background:transparent;color:#554a82;box-shadow:none;font:inherit;font-size:14px;font-weight:400;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.tps-v1 form .tps-v1-directory-prompt .tps-v1-directory-random-link:hover{text-decoration-thickness:2px}
.tps-v1 form .tps-v1-directory-prompt .tps-v1-directory-random-link:focus-visible{outline:2px solid #8576a8;outline-offset:4px}
.tps-v1 .tps-v1-directory-card__categories{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.tps-v1 .tps-v1-directory-aliases{border-top:1px solid #e4dfed;margin-top:18px;padding-top:14px;font-size:15px;line-height:1.6;overflow-wrap:anywhere}
.tps-v1 .tps-v1-directory-details{margin:16px 0 0}
.tps-v1 .tps-v1-directory-details>div{border-top:1px solid #e4dfed;margin:0;padding:12px 0}
.tps-v1 .tps-v1-directory-details dt{font-size:14px;font-weight:700;color:rgb(92,89,139);margin:0 0 4px}
.tps-v1 .tps-v1-directory-details dd{margin:0;font-size:15px;line-height:1.6;overflow-wrap:anywhere}
/* Results controls match the reviewed Studio layout. */
.tps-v1.tps-directory-public .tps-directory-results-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:0 0 20px}
.tps-directory-results-toolbar [role="status"]{scroll-margin-top:110px}
.tps-v1.tps-directory-public .tps-directory-results-toolbar [role="status"] p{margin:0;color:#5c598b;font-size:14px;font-weight:700}
.tps-v1.tps-directory-public .tps-directory-results-toolbar .tps-v1-directory-search-again{margin:2px 0 0;display:inline-block;color:#756e80;font-size:13px;font-weight:400;text-decoration:underline;text-underline-offset:3px}
.tps-v1.tps-directory-public .tps-directory-control-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.tps-v1.tps-directory-public .tps-directory-results-toolbar .tps-directory-sort{margin:0;padding:0;gap:12px}
.tps-v1.tps-directory-public .tps-directory-sort select{margin:0;min-height:42px;font-size:15px;font-weight:400;padding:8px 10px}
.tps-v1.tps-directory-public .tps-directory-sort button{min-height:42px;font-size:15px;padding:8px 18px}
.tps-v1.tps-directory-public .tps-directory-result-summary{margin:0 0 12px;color:#756e80;font-size:14px;line-height:1.4;font-weight:500}
.tps-v1.tps-directory-public .tps-directory-card>h3{font-size:18px;font-weight:600;line-height:1.35}
@media(max-width:640px){
 .tps-v1.tps-directory-public .tps-directory-results-toolbar{display:block}
 .tps-directory-results-toolbar [role="status"]{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px}
 .tps-v1.tps-directory-public .tps-directory-results-toolbar .tps-directory-sort{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}
 .tps-directory-sort label{min-width:0}
 .tps-v1.tps-directory-public .tps-directory-sort select{width:100%;font-size:14px;padding-inline:6px}
 .tps-v1.tps-directory-public .tps-directory-sort button{font-size:14px;padding-inline:12px}
}
@container(max-width:640px){
 .tps-v1.tps-directory-public .tps-directory-results-toolbar{display:block}
 .tps-directory-results-toolbar [role="status"]{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:14px}
 .tps-v1.tps-directory-public .tps-directory-results-toolbar .tps-directory-sort{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px}
 .tps-directory-sort label{min-width:0}
 .tps-v1.tps-directory-public .tps-directory-sort select{width:100%;font-size:14px;padding-inline:6px}
 .tps-v1.tps-directory-public .tps-directory-sort button{font-size:14px;padding-inline:12px}
}
.tps-directory-public .tps-v1-directory-recovery {
  margin: 16px 0;
  padding: 16px;
  border: 1px solid #ded8eb;
  border-radius: 10px;
  background: #f8f6fb;
  color: rgb(64,55,96);
  text-align: left;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.tps-directory-public .tps-v1-directory-recovery button { margin: 12px 0; }
.tps-directory-public .tps-v1-directory-recovery p { margin: 8px 0 0; text-align: left; }
.tps-directory-public .tps-v1-directory-recovery a { text-decoration: underline; }
.tps-directory-public { overflow-anchor: none; }
