/* Category identity is shared by directory cards, each Map and its geographic pins. */
.tm-card{border-top:4px solid var(--tm-accent,var(--green));border-radius:20px;box-shadow:0 4px 16px #10243407}.tm-card:hover{box-shadow:0 12px 28px #10243414}.tm-card-visual{background:var(--tm-tint,var(--cream))}.tm-card .tm-map-badge{left:14px;right:auto;background:var(--tm-tint);border-color:#ffffffb3;color:var(--tm-accent);padding:9px 12px}.tm-card .tm-map-badge svg{width:18px;height:18px}.tm-card .tm-card-copy{padding:22px 22px 14px}.tm-card .tm-category{display:flex;align-items:center;gap:7px;color:var(--tm-accent);text-transform:none;letter-spacing:0;font-size:13px}.tm-card .tm-category svg{width:18px;height:18px}.tm-card h3{font-size:23px;letter-spacing:-.025em;line-height:1.3;margin:12px 0}.tm-card-copy p{font-size:14px;color:var(--muted,#53645e);-webkit-line-clamp:3;min-height:4.65em;margin-bottom:16px}.tm-card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;font-weight:700}.tm-card-arrow{width:34px;height:34px;display:grid;place-items:center;background:var(--tm-tint);color:var(--tm-accent);border-radius:50%;font-size:20px}.tm-card-credit{font-size:10px!important;line-height:1.6;padding:0 22px 15px}.tm-theme-placeholder{height:250px;display:grid;place-items:center;color:var(--tm-accent);background:var(--tm-tint)}.tm-theme-placeholder svg{width:72px;height:72px;stroke-width:1}.tm-directory-browse .tm-filters{flex-wrap:wrap;overflow:visible;padding:0;gap:8px}.tm-directory-browse .tm-filters button{display:inline-flex;align-items:center;gap:8px;font-size:13px;min-height:44px;padding:10px 15px;background:var(--paper);border-color:var(--line)}.tm-directory-browse .tm-filters button svg{width:18px;height:18px;color:var(--tm-accent)}.tm-directory-browse .tm-filters button[aria-pressed=true]{background:var(--tm-accent,var(--green));border-color:var(--tm-accent,var(--green));color:#fff}.tm-directory-browse .tm-filters button[aria-pressed=true] svg{color:inherit}.tm-directory-browse .tm-work-tools{gap:18px;margin:24px 0}.tm-directory-browse .tm-search{max-width:580px}.tm-index-title{max-width:780px}.tm-index-title h1{font-size:clamp(34px,4vw,52px)}
.tm-public .tm-theme-heading{display:flex;align-items:flex-start;gap:18px;max-width:none;padding:20px 24px;border:1px solid var(--line);border-left:4px solid var(--tm-accent);border-radius:18px;background:var(--paper);margin-bottom:18px}.tm-theme-heading>div{min-width:0;flex:1}.tm-theme-symbol{display:grid;place-items:center;width:58px;height:58px;flex:none;background:var(--tm-tint);color:var(--tm-accent);border-radius:16px}.tm-theme-symbol svg{width:32px;height:32px}.tm-theme-heading .tm-eyebrow{margin:0;color:var(--tm-accent);font-size:11px;letter-spacing:.08em}.tm-theme-heading h1{font-size:clamp(26px,2.8vw,38px);margin:4px 0 7px}.tm-theme-heading .tm-map-intro{font-size:14px;line-height:1.6;max-width:900px;margin:0 0 8px;color:var(--muted)}.tm-theme-heading .tm-meta{font-size:12px;color:var(--muted)}.tm-map-page .tm-stage{border-color:var(--line);box-shadow:0 6px 24px #10243408}.tm-map-page .tm-results-title{color:var(--tm-accent)}.tm-row-thumb{color:var(--tm-accent);background:var(--tm-tint)}.tm-row-no-photo svg{width:24px;height:24px}.tm-row-no-photo>b{position:absolute;min-width:20px;height:20px;top:-3px;left:-3px;font-size:10px;border:2px solid var(--paper)}.tm-row-thumb>b{background:var(--tm-accent)}.tm-entry-row.selected{border-color:var(--tm-accent);box-shadow:inset 3px 0 var(--tm-accent)}.tm-entry-row .tm-selection-actions>.button.primary,.tm-map-page .tm-view-switch button[aria-pressed=true]{background:var(--tm-accent);border-color:var(--tm-accent);color:#fff}.tm-map-page .tm-view-switch button{border-radius:10px}.tm-map-key{position:absolute;z-index:605;bottom:32px;right:12px;display:flex;align-items:center;gap:7px;background:var(--paper);color:var(--tm-accent);border:1px solid var(--line);box-shadow:0 2px 8px #10243410;border-radius:10px;padding:8px 10px;font-size:12px;font-weight:700;pointer-events:none}.tm-map-key svg{width:18px;height:18px}.tm-label-hint{display:none!important}
.tm-public .tm-themed-marker{background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;overflow:visible;outline-offset:1px}.tm-public .tm-themed-marker .tm-marker-face{position:relative;display:grid;place-items:center;width:36px;height:36px;margin:4px;border:2px solid var(--tm-accent);border-radius:12px;background:#fffdf8;color:var(--tm-accent);box-shadow:0 3px 8px #10243435}.tm-themed-marker .tm-marker-face:after{content:"";position:absolute;top:32px;left:10px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid var(--tm-accent);width:0;height:0}.tm-themed-marker .tm-marker-order{position:absolute;top:-9px;right:-8px;min-width:19px;height:19px;padding:0 3px;display:grid;place-items:center;background:var(--tm-accent);color:#fff;border:2px solid #fffdf8;border-radius:50%;font-size:10px;font-weight:800;line-height:1}.tm-themed-marker.selected .tm-marker-face,.tm-themed-marker:focus-visible .tm-marker-face{background:var(--tm-accent);color:#fff;box-shadow:0 0 0 4px #fffdf8,0 5px 12px #10243445}.tm-public .tm-themed-marker:hover .tm-marker-face{box-shadow:0 0 0 3px #fffdf8,0 5px 12px #10243445}.tm-themed-marker .tm-marker-face>svg{width:22px;height:22px}
/* Match the main site's brand typography, account controls and footer. */
.tm-public .tm-topbar{grid-template-columns:1fr auto 1fr;gap:12px}.tm-public .tm-topbar .main-nav .nav-link{font-size:.85rem}.tm-public .tm-topbar .top-actions{gap:.65rem}.tm-public .tm-topbar .sign-in-button{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;padding:.6rem .85rem;white-space:nowrap;min-height:44px}.tm-public .tm-topbar .admin-link{min-height:44px;display:inline-flex;align-items:center;padding:.6rem .8rem;text-decoration:none;border:1px solid var(--line);border-radius:99px;background:var(--white);color:var(--navy);font-size:.8rem;font-weight:700}.tm-public .tm-topbar.is-authenticated [data-profile-nav]{display:flex}.tm-public .tm-footer.site-footer{max-width:none;margin-inline:0;padding:2rem 4vw;font-size:inherit}.tm-public .tm-footer .footer-links{flex-wrap:wrap;justify-content:center;max-width:790px;gap:12px 18px}.tm-public .tm-footer .footer-links a{padding:0;min-height:24px;font-size:12px}.tm-public .tm-footer .footer-brand{white-space:nowrap}.tm-public .tm-footer p{line-height:1.6}.tm-public .tm-main .tm-filters button:focus-visible,.tm-card-link:focus-visible{outline:3px solid var(--tm-accent,var(--green));outline-offset:3px}
@media(max-width:1100px){.tm-public .tm-topbar .main-nav{position:fixed;bottom:0;left:0;right:0;display:flex;height:calc(58px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--paper);border-top:1px solid var(--line);z-index:2000;transform:none}.tm-public .tm-topbar .main-nav .nav-link{height:58px;max-width:none;min-width:0;flex:1;padding:4px;font-size:11px;line-height:1.3}.tm-public .tm-topbar.is-authenticated [data-profile-nav]{display:none}.tm-public .tm-footer.site-footer{margin-bottom:calc(58px + env(safe-area-inset-bottom))}.tm-public .tm-topbar{grid-template-columns:1fr auto!important}.tm-public .tm-topbar .top-actions{gap:6px}.tm-public .tm-topbar .tm-auth-link{max-width:140px;overflow:hidden;text-overflow:ellipsis}.tm-public .tm-topbar .theme-toggle span{display:none}}
@media(max-width:900px){.tm-public .tm-theme-heading{gap:12px;padding:16px;border-radius:14px;margin-bottom:12px!important}.tm-theme-symbol{width:42px;height:42px;border-radius:12px}.tm-theme-symbol svg{width:25px;height:25px}.tm-map-page .tm-theme-heading h1{font-size:23px;line-height:1.35;margin:3px 0}.tm-map-page .tm-theme-heading .tm-eyebrow{display:block;font-size:10px}.tm-map-page .tm-theme-heading .tm-meta{display:block;font-size:11px;margin-top:4px}.tm-map-page .tm-theme-heading .tm-map-intro{display:none}.tm-map-key{bottom:calc(var(--tm-sheet-footprint,56px) + 28px);right:10px;font-size:11px;padding:6px 8px}.tm-public .tm-index-title{margin-top:10px;margin-bottom:18px}.tm-public .tm-index-title h1{font-size:34px;margin-bottom:8px}.tm-public .tm-index-title>p:last-child{font-size:15px;display:block;line-height:1.6}.tm-directory-browse .tm-filters{gap:7px}.tm-directory-browse .tm-filters button{font-size:12px;padding:8px 11px}.tm-card h3{font-size:22px}.tm-card-copy p{min-height:0}.tm-public .tm-footer.site-footer{grid-template-columns:1fr}.tm-public .tm-footer .footer-links{justify-content:flex-start}.tm-public .tm-footer.site-footer p{justify-self:start;text-align:left}.tm-public .tm-topbar .admin-link{display:none}.tm-public .tm-topbar .tm-auth-link{max-width:100px;padding:.45rem .6rem;font-size:11px}}
html[data-theme=dark] .tm-theme-heading{background:var(--paper)}html[data-theme=dark] .tm-card-visual{background:var(--paper)}html[data-theme=dark] .tm-card .tm-map-badge,html[data-theme=dark] .tm-theme-symbol,html[data-theme=dark] .tm-card-arrow{background:var(--tm-tint);color:var(--tm-accent)}html[data-theme=dark] .tm-row-thumb{background:var(--paper);color:var(--tm-accent)}html[data-theme=dark] .tm-filters button[aria-pressed=true],html[data-theme=dark] .tm-map-page .tm-view-switch button[aria-pressed=true]{color:#fff}
@media(prefers-reduced-motion:reduce){.tm-card{transition:none}}
.tm-map-page .tm-select-entry>span{background:var(--tm-accent)}.tm-map-page .tm-entry.selected{border-color:var(--tm-accent)}
html[data-theme=dark] .tm-card .tm-category,html[data-theme=dark] .tm-theme-heading .tm-eyebrow,html[data-theme=dark] .tm-results-title,html[data-theme=dark] .tm-map-key{color:color-mix(in srgb,var(--tm-accent),white 45%)}html[data-theme=dark] .tm-row-no-photo{background:var(--tm-tint);color:var(--tm-accent)}

/* Social accounts stay compact. Individual photo widgets load only when opened. */
.tm-social-link{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-block:12px;padding:12px 14px}
.tm-social-link .tm-social-source{margin:0;font-weight:600}
.tm-social-link small{font-size:12px;color:var(--muted)}
.tm-social-embed summary{cursor:pointer;font-weight:600;font-size:14px;padding:4px}
.tm-social-embed:not([open]) .tm-social-frame{display:none}
.tm-entry-copy>.tm-social-embed{margin-block:14px}
@media(max-width:650px){.tm-entry-copy{padding:20px}.tm-social-link{gap:4px}.tm-entry-copy .tm-facts{grid-template-columns:1fr}.tm-entry-copy .tm-entry-actions{flex-wrap:wrap}}

/* Keep Near me above the full, measured attribution block on every viewport. */
.tm-near-me{position:absolute;z-index:605;right:12px;bottom:calc(var(--tm-attribution-height,40px) + 10px);display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 13px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink,var(--green));box-shadow:0 2px 8px #10243420;font-size:13px;font-weight:700;cursor:pointer}
.tm-near-me:disabled{opacity:.65;cursor:wait}.tm-near-me:focus-visible{outline:3px solid var(--tm-accent);outline-offset:3px}
.tm-location-status{position:absolute;z-index:606;right:12px;bottom:calc(var(--tm-attribution-height,40px) + 64px);max-width:250px;margin:0;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--paper);font-size:13px;line-height:1.5}
.tm-location-status[hidden]{display:none}
@media(max-width:900px){.tm-near-me{right:10px;bottom:calc(var(--tm-sheet-footprint,56px) + var(--tm-attribution-height,40px) + 10px)}.tm-location-status{right:10px;bottom:calc(var(--tm-sheet-footprint,56px) + var(--tm-attribution-height,40px) + 64px)}}
