.tn-directory-page {
    --dir-blue: #1d5df5;
    --dir-navy: #071a4d;
    --dir-muted: #61708d;
    --dir-line: #dce6f3;
    --dir-soft: #f5f9ff;
    background: #fff;
    color: var(--dir-navy);
    font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
}

.tn-directory-page .tn-shell { width: min(1280px, calc(100% - 48px)); }
.tn-directory-page a { transition: color .16s ease, border-color .16s ease, background-color .16s ease, transform .16s ease; }
.tn-directory-page [hidden] { display: none !important; }
.tn-directory-block { margin: 0 auto; padding-top: 27px; }
.tn-directory-section-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 15px; }
.tn-directory-section-head h2 { margin: 0; font-size: 24px; line-height: 1.16; font-weight: 950; letter-spacing: -.035em; }
.tn-directory-section-head > a { color: var(--dir-blue); font-size: 13px; font-weight: 900; white-space: nowrap; }
.tn-directory-section-head > a:hover { color: #073fc6; }

.tn-directory-hero { position: relative; min-height: 408px; overflow: hidden; background: #d7efff; }
.tn-directory-hero__media { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(228,247,255,.97) 0%, rgba(222,243,255,.89) 39%, rgba(222,243,255,.36) 70%, rgba(222,243,255,.14) 100%), var(--tn-directory-hero-image) center 54% / cover no-repeat; }
.tn-directory-hero__media::after { content: ""; position: absolute; inset: auto 0 0; height: 100px; background: linear-gradient(0deg, rgba(255,255,255,.36), transparent); }
.tn-directory-hero__inner { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1fr) 460px; grid-template-rows: auto auto auto auto; column-gap: 48px; padding-top: 45px; padding-bottom: 28px; }
.tn-directory-hero__copy { max-width: 610px; align-self: end; }
.tn-directory-eyebrow { display: block; margin-bottom: 11px; text-transform: uppercase; letter-spacing: .17em; font-size: 11px; font-weight: 950; color: #334979; }
.tn-directory-hero__copy h1 { max-width: 610px; margin: 0 0 8px; font-size: clamp(42px, 4.3vw, 62px); line-height: .98; font-weight: 950; letter-spacing: -.064em; color: #07194d; }
.tn-directory-hero__copy p { max-width: 660px; margin: 0; color: #233862; font-size: 16px; line-height: 1.42; font-weight: 700; }
.tn-directory-hero-map { grid-column: 2; grid-row: 1 / span 4; align-self: center; height: 300px; display: grid; grid-template-columns: 48% 52%; grid-template-rows: 1fr auto; overflow: hidden; border: 7px solid rgba(255,255,255,.88); border-radius: 14px; background: #fff; box-shadow: 0 16px 38px rgba(14,54,102,.16); position: relative; }
.tn-directory-hero-map__list { position: relative; z-index: 401; background: rgba(255,255,255,.96); padding: 17px 14px; min-width: 0; }
.tn-directory-hero-map__list > strong { display: block; margin-bottom: 10px; font-size: 12px; font-weight: 950; }
.tn-directory-hero-map__list > a { display: grid; grid-template-columns: 32px 1fr; align-items: center; gap: 9px; padding: 8px 0; color: var(--dir-navy); }
.tn-directory-hero-map__list > a + a { border-top: 1px solid #edf2f8; }
.tn-directory-hero-map__list > a > i { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; color: #1759ed; background: #e8f1ff; font-size: 13px; }
.tn-directory-hero-map__list > a:nth-of-type(2) > i { background: #f0e9ff; color: #7445df; }
.tn-directory-hero-map__list > a:nth-of-type(3) > i { background: #fff0e2; color: #f07a28; }
.tn-directory-hero-map__list b, .tn-directory-hero-map__list small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tn-directory-hero-map__list b { font-size: 11px; }
.tn-directory-hero-map__list small { color: #70809c; font-size: 9px; margin-top: 2px; }
.tn-directory-hero-map__list p { color: #61708d; font-size: 11px; line-height: 1.45; }
.tn-directory-hero-map__canvas { grid-column: 2; grid-row: 1 / span 2; min-width: 0; background: #dceef0; }
.tn-directory-hero-map__link { position: absolute; z-index: 402; right: 10px; bottom: 10px; display: inline-flex; align-items: center; gap: 7px; padding: 9px 11px; border-radius: 7px; background: rgba(255,255,255,.96); color: var(--dir-blue); font-size: 10px; font-weight: 950; box-shadow: 0 5px 18px rgba(13,46,93,.15); }
.tn-directory-hero-map .leaflet-control-attribution { font-size: 7px; }
.tn-directory-hero-map .leaflet-control-zoom { display: none; }

.tn-directory-search { grid-column: 1; display: grid; grid-template-columns: 1.15fr 1fr 176px; gap: 10px; margin-top: 17px; padding: 10px; background: rgba(255,255,255,.97); border: 1px solid rgba(184,208,233,.9); border-radius: 10px; box-shadow: 0 12px 28px rgba(13,46,93,.11); }
.tn-directory-search label > span { display: block; margin: 0 0 5px 2px; font-size: 11px; font-weight: 950; color: #263b65; }
.tn-directory-search label > div { height: 39px; display: flex; align-items: center; gap: 9px; padding: 0 12px; border: 1px solid #d9e4f1; border-radius: 7px; background: #fff; color: #54709c; }
.tn-directory-search input { width: 100%; min-width: 0; border: 0; outline: 0; color: var(--dir-navy); background: transparent; font: inherit; font-size: 11px; }
.tn-directory-search button { align-self: end; height: 39px; border: 0; border-radius: 7px; background: var(--dir-blue); color: #fff; font: inherit; font-size: 12px; font-weight: 950; cursor: pointer; box-shadow: 0 9px 18px rgba(29,93,245,.24); }
.tn-directory-search button:hover { background: #104bd5; }
.tn-directory-popular-pills { grid-column: 1; display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin-top: 10px; color: #40557c; font-size: 10px; font-weight: 850; }
.tn-directory-popular-pills a { display: inline-flex; align-items: center; gap: 6px; padding: 5px 8px; border: 1px solid #d7e3ef; border-radius: 999px; background: rgba(255,255,255,.88); color: #28416f; }
.tn-directory-popular-pills a:hover { border-color: #91afff; color: var(--dir-blue); }
.tn-directory-popular-pills i { color: var(--dir-blue); }
.tn-directory-hero-notes { grid-column: 1; display: flex; flex-wrap: wrap; gap: 22px; margin-top: 13px; }
.tn-directory-hero-notes a { color: #354a72; font-size: 10px; font-weight: 800; }
.tn-directory-hero-notes i { margin-right: 5px; color: #173674; }
.tn-directory-breadcrumbs { padding-top: 12px; }

.tn-directory-categories { padding-top: 25px; }
.tn-directory-category-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.tn-directory-category-card { min-height: 84px; display: grid; grid-template-columns: 54px 1fr; align-items: center; gap: 14px; padding: 13px 16px; border: 1px solid var(--dir-line); border-radius: 8px; background: #fff; color: var(--dir-navy); box-shadow: 0 8px 22px rgba(8,30,74,.035); }
.tn-directory-category-card:hover { transform: translateY(-2px); border-color: #9db9fb; box-shadow: 0 13px 28px rgba(29,93,245,.09); }
.tn-directory-category-icon { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; background: #e7f3ff; color: #1684e9; font-size: 21px; }
.tn-directory-category-icon.purple, .tn-directory-category-icon.violet { background: #f1e8ff; color: #7c45df; }
.tn-directory-category-icon.orange, .tn-directory-category-icon.gold { background: #fff0e3; color: #f27827; }
.tn-directory-category-icon.green { background: #e0f8ed; color: #13a86d; }
.tn-directory-category-icon.pink { background: #ffe8f0; color: #df4778; }
.tn-directory-category-icon.teal, .tn-directory-category-icon.cyan { background: #e3f8f9; color: #0e9caa; }
.tn-directory-category-card strong, .tn-directory-category-card small { display: block; }
.tn-directory-category-card strong { font-size: 14px; font-weight: 950; }
.tn-directory-category-card small { margin-top: 5px; color: var(--dir-muted); font-size: 11px; font-weight: 700; }

.tn-directory-location-row { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
.tn-directory-location-card { min-width: 0; overflow: hidden; border: 1px solid var(--dir-line); border-radius: 8px; background: #fff; color: var(--dir-navy); box-shadow: 0 8px 24px rgba(8,30,74,.04); }
.tn-directory-location-card.is-current { box-shadow: inset 0 0 0 2px var(--dir-blue), 0 8px 24px rgba(8,30,74,.06); }
.tn-directory-location-card__image { height: 125px; display: grid; place-items: center; background: linear-gradient(180deg, rgba(15,34,72,.02), rgba(15,34,72,.18)), var(--tn-location-image, linear-gradient(135deg,#c6e5f8,#dfeee2)); background-size: cover; background-position: center; }
.tn-directory-location-card__image > i { display: none; font-size: 26px; color: #fff; text-shadow: 0 3px 12px rgba(7,25,72,.35); }
.tn-directory-location-card[style=""] .tn-directory-location-card__image > i, .tn-directory-location-card:not([style]) .tn-directory-location-card__image > i { display: block; }
.tn-directory-location-card__body { display: block; padding: 11px 12px 12px; }
.tn-directory-location-card__body strong, .tn-directory-location-card__body small, .tn-directory-location-card__body em { display: block; }
.tn-directory-location-card__body strong { font-size: 14px; font-weight: 950; }
.tn-directory-location-card__body small { min-height: 16px; margin-top: 3px; color: var(--dir-muted); font-size: 10px; }
.tn-directory-location-card__body em { margin-top: 8px; color: var(--dir-blue); font-size: 10px; font-style: normal; font-weight: 900; }

.tn-directory-results-section { margin-top: 30px; padding: 27px 0 30px; background: linear-gradient(180deg,#fff,#f7fbff); border-top: 1px solid #eef3f9; }
.tn-directory-results-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 15px; }
.tn-directory-results-heading h2 { margin: 0; font-size: 25px; font-weight: 950; letter-spacing: -.035em; }
.tn-directory-results-heading p { margin: 5px 0 0; color: var(--dir-muted); font-size: 12px; font-weight: 700; }
.tn-directory-results-heading > a { padding: 9px 13px; border: 1px solid #b9cbec; border-radius: 8px; background: #fff; color: var(--dir-blue); font-size: 11px; font-weight: 900; }
.tn-directory-toolbar { display: grid; grid-template-columns: minmax(240px,1fr) 200px 170px auto 82px; gap: 8px; align-items: center; margin-bottom: 9px; }
.tn-directory-toolbar label, .tn-directory-view-switch { height: 45px; display: flex; align-items: center; gap: 9px; border: 1px solid var(--dir-line); border-radius: 7px; background: #fff; color: #61708d; }
.tn-directory-toolbar label { padding: 0 12px; }
.tn-directory-toolbar input, .tn-directory-toolbar select { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: #243860; font: inherit; font-size: 11px; }
.tn-directory-toolbar > strong { text-align: right; color: #50617e; font-size: 11px; }
.tn-directory-view-switch { gap: 0; padding: 3px; }
.tn-directory-view-switch button { height: 35px; border: 0; border-radius: 5px; padding: 0 10px; background: transparent; color: #435577; font: inherit; font-size: 10px; font-weight: 900; cursor: pointer; }
.tn-directory-view-switch button.is-active { background: #eaf1ff; color: var(--dir-blue); }

.tn-directory-results-layout { display: grid; grid-template-columns: 210px minmax(0, 1fr) 270px; gap: 10px; align-items: start; }
.tn-directory-results-layout[data-view="list"] { grid-template-columns: 210px minmax(0, 1fr); }
.tn-directory-results-layout[data-view="list"] .tn-directory-map-panel { display: none; }
.tn-directory-results-layout[data-view="map"] { grid-template-columns: 1fr; }
.tn-directory-results-layout[data-view="map"] .tn-directory-filter-panel,
.tn-directory-results-layout[data-view="map"] .tn-directory-list { display: none; }
.tn-directory-results-layout[data-view="map"] .tn-directory-map-panel { position: static; }
.tn-directory-results-layout[data-view="map"] .tn-directory-map,
.tn-directory-results-layout[data-view="map"] .tn-directory-map-empty { height: 620px; }
.tn-directory-filter-panel, .tn-directory-map-panel { border: 1px solid var(--dir-line); border-radius: 8px; background: #fff; overflow: hidden; }
.tn-directory-filter-panel { padding: 0 14px 14px; }
.tn-directory-filter-panel fieldset { display: grid; gap: 7px; margin: 0; padding: 14px 0; border: 0; border-bottom: 1px solid #eaf0f7; }
.tn-directory-filter-panel legend { width: 100%; display: flex; justify-content: space-between; padding: 0 0 9px; color: #182b56; font-size: 11px; font-weight: 950; }
.tn-directory-filter-panel legend i { font-size: 9px; }
.tn-directory-filter-panel label { display: flex; align-items: center; gap: 7px; color: #536380; font-size: 10px; font-weight: 700; }
.tn-directory-filter-panel input { width: 14px; height: 14px; margin: 0; accent-color: var(--dir-blue); }
.tn-directory-filter-panel fieldset > a { margin-top: 5px; color: var(--dir-blue); font-size: 9px; font-weight: 850; }
.tn-directory-clear { width: 100%; height: 37px; margin-top: 14px; border: 1px solid #c7d7ef; border-radius: 6px; background: #fff; color: var(--dir-blue); font: inherit; font-size: 10px; font-weight: 950; cursor: pointer; }

.tn-directory-list { min-width: 0; display: grid; gap: 8px; }
.tn-directory-listing-card { min-height: 142px; display: grid; grid-template-columns: 190px minmax(0,1fr); overflow: hidden; border: 1px solid var(--dir-line); border-radius: 8px; background: #fff; box-shadow: 0 6px 18px rgba(8,30,74,.025); }
.tn-directory-listing-image { display: grid; place-items: center; min-height: 142px; background-size: cover; background-position: center; color: #86a6d8; font-size: 33px; }
.tn-directory-listing-image:not(.has-no-image) > i, .tn-directory-recent-image:not(.has-no-image) > i, .tn-directory-guide-image:not(.has-no-image) > i { display: none; }
.tn-directory-listing-image.has-no-image, .tn-directory-recent-image.has-no-image, .tn-directory-guide-image.has-no-image { background: linear-gradient(135deg,#edf4ff,#f8fbff); }
.tn-directory-listing-copy { min-width: 0; padding: 13px 14px 11px; }
.tn-directory-listing-title { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.tn-directory-listing-title > div { min-width: 0; }
.tn-directory-listing-title a { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #0d2355; font-size: 14px; font-weight: 950; }
.tn-directory-listing-title small { display: block; margin-top: 3px; color: var(--dir-blue); font-size: 10px; font-weight: 850; }
.tn-directory-status { display: inline-flex; width: max-content; align-items: center; gap: 5px; border-radius: 5px; padding: 5px 7px; font-size: 9px; font-weight: 950; font-style: normal; white-space: nowrap; }
.tn-directory-status.is-verified { background: #def8eb; color: #0e9361; }
.tn-directory-status.is-claimed { background: #e8f1ff; color: #2362e8; }
.tn-directory-status.is-unclaimed { background: #eef2f6; color: #69778f; }
.tn-directory-listing-address { display: block; margin-top: 8px; color: #657490; font-size: 9px; font-weight: 700; }
.tn-directory-listing-address i { margin-right: 4px; color: #315eac; }
.tn-directory-listing-copy p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; margin: 7px 0 8px; color: #536380; font-size: 10px; line-height: 1.42; }
.tn-directory-listing-footer { display: flex; align-items: end; justify-content: space-between; gap: 10px; }
.tn-directory-listing-footer small { color: #78859b; font-size: 8px; }
.tn-directory-listing-footer a { min-width: 108px; height: 34px; display: grid; place-items: center; border-radius: 5px; background: var(--dir-blue); color: #fff; font-size: 10px; font-weight: 950; }
.tn-directory-listing-footer a:hover { background: #104bd5; }
.tn-directory-empty, .tn-directory-no-match { padding: 48px 20px; border: 1px solid var(--dir-line); border-radius: 8px; background: #fff; text-align: center; }
.tn-directory-empty > i, .tn-directory-no-match > i { font-size: 28px; color: #7ca0d9; }
.tn-directory-empty h3, .tn-directory-no-match h3 { margin: 12px 0 6px; }
.tn-directory-empty p, .tn-directory-no-match p { margin: 0 0 15px; color: var(--dir-muted); font-size: 12px; }
.tn-directory-empty a { color: var(--dir-blue); font-weight: 900; }
.tn-directory-pagination { display: flex; justify-content: center; gap: 6px; margin-top: 6px; }
.tn-directory-pagination button { min-width: 32px; height: 32px; border: 1px solid var(--dir-line); border-radius: 6px; background: #fff; color: #334665; font: inherit; font-size: 10px; font-weight: 900; cursor: pointer; }
.tn-directory-pagination button.is-active { border-color: var(--dir-blue); background: var(--dir-blue); color: #fff; }
.tn-directory-pagination button:disabled { opacity: .45; cursor: default; }

.tn-directory-map-panel { position: sticky; top: 104px; }
.tn-directory-map-panel > label { position: absolute; z-index: 500; top: 10px; left: 10px; display: flex; align-items: center; gap: 6px; padding: 7px 9px; border-radius: 6px; background: rgba(255,255,255,.95); color: #385078; font-size: 9px; font-weight: 850; box-shadow: 0 4px 12px rgba(7,25,72,.12); }
.tn-directory-map-panel > label input { accent-color: var(--dir-blue); }
.tn-directory-map { height: 470px; background: #dceee7; }
.tn-directory-map-empty { height: 470px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 7px; padding: 20px; color: #536380; text-align: center; background: linear-gradient(135deg,#eef7f3,#edf5ff); }
.tn-directory-map-empty i { color: #7195ca; font-size: 30px; }
.tn-directory-map-empty small { font-size: 10px; line-height: 1.45; }
.tn-directory-map-panel > a { height: 39px; display: flex; align-items: center; justify-content: center; gap: 7px; margin: 8px; border-radius: 6px; background: var(--dir-blue); color: #fff; font-size: 10px; font-weight: 950; }
.tn-directory-map-meta { display: grid; gap: 5px; padding: 7px 12px 13px; color: #52617d; font-size: 10px; }
.tn-directory-map-meta strong { color: #172b56; }
.tn-directory-map-meta small { color: #7a879b; }
.tn-directory-map .leaflet-control-attribution { font-size: 7px; }
.tn-directory-marker-wrap { border: 0; background: transparent; }
.tn-directory-marker { width: 26px; height: 34px; display: grid; place-items: center; border: 3px solid #fff; border-radius: 15px 15px 15px 2px; transform: rotate(-45deg); background: var(--dir-blue); color: #fff; box-shadow: 0 3px 9px rgba(13,45,95,.32); }
.tn-directory-marker > i { transform: rotate(45deg); font-size: 9px; }
.tn-directory-marker.is-verified { background: #10a66c; }
.tn-directory-marker.is-claimed { background: #6d4bdd; }
.tn-directory-map-popup { min-width: 170px; }
.tn-directory-map-popup strong, .tn-directory-map-popup small { display: block; }
.tn-directory-map-popup small { margin: 4px 0 8px; color: #657490; }
.tn-directory-map-popup a { color: var(--dir-blue); font-weight: 900; }

.tn-directory-status-section { padding: 25px 0 27px; background: #eaf6ff; border-top: 1px solid #dbeefb; border-bottom: 1px solid #dbeefb; }
.tn-directory-status-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.tn-directory-status-grid article { min-height: 100px; display: grid; grid-template-columns: 52px 1fr; align-items: center; gap: 13px; padding: 15px; border: 1px solid #d6e4f0; border-radius: 8px; background: #fff; }
.tn-directory-status-grid article > i { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 50%; background: #16b978; color: #fff; font-size: 20px; }
.tn-directory-status-grid article:nth-child(2) > i { background: #e2edff; color: #2362e8; }
.tn-directory-status-grid article:nth-child(3) > i { background: #eef2f6; color: #6c788e; }
.tn-directory-status-grid strong { font-size: 12px; font-weight: 950; }
.tn-directory-status-grid p { margin: 5px 0 0; color: #62718d; font-size: 10px; line-height: 1.4; }

.tn-directory-guides { padding-top: 28px; }
.tn-directory-guide-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.tn-directory-guide-grid > a { overflow: hidden; border: 1px solid var(--dir-line); border-radius: 8px; background: #fff; color: var(--dir-navy); }
.tn-directory-guide-image { height: 104px; display: grid; place-items: center; position: relative; background-size: cover; background-position: center; color: #87a7d7; font-size: 27px; }
.tn-directory-guide-image b { position: absolute; left: 8px; bottom: 0; padding: 4px 7px; border-radius: 5px 5px 0 0; background: #e0f9e9; color: #0b8e58; font-size: 9px; }
.tn-directory-guide-grid > a > strong { display: block; margin: 10px 11px 0; font-size: 12px; font-weight: 950; }
.tn-directory-guide-grid > a > p { height: 30px; display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; margin: 5px 11px; color: #66748f; font-size: 9px; line-height: 1.45; }
.tn-directory-guide-grid > a > em { display: block; margin: 8px 11px 12px; color: var(--dir-blue); font-size: 9px; font-style: normal; font-weight: 900; }

.tn-directory-recent { padding-bottom: 26px; }
.tn-directory-recent-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.tn-directory-recent-card { min-height: 92px; display: grid; grid-template-columns: 100px 1fr; gap: 10px; padding: 7px; border: 1px solid var(--dir-line); border-radius: 8px; background: #fff; }
.tn-directory-recent-image { display: grid; place-items: center; border-radius: 6px; background-size: cover; background-position: center; color: #86a6d8; }
.tn-directory-recent-card > div { min-width: 0; padding: 3px 3px 2px 0; }
.tn-directory-recent-card > div > a, .tn-directory-recent-card small, .tn-directory-recent-card em { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tn-directory-recent-card > div > a { font-size: 11px; font-weight: 950; }
.tn-directory-recent-card small, .tn-directory-recent-card em { margin-top: 4px; color: #6a7891; font-size: 8px; font-style: normal; }
.tn-directory-recent-card .tn-directory-status { margin-top: 7px; padding: 3px 5px; font-size: 7px; }

.tn-directory-business-cta { padding: 19px 0; border-top: 1px solid #dfe7f2; background: #fff; }
.tn-directory-business-cta .tn-shell { display: grid; grid-template-columns: minmax(300px,1fr) 190px 190px auto; align-items: center; gap: 8px; }
.tn-directory-business-cta h2 { margin: 0; font-size: 22px; font-weight: 950; letter-spacing: -.03em; }
.tn-directory-business-cta p { margin: 3px 0 0; max-width: 540px; color: #61708d; font-size: 11px; }
.tn-directory-business-cta > div > a { height: 41px; display: grid; place-items: center; border: 1px solid var(--dir-blue); border-radius: 6px; color: var(--dir-blue); font-size: 11px; font-weight: 950; }
.tn-directory-business-cta > div > a.is-primary { background: var(--dir-blue); color: #fff; }
.tn-directory-business-cta span { display: flex; justify-content: flex-end; gap: 12px; }
.tn-directory-business-cta span a { color: #506787; font-size: 9px; text-decoration: underline; }
.tn-directory-trust-strip { padding: 17px 0; background: linear-gradient(90deg,#f2f9ff,#eaf5ff); }
.tn-directory-trust-strip .tn-shell { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.tn-directory-trust-strip .tn-shell > div { display: grid; grid-template-columns: 42px 1fr; align-items: center; gap: 11px; }
.tn-directory-trust-strip .tn-shell > div > i { grid-row: span 2; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid #cddff1; border-radius: 50%; color: var(--dir-blue); background: #fff; }
.tn-directory-trust-strip strong, .tn-directory-trust-strip small { display: block; }
.tn-directory-trust-strip strong { font-size: 10px; }
.tn-directory-trust-strip small { margin-top: 3px; color: #65748f; font-size: 8px; }
.is-directory-hidden { display: none !important; }

@media (max-width: 1120px) {
    .tn-directory-hero__inner { grid-template-columns: minmax(0,1fr) 360px; column-gap: 28px; }
    .tn-directory-hero-map { grid-template-columns: 1fr; }
    .tn-directory-hero-map__list { display: none; }
    .tn-directory-hero-map__canvas { grid-column: 1; }
    .tn-directory-results-layout { grid-template-columns: 190px minmax(0,1fr); }
    .tn-directory-map-panel { grid-column: 2; position: static; display: grid; grid-template-columns: 1fr 160px; }
    .tn-directory-map { grid-row: span 3; height: 320px; }
    .tn-directory-map-panel > label { left: 10px; }
    .tn-directory-toolbar { grid-template-columns: 1fr 170px 150px; }
    .tn-directory-view-switch, .tn-directory-toolbar > strong { grid-row: 2; }
    .tn-directory-location-row { grid-template-columns: repeat(3, 1fr); }
    .tn-directory-business-cta .tn-shell { grid-template-columns: 1fr 170px 170px; }
    .tn-directory-business-cta span { grid-column: 1 / -1; justify-content: flex-start; }
}

@media (max-width: 820px) {
    .tn-directory-page .tn-shell { width: min(100% - 28px, 1280px); }
    .tn-directory-hero { min-height: 0; }
    .tn-directory-hero__media { background: linear-gradient(90deg,rgba(228,247,255,.96),rgba(228,247,255,.76)),var(--tn-directory-hero-image) center/cover no-repeat; }
    .tn-directory-hero__inner { display: block; padding-top: 34px; }
    .tn-directory-hero__copy h1 { font-size: 43px; }
    .tn-directory-hero-map { display: none; }
    .tn-directory-search { grid-template-columns: 1fr 1fr; }
    .tn-directory-search button { grid-column: 1 / -1; }
    .tn-directory-category-grid, .tn-directory-guide-grid, .tn-directory-recent-grid { grid-template-columns: repeat(2,1fr); }
    .tn-directory-results-layout { grid-template-columns: 1fr; }
    .tn-directory-filter-panel { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
    .tn-directory-filter-panel fieldset { border-bottom: 0; }
    .tn-directory-clear { align-self: end; }
    .tn-directory-map-panel { grid-column: 1; }
    .tn-directory-status-grid { grid-template-columns: 1fr; }
    .tn-directory-business-cta .tn-shell { grid-template-columns: 1fr 1fr; }
    .tn-directory-business-cta .tn-shell > div, .tn-directory-business-cta span { grid-column: 1 / -1; }
    .tn-directory-trust-strip .tn-shell { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 560px) {
    .tn-directory-section-head { align-items: flex-start; }
    .tn-directory-section-head h2 { font-size: 21px; }
    .tn-directory-section-head > a { white-space: normal; text-align: right; }
    .tn-directory-search { grid-template-columns: 1fr; }
    .tn-directory-search button { grid-column: auto; }
    .tn-directory-popular-pills { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 4px; }
    .tn-directory-popular-pills > * { flex: 0 0 auto; }
    .tn-directory-hero-notes { gap: 10px 16px; }
    .tn-directory-category-grid { grid-template-columns: 1fr; }
    .tn-directory-location-row { grid-template-columns: repeat(2, 1fr); }
    .tn-directory-location-card__image { height: 100px; }
    .tn-directory-toolbar { grid-template-columns: 1fr; }
    .tn-directory-toolbar > strong { grid-row: auto; text-align: left; }
    .tn-directory-view-switch { grid-row: auto; }
    .tn-directory-filter-panel { grid-template-columns: 1fr; }
    .tn-directory-filter-panel fieldset { border-bottom: 1px solid #eaf0f7; }
    .tn-directory-listing-card { grid-template-columns: 112px minmax(0,1fr); }
    .tn-directory-listing-title { display: block; }
    .tn-directory-listing-title .tn-directory-status { margin-top: 7px; }
    .tn-directory-listing-copy p { display: none; }
    .tn-directory-listing-footer { margin-top: 9px; }
    .tn-directory-listing-footer small { display: none; }
    .tn-directory-map-panel { display: block; }
    .tn-directory-map { height: 340px; }
    .tn-directory-guide-grid, .tn-directory-recent-grid { grid-template-columns: 1fr; }
    .tn-directory-business-cta .tn-shell, .tn-directory-trust-strip .tn-shell { grid-template-columns: 1fr; }
    .tn-directory-business-cta .tn-shell > div, .tn-directory-business-cta span { grid-column: auto; }
}
