/* AJ Carrier Directory. Uses aj-theme tokens from style.css :root. */
.aj-cdir { margin: 24px 0 32px; }
.aj-cdir *, .aj-cdir *::before, .aj-cdir *::after { box-sizing: border-box; }
.aj-cdir-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.aj-cdir-controls { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-end; margin-bottom: 12px; }
.aj-cdir-field { display: flex; flex-direction: column; gap: 4px; flex: 0 0 auto; min-width: 160px; margin: 0; }
.aj-cdir-search { flex: 1 1 240px; }
.aj-cdir-lab { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--text-muted, #6b7280); }
.aj-cdir input, .aj-cdir select { font: inherit; font-size: 15px; padding: 9px 11px; min-height: 44px; width: 100%; margin: 0; border: 1px solid var(--gray-200, #e5e7eb); border-radius: 6px; background: #fff; color: var(--text, #1f2937); }
.aj-cdir input:focus-visible, .aj-cdir select:focus-visible, .aj-cdir button:focus-visible { outline: 2px solid var(--blue, #2563eb); outline-offset: 2px; }
.aj-cdir-reset { font: inherit; font-size: 15px; padding: 9px 18px; min-height: 44px; border: 1px solid var(--gray-200, #e5e7eb); border-radius: 6px; background: var(--gray-50, #f9fafb); color: var(--text, #1f2937); cursor: pointer; }
.aj-cdir-reset:hover { background: var(--gray-100, #f3f4f6); }
.aj-cdir-count { font-size: 14px; color: var(--text-muted, #6b7280); margin: 0 0 8px; }
.aj-cdir-wrap { border: 1px solid var(--gray-200, #e5e7eb); border-radius: var(--radius, 8px); background: #fff; overflow: hidden; }
.aj-cdir .aj-cdir-table { width: 100%; border-collapse: collapse; font-size: 15px; margin: 0; border: 0; }
.aj-cdir .aj-cdir-table th { background: var(--gray-50, #f9fafb); text-align: left; padding: 0; border: 0; border-bottom: 1px solid var(--gray-200, #e5e7eb); }
.aj-cdir-table th button { font: inherit; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--text-muted, #6b7280); background: none; border: 0; padding: 12px 14px; width: 100%; text-align: left; cursor: pointer; white-space: nowrap; }
.aj-cdir-table th button:hover, .aj-cdir-table th[aria-sort] button { color: var(--blue, #2563eb); }
.aj-cdir-table th button::after { content: "\2195"; opacity: .35; margin-left: 6px; font-weight: 400; }
.aj-cdir-table th[aria-sort="ascending"] button::after { content: "\2191"; opacity: 1; }
.aj-cdir-table th[aria-sort="descending"] button::after { content: "\2193"; opacity: 1; }
.aj-cdir .aj-cdir-table td { padding: 12px 14px; border: 0; border-bottom: 1px solid var(--gray-200, #e5e7eb); vertical-align: top; line-height: 1.45; background: #fff; }
.aj-cdir .aj-cdir-table tbody tr:last-of-type td { border-bottom: 0; }
.aj-cdir-name { display: block; font-weight: 600; color: var(--text, #1f2937); }
a.aj-cdir-name { color: var(--blue, #2563eb); text-decoration: none; }
a.aj-cdir-name:hover { text-decoration: underline; }
.aj-cdir-addr { display: block; font-size: 13px; color: var(--text-muted, #6b7280); margin-top: 2px; }
.aj-cdir-site { display: inline-block; font-size: 13px; color: var(--gray-600, #4b5563); margin-top: 2px; text-decoration: underline; text-underline-offset: 2px; }
.aj-cdir-tel { white-space: nowrap; color: var(--blue, #2563eb); font-weight: 600; text-decoration: none; }
a.aj-cdir-tel:hover { text-decoration: underline; }
.aj-cdir-none { color: var(--gray-400, #9ca3af); font-size: 13px; }
.aj-cdir-pill { display: inline-block; font-size: 12px; font-weight: 700; padding: 3px 10px; border-radius: 999px; white-space: nowrap; }
.aj-cdir-pill.is-on { background: var(--blue-light, #eff6ff); color: var(--blue-dark, #1d4ed8); }
.aj-cdir-pill.is-off { background: var(--gray-100, #f3f4f6); color: var(--gray-600, #4b5563); }
.aj-cdir-empty { padding: 40px 16px; text-align: center; color: var(--text-muted, #6b7280); margin: 0; }

/* Phones: each carrier becomes a card. */
@media (max-width: 700px) {
	.aj-cdir-field { min-width: 0; flex: 1 1 100%; }
	.aj-cdir-reset { flex: 1 1 100%; }
	.aj-cdir .aj-cdir-table thead { display: none; }
	.aj-cdir .aj-cdir-table, .aj-cdir .aj-cdir-table tbody, .aj-cdir .aj-cdir-table tr, .aj-cdir .aj-cdir-table td { display: block; width: 100%; }
	.aj-cdir .aj-cdir-table tr { padding: 12px 14px; border-bottom: 1px solid var(--gray-200, #e5e7eb); }
	.aj-cdir .aj-cdir-table tr[hidden] { display: none; }
	.aj-cdir .aj-cdir-table tbody tr:last-of-type { border-bottom: 0; }
	.aj-cdir .aj-cdir-table td { padding: 3px 0; border: 0; }
	.aj-cdir .aj-cdir-table td.aj-cdir-carrier { padding-bottom: 6px; }
	.aj-cdir .aj-cdir-table td[data-label] { display: flex; justify-content: space-between; gap: 12px; }
	.aj-cdir .aj-cdir-table td[data-label]::before { content: attr(data-label); font-size: 13px; color: var(--text-muted, #6b7280); }
}

/* The theme's the_content filter wraps every table in .table-scroll
   (margin 1.5em, min-width 480px). The directory handles its own layout. */
.aj-cdir .table-scroll { overflow: visible; margin: 0; }
.aj-cdir .table-scroll > .aj-cdir-table { min-width: 0; }
.aj-cdir .aj-cdir-table { table-layout: fixed; }
.aj-cdir .aj-cdir-table th:nth-child(1) { width: 42%; }
.aj-cdir .aj-cdir-table th:nth-child(2) { width: 21%; }
.aj-cdir .aj-cdir-table th:nth-child(3) { width: 23%; }
.aj-cdir .aj-cdir-table th:nth-child(4) { width: 14%; }
.aj-cdir .aj-cdir-table td { overflow-wrap: anywhere; }
.aj-cdir-tel { white-space: normal; }
@media (max-width: 700px) {
	.aj-cdir .aj-cdir-table { table-layout: auto; }
	.aj-cdir .aj-cdir-table td[data-label] > * { text-align: right; }
}
/* Override the theme's zebra and hover cell shading; the directory uses plain rows. */
.aj-cdir .aj-cdir-table tbody tr td,
.aj-cdir .aj-cdir-table tbody tr:nth-child(even) td { background: transparent; }
.aj-cdir .aj-cdir-table tbody tr:hover td { background: var(--gray-50, #f9fafb); }
