/* Shared appearance and live search, including the member and admin panels. */
.theme-toggle{display:inline-grid;place-items:center;flex:none;width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--white);color:var(--green)}
.theme-toggle:hover{border-color:var(--green)}.theme-toggle .icon{width:19px;height:19px}.theme-sun{display:none}
html[data-theme=dark] .theme-moon{display:none}html[data-theme=dark] .theme-sun{display:block}
.header-actions{gap:14px}.directory-search{position:relative;z-index:12}.hero-panel:has(.instant-results:not([hidden])){overflow:visible}.hero-art{border-radius:17px;overflow:hidden}.hero-search-wrap:has(.instant-results:not([hidden])){z-index:20}.hero-section:has(.instant-results:not([hidden])){position:relative;z-index:20}
.instant-results{position:absolute;top:calc(100% - 25px);left:0;right:0;z-index:25;background:var(--white);color:var(--ink);border:1px solid var(--line);border-radius:13px;box-shadow:0 18px 55px #0c261c30;max-height:450px;overflow:auto;overscroll-behavior:contain;text-align:left}.directory-search>.instant-results{top:calc(100% + 7px)}.instant-results[hidden]{display:none}
.instant-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 22px 13px;border-bottom:1px solid var(--line)}.instant-heading .eyebrow{font-size:11px;letter-spacing:1.4px;margin-bottom:3px}.instant-heading strong{font-size:15px;font-weight:800}.instant-heading button{display:grid;place-items:center;width:34px;height:34px;background:var(--paper);border:0;color:var(--muted);border-radius:50%}.instant-group-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--paper);padding:9px 22px;font-size:12px}.instant-group-heading strong{font-weight:800}.instant-group-heading span{font-size:11px;color:var(--muted)}.instant-list{display:grid;grid-template-columns:1fr 1fr}.instant-result{display:flex;align-items:center;gap:12px;padding:13px 22px;min-width:0;border-bottom:1px solid var(--line)}.instant-result:nth-child(odd){border-right:1px solid var(--line)}.instant-result:hover,.instant-result:focus-visible{background:var(--green-light)}.instant-result-icon{display:grid;place-items:center;border-radius:8px;width:38px;height:38px;flex:none;background:var(--green-light);color:var(--green)}.instant-result>span:nth-child(2){flex:1;min-width:0}.instant-result strong{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:800;line-height:1.6}.instant-result small{display:block;color:var(--muted);font-size:11px;font-weight:600;line-height:1.7}.instant-result>span>small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.instant-result>.icon{width:15px;color:var(--muted)}.instant-result .instant-sponsor-label{background:#fbebd9;color:#855924;border-radius:4px;padding:1px 5px;font-size:10px}.instant-all{display:flex;align-items:center;justify-content:center;gap:10px;color:var(--green);background:var(--green-light);padding:14px 22px;font-size:13px;font-weight:800;position:sticky;bottom:0}.instant-empty{display:grid;place-items:center;gap:7px;padding:26px;text-align:center}.instant-empty>.icon{width:30px;height:30px;color:var(--muted)}.instant-empty strong{font-size:16px}.instant-empty p{font-size:13px}.instant-error{padding:20px;color:var(--muted)}
.search-section-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:10px 0 18px}.search-section-title strong{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:800}.search-section-title>span{font-size:12px;color:var(--muted)}.sponsored-results{padding:18px;border:1px solid #dbbf93;border-radius:12px;background:#fbf7ef;margin-bottom:30px}.sponsor-badge{background:#f1d9b5;color:#554023;border:1px solid #ffffff70}.company-map{margin-top:23px}.map-links{display:flex;gap:10px;flex-wrap:wrap}.company-map iframe{width:100%;height:300px;border:1px solid var(--line);border-radius:10px;margin-top:18px}.source-attribution{font-size:12px!important;line-height:1.8;margin-top:10px!important}.source-attribution a{text-decoration:underline}
body.is-navigating:before{content:'';position:fixed;top:0;left:0;height:3px;background:var(--orange);z-index:150;width:65%;animation:navigation-progress 1s ease-in-out infinite}body.is-navigating #main{opacity:.75;transition:opacity .15s}.ajax-message{padding:13px 18px;border:1px solid var(--line);border-radius:7px;background:var(--green-light);color:var(--ink);margin:14px 0}.ajax-message[role=alert]{border-color:#c58e77}.form-loading{opacity:.7;pointer-events:none}@keyframes navigation-progress{from{transform:translateX(-80%)}to{transform:translateX(160%)}}
html[data-theme=dark]{color-scheme:dark;--green:#afd6c2;--green-dark:#91c8ac;--green-light:#243d32;--ink:#e5eee7;--muted:#b1c0b5;--line:#34463c;--paper:#111d17;--white:#1c2c23}
html[data-theme=dark] body,html[data-theme=dark] .site-header{background:var(--paper);color:var(--ink)}
html[data-theme=dark] :is(.company-card,.category-card,.content-card,.catalog-card,.contact-card,.search-form,.filter-sidebar,.filter-form,.auth-card,.form-card,.pricing-card,.plan-card,.contact-form,.contact-info,.nav-dropdown>div,.main-nav.open,.city-list,.local-guide-card,.guide-card,.local-content-card,.search-understanding,.local-guides-card){background:var(--white);color:var(--ink);border-color:var(--line)}
html[data-theme=dark] :is(input,select,textarea){color:var(--ink);background:var(--white);border-color:var(--line)}html[data-theme=dark] :is(input,textarea)::placeholder{color:#a1b0a4}
html[data-theme=dark] :is(.button-primary,.panel-button-primary){background:#a6cdb7;color:#14281c}html[data-theme=dark] :is(.button-primary:hover,.panel-button-primary:hover){background:#bfdfcb}
html[data-theme=dark] .button-outline{color:var(--green);border-color:#516959}html[data-theme=dark] .button-outline:hover{background:var(--green-light)}html[data-theme=dark] .button-cream{background:#443a2a;color:#f6d1a8}
html[data-theme=dark] :is(.topbar,.category-icon,.floating-icon,.tab-bar,.pagination>a,.simple-search,.search-intent-chips>span,.company-service-tags>span,.filter-mobile-summary,.local-demo-note,.local-tip,.local-scope-note){background:#24362a;color:#c3d3c3;border-color:var(--line)}
html[data-theme=dark] :is(.eyebrow,.card-category,.rating,.rating small,.company-card-bottom,.company-card-distance,.category-card>span:last-child,.address-line,.breadcrumb,.results-toolbar,.filter-title,.filter-form label,.form-stack label,.form-note,.contact-line,.catalog-bottom,.article-meta,.tab-bar button,.profile-info p,.hero-bottom){color:var(--muted)}
html[data-theme=dark] :is(.hero-panel,.hero-art-shade){--green:#173f35}html[data-theme=dark] .hero-panel{background:#173f35}html[data-theme=dark] .hero-floating-card{background:#213a2eea;color:#e0eadc;border-color:#698474}html[data-theme=dark] .hero-floating-card small{color:#c1d0be}html[data-theme=dark] .hero-floating-card .floating-icon{color:#cce1c8}
html[data-theme=dark] :is(.sidebar-promo,.cta-section,.join-section,.discovery-banner){background:#243e30;color:#e8f2e5}html[data-theme=dark] :is(.sidebar-promo p,.cta-section p,.join-section p){color:#bfd0be}
html[data-theme=dark] :is(.company-card-bottom,.tab-bar,.footer-bottom,.filter-title,.filter-form,.content-card hr){border-color:var(--line)}html[data-theme=dark] .site-footer{background:#14251b;color:#d6e5d4}html[data-theme=dark] .footer-main p,html[data-theme=dark] .footer-main a,html[data-theme=dark] .footer-bottom{color:#b7cab7}html[data-theme=dark] .footer-newsletter form{background:#213629;border-color:var(--line)}
html[data-theme=dark] .sponsored-results{background:#302d23;border-color:#766248}html[data-theme=dark] .instant-result .instant-sponsor-label{background:#4b3d29;color:#f2d5a7}html[data-theme=dark] .flash{background:#243b2c;color:#e1ecdf;border-color:var(--line)}html[data-theme=dark] .flash.error{background:#442c28;color:#f4d3c7}
/* Panel styles contain fixed light surfaces; cover them explicitly. */
html[data-theme=dark] .management-shell{--panel-green:#b1d3bc;--panel-border:#35483b;background:var(--paper);color:var(--ink)}
html[data-theme=dark] :is(.panel-sidebar,.panel-card,.panel-metric,.panel-mobile-toolbar,.panel-drawer-header,.panel-company-card,.panel-icon-button,.panel-status-form select,.panel-filter select,.panel-search,.panel-form-footer){background:var(--white);color:var(--ink);border-color:var(--line)}
html[data-theme=dark] .management-shell :is(h1,h2,h3,h4,strong,.panel-field>span,.panel-sidebar-title,.panel-page-title,.panel-table td strong,.panel-company-body h2){color:var(--ink)}
html[data-theme=dark] .management-shell :is(p,small,label,.panel-table td,.panel-table th,.panel-entity small,.panel-content-note p,.panel-cell-note,.panel-footnote,.panel-sidebar nav>a,.panel-breadcrumb,.panel-eyebrow,.panel-current-image,.panel-pagination,.panel-checks){color:var(--muted)!important}
html[data-theme=dark] .management-shell :is(input,select,textarea){background:#17291e;color:var(--ink);border-color:#4c6451}
html[data-theme=dark] :is(.panel-table th,.panel-table tbody tr:hover,.panel-info-banner,.panel-member-tip,.panel-content-note,.panel-moderation-note,.panel-message-detail p,.panel-entity-icon,.panel-list-count b,.panel-form-section,.panel-sidebar nav>a.active,.panel-sidebar nav>a:hover,.panel-badge,.panel-company-placeholder){background:#263d2b;color:#d3e2ce;border-color:var(--line)}
html[data-theme=dark] .management-shell :is(td,th,hr,.panel-card-heading,.panel-form-footer,.panel-quick>a,.panel-form-section,.panel-pagination,.panel-company-actions,.panel-sidebar-title){border-color:var(--line)}
html[data-theme=dark] .panel-welcome-card h2,html[data-theme=dark] .panel-welcome-card strong{color:#f2f6ee}html[data-theme=dark] .panel-welcome-card p{color:#c4d5bf!important}
html[data-theme=dark] .instant-results{--green:#afd6c2;--green-light:#243d32}
html[data-theme=dark] .panel-button:not(.secondary):not(.danger){color:#14281c!important}
html[data-theme=dark] :is(.page-heading,.how-section,.empty-state,.auth-story,.pricing-card.recommended,.contact-illustration,.local-discovery,.local-quick-card){background:#21372a;color:var(--ink)}
html[data-theme=dark] :is(.city-directory>a,.local-guide-filter,.local-editorial,.local-sector-links a,.filter-disclosure,.auth-story-note,.company-logo,.mobile-business-actions){background:var(--white);color:var(--ink);border-color:var(--line)}
html[data-theme=dark] :is(.city-directory-icon,.review-avatar,.demo-credentials,.mini-brand,.plan-icon,.how-step>div>span,.local-guide-icon,.service-chips>span,.search-understanding-icon,.company-card-bottom>a,.tab-bar small,.mobile-menu-close){background:var(--green-light);color:var(--green)}
html[data-theme=dark] :is(.how-intro h2>span,.local-guide-filter label,.local-quick-card p,.auth-story p,.auth-story-note p,.city-directory small){color:var(--muted)}
html[data-theme=dark] :is(.main-nav>a.active,.nav-dropdown>div>a:hover){background:var(--green-light);color:var(--ink)}
html[data-theme=dark] :is(.cta-panel,.local-hero){background:#173f35;color:#f0f5ed}
html[data-theme=dark] :is(.recommended-badge,.pagination>a.active){background:#afd6c2;color:#14281c}
@media(max-width:1180px){.header-actions{gap:8px}.main-nav{gap:19px;margin-right:12px}.theme-toggle{width:36px;height:36px}}
@media(max-width:760px){.header-inner{gap:8px}.header-actions{gap:8px}.theme-toggle{width:37px;height:37px}.instant-results{max-height:55dvh;top:calc(100% - 10px);border-radius:10px}.instant-list{grid-template-columns:1fr}.instant-result{padding:12px 15px}.instant-result:nth-child(odd){border-right:0}.instant-heading{padding:14px 15px}.instant-heading strong{font-size:14px}.instant-group-heading{padding:8px 15px}.instant-result strong{font-size:14px}.instant-result>span>small span{display:none}.search-section-title{align-items:flex-start;flex-direction:column;gap:3px}.sponsored-results{padding:12px}.map-links>.button{font-size:13px;flex:1;padding:10px}.company-map iframe{height:230px}.hero-panel:has(.instant-results:not([hidden])) .popular-searches{visibility:hidden}}
@media(prefers-reduced-motion:reduce){body.is-navigating:before{animation:none}*{scroll-behavior:auto!important}}

.footer-data-source{padding:0 0 22px;font-size:12px;color:var(--muted)}.footer-data-source a{text-decoration:underline}
@media(max-width:360px){.header-actions>a.button{display:none}}

.instant-search-surface{position:relative}.instant-search-surface>.instant-results{top:calc(100% + 7px)}
html[data-theme=dark] :is(.panel-metric>div,.panel-topline,.panel-topline>a){color:var(--muted)}
html[data-theme=dark] .search-understanding strong{color:var(--ink)}html[data-theme=dark] .search-understanding p{color:var(--muted)}

/* The result body scrolls independently; the close and full-results actions stay reachable. */
.instant-search-surface>.instant-results{display:flex;flex-direction:column;max-height:var(--instant-max-height,450px);overflow:hidden;text-align:start}
.instant-search-surface>.instant-results[hidden]{display:none}
.instant-results,.instant-scroll{overflow-anchor:none}
.instant-results>.instant-heading,.instant-results>.instant-all{flex:0 0 auto;min-width:0}
.instant-results>.instant-heading{background:var(--surface,var(--white));padding:13px 18px;gap:10px}
.instant-results>.instant-heading>div{min-width:0}
.instant-results>.instant-heading strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.instant-results>.instant-heading button{flex:none;min-width:34px;min-height:34px}
.instant-results>.instant-all{position:static;bottom:auto;min-height:44px;padding:11px 18px;border-top:1px solid var(--line);background:var(--surface-soft,var(--green-light));font-size:12px;text-align:center;line-height:1.5;overflow-wrap:anywhere}
.instant-scroll{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--muted) var(--surface-soft);-webkit-overflow-scrolling:touch;touch-action:pan-y;scroll-padding-block:7px}
.instant-scroll:focus-visible{outline:2px solid var(--accent,var(--green));outline-offset:-3px}
.instant-result strong{min-width:0;overflow-wrap:anywhere}
.instant-result:focus-visible{outline:2px solid var(--accent,var(--green));outline-offset:-3px}
.instant-search-surface>.instant-results[data-popup-placement="above"]{top:auto;bottom:calc(100% + 8px)}
.instant-search-surface>.instant-results[data-popup-placement="viewport"]{position:fixed;top:var(--instant-viewport-top);bottom:auto;left:var(--instant-viewport-left);right:auto;width:var(--instant-viewport-width);max-width:calc(100vw - 16px)}
body:has(.instant-results:not([hidden])) .site-header{z-index:40}
@media(max-width:760px){.instant-results>.instant-heading{padding:10px 12px}.instant-results>.instant-heading .eyebrow{font-size:10px}.instant-results>.instant-heading strong{font-size:12px}.instant-results>.instant-all{padding:10px 12px;font-size:11px}.instant-scroll .instant-result{padding:11px 13px}.instant-scroll .instant-result strong{font-size:13px}}
