/* Directory-only layout; colors and typography use the shared public tokens.
   The About-style informational hero background and H1 remain untouched. */
.vtwin-directory-page .vtwin-intro-copy{
  max-width:68ch;
  font-family:Arial,Helvetica,sans-serif;
}
.vtwin-directory-page .vtwin-intro-copy p{
  max-width:none;
  margin:0;
  color:var(--tb-public-text-secondary);
  font:1rem/1.65 Arial,Helvetica,sans-serif;
}
.vtwin-directory-page .vtwin-intro-copy p+p{margin-top:1rem}
.vtwin-directory-page .vtwin-intro-copy .vtwin-independence{
  margin-top:1.25rem;
  color:var(--tb-public-text-muted);
  font-size:.875rem;
  line-height:1.6;
}
.vtwin-directory-page .vtwin-directory-content{grid-template-columns:minmax(0,1fr);gap:var(--tb-public-space-4)}
.vtwin-directory-page .vtwin-card{
  min-width:0;
  border:1px solid var(--tb-public-border);
  border-radius:var(--tb-public-radius-sm);
  background:var(--tb-public-surface);
}
.vtwin-directory-page .vtwin-section-bar{
  min-height:42px;
  padding:10px var(--tb-public-space-4);
  border-bottom:1px solid var(--tb-public-border);
  border-radius:4px 4px 0 0;
  background:var(--tb-public-accent-action);
  color:var(--tb-public-text);
}
.vtwin-directory-page .vtwin-section-bar h2{
  margin:0;
  color:inherit;
  font:900 1.05rem/1.25 var(--tb-public-heading-font);
  letter-spacing:.035em;
  text-transform:uppercase;
  scroll-margin-top:1rem;
}
.vtwin-directory-page .vtwin-state-nav-body{padding:var(--tb-public-space-3) var(--tb-public-space-4)}
.vtwin-directory-page #vtwin-directory-count{margin:0;color:var(--tb-public-text-secondary);font:.94rem/1.55 Arial,Helvetica,sans-serif}
.vtwin-directory-page .vtwin-state-links{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:4px 1rem;
  margin:.75rem 0 0;
  padding:0;
  list-style:none;
}
.vtwin-directory-page .vtwin-state-links a{display:flex;align-items:center;color:var(--tb-public-text-secondary);font:700 .94rem/1.4 Arial,Helvetica,sans-serif}
.vtwin-directory-page .vtwin-shop-rows{margin:0;padding:0;list-style:none}
.vtwin-directory-page .vtwin-shop-row{padding:var(--tb-public-space-3) var(--tb-public-space-4);overflow-wrap:anywhere}
.vtwin-directory-page .vtwin-shop-row+.vtwin-shop-row{border-top:1px solid var(--tb-public-border-soft)}
.vtwin-directory-page .vtwin-shop-row h3{margin:0;color:var(--tb-public-text-secondary);font:800 clamp(1.1rem,2vw,1.25rem)/1.3 var(--tb-public-heading-font)}
.vtwin-directory-page .vtwin-shop-row h3 a{display:inline-flex;align-items:center;color:inherit}
.vtwin-directory-page .vtwin-shop-address{margin:.1rem 0 .35rem;color:var(--tb-public-text-secondary);font:.94rem/1.55 Arial,Helvetica,sans-serif}
.vtwin-directory-page .vtwin-shop-classifications{margin:0;color:var(--tb-public-accent-bright);font:.84rem/1.65 Arial,Helvetica,sans-serif}
.vtwin-directory-page .place-map-link:hover{color:var(--tb-public-text)}
.vtwin-directory-page .place-map-link:focus-visible{outline:3px solid var(--tb-public-focus);outline-offset:3px}
@media(max-width:700px){
  .vtwin-directory-page .vtwin-section-bar{padding-inline:1rem}
  .vtwin-directory-page .vtwin-state-nav-body,.vtwin-directory-page .vtwin-shop-row{padding-inline:1rem}
  .vtwin-directory-page .vtwin-state-links{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:.75rem}
}
