/* WBA-DIR-UX-001: styles scoped to complete guide-listing surfaces. */
.guide-directory{background:var(--paper-white);padding:0 0 72px;color:var(--ink)}
.guide-directory .crumbs{padding:28px 0 20px;color:var(--dark-gold)}
.directory-intro{max-width:850px;margin-bottom:28px}
.directory-intro .eyebrow{color:var(--dark-gold)}
.directory-intro h1{font-size:clamp(2.5rem,4.5vw,3.75rem);margin:12px 0 16px;max-width:none}
.directory-intro p{margin:0 0 10px;font-size:1.125rem;color:var(--charcoal)}
.directory-total{font-size:.875rem;color:var(--muted)}
.directory-find{max-width:680px;margin:0 0 24px}
.directory-find label{display:block;font-weight:700;font-size:1rem;margin-bottom:8px}
.directory-input-row{display:flex;gap:10px;align-items:stretch}
.directory-input-row input{min-width:0;width:100%;min-height:48px;padding:10px 14px;border:1px solid #85929c;border-radius:8px;background:#fff;color:var(--ink)}
.directory-input-row button{min-height:48px;padding:10px 18px;border:1px solid var(--line);border-radius:8px;background:var(--cream);color:var(--ink);font-weight:650;cursor:pointer}
.directory-input-row button:disabled{color:var(--muted);cursor:default}
#directory-status{margin:8px 0 0;font-size:.875rem;color:var(--muted)}
.directory-jumps{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 32px;padding:0}
.directory-jumps a{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:6px;background:var(--cream);font-size:.875rem;font-weight:650}
.directory-jumps a span{color:var(--muted);font-size:.875rem;font-weight:400}
.directory-jumps a:hover,.directory-jumps a[aria-current]{background:#eee3cd;border-color:var(--dark-gold);text-decoration:underline;text-underline-offset:4px}
/* Compact brand headers distinguish categories; guide bodies stay light. */
.guide-directory-section{margin:0 0 36px;background:var(--cream);border:1px solid #e2d8c8;border-radius:14px;scroll-margin-top:152px}
.guide-directory-heading{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;padding:14px 30px;background:var(--ink);color:var(--paper-white);border-top:3px solid var(--gold);border-radius:13px 13px 0 0}
.guide-directory-heading h2{color:var(--paper-white);font-size:1.875rem;line-height:1.2;margin:0;letter-spacing:-.02em;overflow-wrap:anywhere}
.guide-directory-heading p{font-size:.875rem;color:#ded9ce;margin:0;white-space:nowrap}
.guide-directory-heading>a{display:inline-flex;align-items:center;min-height:44px;margin-left:auto;font-size:.875rem;font-weight:600;color:var(--gold);text-decoration:underline;text-underline-offset:4px}
.directory-guide-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 32px;list-style:none;margin:0;padding:14px 30px 22px;align-content:start}
.directory-guide-list li{min-width:0}
/* Floating hairlines separate visible items without changing row geometry. */
.guide-directory .directory-guide-list>li{--directory-divider:linear-gradient(rgba(16,42,67,.12),rgba(16,42,67,.12));background-size:60% 1px;background-position:center bottom;background-repeat:no-repeat}
.guide-directory .directory-guide-list>li:nth-last-child(n+4 of :not([hidden])){background-image:var(--directory-divider)}
@media(max-width:1000px){.guide-directory .directory-guide-list>li:nth-last-child(n+3 of :not([hidden])){background-image:var(--directory-divider)}}
@media(max-width:600px){.guide-directory .directory-guide-list>li:nth-last-child(n+2 of :not([hidden])){background-image:var(--directory-divider)}}
@media(min-width:1200px){
 .guide-directory .directory-guide-list>li:nth-last-child(n+3 of :not([hidden])){background-image:var(--directory-divider)}
 .guide-directory .guide-directory-section:has(.directory-guide-list li:nth-child(15)) .directory-guide-list>li:nth-last-child(3 of :not([hidden])){background-image:none}
}
.directory-guide-link{display:flex;align-items:center;min-height:56px;padding:12px 8px;font-size:1.0625rem;font-weight:550;line-height:1.55;border-radius:6px;overflow-wrap:anywhere}
.directory-guide-link:hover{background:var(--paper-white);text-decoration:underline;text-underline-offset:4px;color:var(--dark-gold)}
.guide-directory-section:target .guide-directory-heading h2{text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:8px;text-decoration-thickness:2px}
.guide-directory a:focus-visible,.guide-directory input:focus-visible,.guide-directory button:focus-visible,.guide-listing-page a.guide:focus-visible{outline:3px solid #1b5d87;outline-offset:3px;border-radius:4px}
.guide-directory-heading>a:focus-visible{outline-color:var(--paper-white)}
.directory-empty{border-left:3px solid var(--gold);padding:18px;background:var(--cream)}
.guide-directory [hidden]{display:none!important}
.guide-listing-page .listing-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0;border-bottom:1px solid var(--line);padding-bottom:18px}
.guide-listing-page .listing-heading h2{font-size:1.75rem;color:var(--ink)}
.guide-listing-page .listing-heading p{margin:0;color:var(--muted);font-size:.875rem;white-space:nowrap}
.guide-listing-page .guide-grid{padding-top:26px}
.guide-listing-page .guide{background:var(--paper-white);border-color:var(--line)}
.guide-listing-page .guide h3{color:var(--ink)}
.guide-listing-page .guide-label{color:var(--dark-gold);font-size:.875rem}
.guide-listing-page .guide p{color:var(--charcoal)}
.guide-listing-page .guide-meta{color:var(--muted);font-size:.875rem}
.guide-listing-page .guide:hover{border-color:var(--dark-gold)}
@media(max-width:1000px){.directory-guide-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}}
@media(max-width:600px){
 .guide-directory{padding-bottom:44px}
 .directory-intro h1{font-size:2.5rem}
 .directory-intro p{font-size:1rem}
 .directory-jumps{gap:8px;margin-bottom:28px}
 .directory-jumps a{padding:8px 10px;max-width:100%}
 .guide-directory-section{margin-bottom:28px;scroll-margin-top:112px}
 .guide-directory-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:12px 18px}
 .guide-directory-heading h2{font-size:1.5rem}
 .guide-directory-heading>a{grid-column:1/-1;justify-self:start;margin-left:0;min-height:44px}
 .directory-guide-list{grid-template-columns:1fr;gap:2px;padding:12px 18px 16px}
 .directory-guide-link{padding:12px 4px}
 .directory-input-row button{padding:10px 14px}
 .guide-listing-page .listing-heading{flex-wrap:wrap;gap:8px}
 .guide-listing-page .listing-heading h2{font-size:1.5rem}
}
/* Desktop category composition; mobile disclosure and category pages stay unchanged. */
@media(min-width:1200px){
 .guide-directory-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px;align-items:start}
 .guide-directory-sections>.guide-directory-section{margin:0;min-width:0}
 .guide-directory-sections .directory-guide-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;padding-inline:24px}
 .guide-directory-sections .guide-directory-heading{padding-inline:24px}
 .guide-directory-sections>.guide-directory-section:has(.directory-guide-list li:nth-child(15)){grid-column:1/-1}
 .guide-directory-sections>.guide-directory-section:has(.directory-guide-list li:nth-child(15)) .directory-guide-list{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:32px;padding-inline:30px}
 .guide-directory-sections>.guide-directory-section:has(.directory-guide-list li:nth-child(15)) .guide-directory-heading{padding-inline:30px}
}
/* Mobile-only disclosure enhances the existing category headers. No-JS stays expanded. */
.directory-toggle-all{min-height:44px;margin-top:8px;padding:8px 12px;border:1px solid var(--line);border-radius:6px;background:var(--cream);color:var(--ink);font-size:.875rem;font-weight:650;cursor:pointer}
.directory-category-toggle{position:absolute;inset:0;width:100%;border:0;border-radius:13px 13px 0 0;background:transparent;color:var(--paper-white);cursor:pointer}
.directory-category-toggle span{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:1.25rem}
.guide-directory .directory-category-toggle:focus-visible{outline:3px solid var(--paper-white);outline-offset:-6px;border-radius:13px 13px 0 0}
.directory-guide-list li[id],.guide-directory-heading h2[id],.directory-category-content[id]{scroll-margin-top:152px}
@media(max-width:600px){
 .directory-mobile .guide-directory-heading{position:relative;min-height:68px;padding-right:48px}
 .directory-mobile .guide-directory-heading h2{min-height:44px;display:flex;align-items:center}
 .directory-mobile .directory-category-content>.directory-category-action{display:inline-flex;align-items:center;min-height:44px;margin:8px 18px 0;color:var(--dark-gold);font-size:.875rem;font-weight:600;text-decoration:underline;text-underline-offset:4px}
 .directory-mobile .directory-category-content>.directory-category-action:focus-visible{outline:3px solid #1b5d87;outline-offset:3px}
 .directory-mobile .guide-directory-section:has(.directory-category-content[hidden]) .guide-directory-heading{border-radius:13px}
 .directory-guide-list li[id],.guide-directory-heading h2[id],.directory-category-content[id]{scroll-margin-top:112px}
}
