/* 自动生成，禁止人工编辑。请运行 npm run build 重建。 */
.directory-shell { width: min(1180px, calc(100% - 48px)); margin: 0 auto; padding: 56px 0 80px; }
.directory-shell button.button, .directory-request .button { background: var(--cb-brand-gold); color: var(--cb-bg-cinema); border: 1px solid var(--cb-brand-gold); font: inherit; font-weight: 600; }
.directory-heading nav { display: flex; flex-wrap: wrap; gap: 12px; color: var(--cb-text-muted); font-size: .8rem; margin-bottom: 48px; }
.directory-heading h1 { font-size: clamp(2.5rem, 5vw, 4.8rem); line-height: 1.04; letter-spacing: -.04em; max-width: 15ch; margin: 16px 0 24px; }
.directory-heading > p:last-child { color: var(--cb-text-muted); max-width: 58ch; line-height: 1.7; }
.directory-search { margin: 36px 0 48px; display: flex; gap: 24px; align-items: end; }
.directory-search form { flex: 1; }
.directory-search label { display: block; margin-bottom: 12px; font-weight: 600; }
.directory-search__controls { display: flex; gap: 12px; }
.directory-search input { flex: 1; min-width: 0; padding: 16px; color: var(--cb-text); background: var(--cb-bg-navy); border: 1px solid var(--cb-border); border-radius: var(--cb-radius-control); font: inherit; }
.directory-layout { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 48px; align-items: start; }
.directory-categories h2 { font-size: 1.1rem; margin: 0 0 20px; }
.directory-categories a { display: flex; justify-content: space-between; gap: 12px; padding: 12px 14px; border-left: 2px solid transparent; font-size: .9rem; text-decoration: none; }
.directory-categories a span:last-child { color: var(--cb-text-muted); font-variant-numeric: tabular-nums; }
.directory-categories a[aria-current] { background: var(--cb-surface); border-left-color: var(--cb-brand-gold); color: var(--cb-brand-gold); }
.directory-results > header { border-bottom: 1px solid var(--cb-border); padding-bottom: 24px; }
.directory-results h2 { font-size: 2rem; margin: 8px 0; }
.directory-results header > p:last-child { color: var(--cb-text-muted); }
.directory-list { list-style: none; padding: 0; margin: 0; }
.directory-list li { padding: 21px 0; border-bottom: 1px solid var(--cb-border); overflow-wrap: anywhere; }
.directory-list h3 { font-size: 1rem; font-weight: 600; margin: 0 0 8px; }
.directory-list p { display: flex; justify-content: space-between; gap: 20px; margin: 0; color: var(--cb-text-muted); font-size: .8rem; }
.directory-list p span:last-child { text-align: right; }
.directory-pagination { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; padding-top: 28px; }
.directory-empty { padding: 48px 0; }
.directory-request { margin-top: 64px; padding: clamp(28px, 4vw, 56px); background: var(--cb-bg-navy); border: 1px solid var(--cb-border); border-radius: var(--cb-radius-card); display: grid; grid-template-columns: minmax(0,1fr) minmax(220px, 280px); align-items: center; gap: 48px; }
.directory-request h2 { font-size: clamp(1.8rem, 3.2vw, 2.75rem); line-height: 1.15; max-width: 22ch; margin: 0 0 20px; text-wrap: balance; }
.directory-request p { max-width: 52ch; margin: 0; line-height: 1.7; color: var(--cb-text-muted); }
.directory-request .directory-request__timing { margin-top: 20px; color: var(--cb-text); font-weight: 500; }
.directory-request__actions { display: flex; flex-direction: column; gap: 12px; align-items: stretch; }
.directory-request .button { justify-content: center; min-height: 56px; padding: 16px 24px; text-align: center; white-space: normal; }
.directory-request__secondary { display: inline-flex; justify-content: center; align-items: center; min-height: 44px; color: var(--cb-text-muted); font-size: .875rem; text-align: center; text-underline-offset: 4px; }
.directory-request__secondary:hover { color: var(--cb-text); }
.directory-faq { margin-top: 80px; display: grid; grid-template-columns: 1fr 1.7fr; gap: 64px; }
.directory-faq h2 { font-size: 2rem; line-height: 1.2; }
.directory-faq details { border-bottom: 1px solid var(--cb-border); padding: 20px 0; }
.directory-faq summary { cursor: pointer; font-weight: 600; }
.directory-faq details p { color: var(--cb-text-muted); line-height: 1.7; }
.directory-mobile-category { display: none; }
@media (max-width: 767px) {
  .directory-shell { width: calc(100% - 32px); padding-top: 28px; }
  .directory-heading nav { margin-bottom: 32px; gap: 8px; }
  .directory-heading h1 { font-size: 2.25rem; margin-block: 12px 16px; }
  .directory-heading > p:last-child { line-height: 1.5; }
  .directory-search { margin-block: 24px; gap: 12px; }
  .directory-search, .directory-search__controls { flex-direction: column; align-items: stretch; }
  .directory-layout, .directory-request, .directory-faq { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .directory-categories { display: none; }
  .directory-mobile-category { display: grid; gap: 12px; }
  .directory-mobile-category select { min-width: 0; width: 100%; padding: 14px; font: inherit; background: var(--cb-surface); color: var(--cb-text); border: 1px solid var(--cb-border); }
  .directory-list p { flex-direction: column; gap: 6px; }
  .directory-list p span:last-child { text-align: left; }
  .directory-request { padding: 24px; }
}
/* 目录工具区保持固定高度，结果按用户滚动逐批增长。无脚本仍走普通页面流。 */
.directory-heading h1 { font-size: clamp(2rem, 3.3vw, 3rem); max-width: none; }
.directory-shell { padding-top: 32px; }
.directory-heading nav { margin-bottom: 24px; }
.directory-search { margin: 24px 0; padding: 20px; border: 1px solid var(--cb-border); border-radius: var(--cb-radius-control); background: var(--cb-bg-navy); }
.directory-status { min-height: 1.5em; margin: 0 0 12px; color: var(--cb-text-muted); font-size: .85rem; }
.directory-layout { gap: 20px; }
.directory-results, .directory-categories { border: 1px solid var(--cb-border); border-radius: var(--cb-radius-control); background: var(--cb-bg-navy); }
.directory-results { min-width: 0; padding: 20px; }
.directory-results > header { padding-bottom: 16px; }
.directory-results h2 { font-size: 1.6rem; }
.directory-categories { padding: 16px 8px; }
.directory-categories h2 { padding-inline: 12px; }
.is-enhanced .directory-scroll { height: clamp(360px, 62vh, 640px); overflow-y: auto; scrollbar-gutter: stable; scrollbar-color: var(--cb-text-muted) var(--cb-bg-navy); padding-right: 12px; }
.is-enhanced .directory-categories { max-height: calc(clamp(360px, 62vh, 640px) + 180px); overflow-y: auto; scrollbar-width: thin; }
.directory-scroll:focus-visible { outline: 2px solid var(--cb-info-blue, #398bff); outline-offset: 4px; }
.directory-list li { padding-block: 16px; }
.directory-pagination { padding-block: 20px; }
.directory-pagination button:disabled { opacity: .6; cursor: wait; }
@media (max-width: 1023px) {
 .directory-layout { grid-template-columns: minmax(0,1fr); }
 .directory-categories { display: none; }
 .directory-mobile-category { display: grid; gap: 12px; }
 .directory-mobile-category select { min-width: 0; padding: 14px; font: inherit; background: var(--cb-surface); color: var(--cb-text); border: 1px solid var(--cb-border); }
 .is-enhanced .directory-scroll { height: clamp(300px, 58svh, 560px); }
}
.directory-status { line-height: 1.5; }
/* 对照目录 UI：分类图标与紧凑的名称、分类及地区信息。 */
.directory-categories a { display: grid; grid-template-columns: 20px minmax(0,1fr) auto; align-items: center; gap: 10px; }
.directory-categories svg { width: 19px; height: 19px; color: var(--cb-text-muted); }
.directory-categories a[aria-current] { border-left-color: var(--cb-info); background: #172b49; color: #bad6ff; }
.directory-results header .eyebrow { margin: 0; font: 600 1.2rem var(--cb-font-heading); color: var(--cb-text); letter-spacing: normal; text-transform: none; }
.directory-results h2 { font: 500 1rem var(--cb-font-body); color: var(--cb-text-muted); }
.directory-list li { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); align-items: center; gap: 16px; padding-block: 15px; }
.directory-list h3 { margin: 0; line-height: 1.5; }
.directory-list p { flex-direction: column; align-items: end; gap: 4px; }
.directory-list p span { text-align: right; }
.directory-shell button.button { background: transparent; color: var(--cb-info); border-color: var(--cb-border); }
.directory-search button.button, .directory-request .button { background: var(--cb-info); border-color: var(--cb-info); color: var(--cb-bg-cinema); }
.directory-scroll:focus-visible { outline-color: var(--cb-info); }
.directory-scroll::-webkit-scrollbar, .directory-categories::-webkit-scrollbar { width: 8px; }
.directory-scroll::-webkit-scrollbar-track, .directory-categories::-webkit-scrollbar-track { background: var(--cb-bg-cinema); }
.directory-scroll::-webkit-scrollbar-thumb, .directory-categories::-webkit-scrollbar-thumb { background: #667893; border-radius: 4px; }
@media (max-width: 767px) {
 .directory-list li { grid-template-columns: minmax(0,1fr); gap: 6px; }
 .directory-list p { align-items: start; }
 .directory-list p span { text-align: left; }
 .directory-search { padding: 16px; }
}
.is-enhanced .directory-mobile-category button { display: none; }

/* Directory typography remains compact while sharing the brand hierarchy. */
.directory-heading h1, .directory-request h2, .directory-faq h2,
.directory-categories h2, .directory-faq summary { font-family: var(--cb-font-heading); }
.directory-heading h1 { color: var(--cb-text); }
.directory-heading .eyebrow { color: var(--cb-brand-gold); }
.directory-request { background: var(--cb-gradient-brand); border-color: var(--cb-border); }
.directory-request h2 { font-size: var(--cb-heading-section); letter-spacing: -.035em; line-height: 1.08; }
.directory-search button.button, .directory-request .button { background: var(--cb-info); border-color: var(--cb-info); color: var(--cb-bg-cinema); }
.directory-search button.button:hover, .directory-request .button:hover { background: var(--cb-info-readable); }

/* Keep search and results together on a continuous full-width page backdrop. */
#main-content:has(>.directory-shell){background:linear-gradient(180deg,var(--cb-bg-navy),var(--cb-bg-cinema) 24%,var(--cb-bg-navy) 52%,var(--cb-bg-cinema) 82%)}
.directory-shell>.directory-layout,.directory-shell>.directory-faq{border-top:1px solid color-mix(in srgb,var(--cb-border) 55%,transparent);padding-top:clamp(2rem,4vw,3rem)}