.organization-directory { min-width:0; }
.organization-city-control { display:flex; gap:6px; align-items:center; }
.organization-city-control select { flex:1; width:0; }
.organization-city-control .icon-button { flex:0 0 42px; width:42px; height:42px; }
.organization-collection { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; padding:16px 0; border-top:1px solid #b4d7c8; border-bottom:1px solid #b4d7c8; margin-bottom:18px; }
.organization-collection>div { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.organization-collection span { font-size:13px; color:#617b73; }
.organization-city-search { display:flex; align-items:center; gap:10px; border:1px solid #b7ccc3; padding:6px 12px; border-radius:6px; }
.organization-city-search:focus-within { outline:2px solid #229367; outline-offset:2px; }
.organization-city-search input { flex:1; min-width:0; border:0; outline:0; height:38px; font:inherit; background:transparent; }
#organizationCityMatches { font-size:12px; color:#627d71; }
#organizationCityResults { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 20px; }
#organizationCityResults button { display:flex; align-items:center; justify-content:space-between; gap:12px; text-align:left; font:inherit; font-size:14px; padding:12px 4px; border:0; border-bottom:1px solid #e3eae7; background:white; color:#295e48; cursor:pointer; min-width:0; overflow-wrap:anywhere; }
#organizationCityResults button:hover { background:#eef7f3; }
#organizationCityResults b { font-size:12px; color:#647a71; }
#organizationCityResults [data-org-city-more] { grid-column:1/-1; justify-content:center; margin-top:12px; }
.organization-comparison-tools { display:flex; gap:8px; justify-content:flex-end; margin-bottom:14px; }
.organization-print-meta { display:none; }
.organization-preview-related { margin-top:24px; border-top:1px solid #e3eae7; padding-top:4px; }
.organization-preview-related>.secondary-button { margin-top:20px; }
.organization-related-links { display:flex; gap:8px 18px; flex-wrap:wrap; }
.organization-related-links button { display:flex; gap:8px; align-items:center; border:0; background:transparent; color:#1e7654; padding:8px 0; font:inherit; font-size:14px; text-align:left; cursor:pointer; overflow-wrap:anywhere; }
.organization-requisites { margin:0; }
.organization-requisites>div { display:grid; grid-template-columns:140px minmax(0,1fr); gap:16px; padding:10px 0; border-bottom:1px solid #edf2ef; }
.organization-requisites dt { color:#6a8076; font-size:12px; }
.organization-requisites dd { margin:0; }
.organization-representatives section { padding:14px 0; border-bottom:1px solid #e3eae7; }
.organization-representatives p { margin:4px 0 10px; color:#647a71; font-size:13px; }
.organization-related-jobs a { display:grid; grid-template-columns:minmax(0,1fr) 18px; gap:2px 12px; padding:14px 0; border-bottom:1px solid #e3eae7; color:#216c4d; text-decoration:none; }
.organization-related-jobs span { grid-column:1; color:#647a71; font-size:12px; }
.organization-related-jobs svg { grid-column:2; grid-row:1/3; align-self:center; }
.organization-facts button { display:flex; align-items:center; gap:4px; color:#216c4d; border:0; padding:0; font:inherit; background:none; cursor:pointer; }
.organization-directory button:disabled { opacity:.45; cursor:default; }
.organization-directory [hidden] { display:none !important; }
.organization-directory .section-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.organization-toolbar #organizationSaved { display:flex; align-items:center; gap:5px; flex:0 0 60px; width:60px; height:44px; }
.organization-toolbar #organizationSaved[aria-pressed=true] { border-color:#16805a; background:#e4f5ee; }
.organization-toolbar #organizationSaved b { font-size:12px; }
.organization-card-tools { display:flex; gap:4px; justify-content:flex-end; margin-bottom:8px; }
.organization-card-tools .icon-button { width:30px; height:30px; min-width:30px; border:0; background:#f6f8f8; border-radius:5px; color:#687f7a; }
.organization-card-tools .icon-button[aria-pressed=true] { background:#dff2e9; color:#107345; }
.organization-card-manufacturer { border-top:3px solid #e4b67b !important; }
.organization-card-service { border-top:3px solid #82b9d5 !important; }
.organization-card-company { border-top:3px solid #7fc6af !important; }
.organization-grid.is-list { grid-template-columns:minmax(0,1fr); }
.organization-grid.is-list .organization-card { display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,280px); gap:0 28px; border-top-width:1px !important; border-left:3px solid #7fc6af; }
.organization-grid.is-list .organization-card-manufacturer { border-left-color:#e4b67b; }
.organization-grid.is-list .organization-card-service { border-left-color:#82b9d5; }
.organization-grid.is-list .organization-card-head { grid-column:1; grid-row:1; }
.organization-grid.is-list .organization-card-tools { grid-column:2; grid-row:1; }
.organization-grid.is-list .organization-location { grid-column:1; grid-row:2; margin:8px 0; }
.organization-grid.is-list .organization-description { grid-column:1; grid-row:3; min-height:0; -webkit-line-clamp:2; }
.organization-grid.is-list .organization-directions { grid-column:1; grid-row:4; }
.organization-grid.is-list .organization-brands { grid-column:1; grid-row:5; }
.organization-grid.is-list .organization-facts { grid-column:2; grid-row:2; align-self:start; }
.organization-grid.is-list .organization-card footer { grid-column:2; grid-row:3/6; align-self:end; }
.organization-compare-tray { position:sticky; bottom:20px; z-index:450; display:flex; justify-content:space-between; gap:16px; align-items:center; padding:14px 18px; border:1px solid #b4d7c8; border-radius:8px; background:#fff; box-shadow:0 6px 28px #143e2629; margin:20px 0; }
.organization-compare-tray strong { font-size:14px; color:#194b38; }
.organization-compare-names { display:flex; gap:6px; flex-wrap:wrap; margin-top:8px; }
.organization-compare-names button { display:flex; gap:6px; align-items:center; padding:4px 7px; background:#eef6f2; border:0; border-radius:4px; font-size:12px; color:#365e4f; max-width:240px; cursor:pointer; }
.organization-compare-names span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.organization-compare-names svg { width:14px; height:14px; }
.organization-compare-actions { display:flex; gap:8px; align-items:center; flex-shrink:0; }
.organization-dialog { width:700px; max-width:calc(100vw - 32px); max-height:calc(100dvh - 40px); margin:auto; border:1px solid #d2ded8; border-radius:8px; padding:0; background:white; color:#263f3b; box-shadow:0 20px 80px #0003; }
.organization-dialog::backdrop { background:#102b2980; }
.organization-dialog.is-comparison { width:1100px; }
.organization-dialog>header { display:flex; justify-content:space-between; gap:16px; align-items:flex-start; padding:22px; border-bottom:1px solid #e3eae7; position:sticky; top:0; background:white; z-index:2; }
.organization-dialog h2 { font-size:21px; line-height:1.4; margin:0; overflow-wrap:anywhere; letter-spacing:0; }
.organization-dialog h3 { font-size:15px; margin:22px 0 10px; }
.organization-dialog svg { width:18px; height:18px; flex-shrink:0; }
#organizationDialogBody { padding:22px; font-size:14px; line-height:1.7; overflow-wrap:anywhere; }
.organization-preview-identity { display:flex; gap:14px; align-items:center; }
.organization-preview-identity p { margin:4px 0; }
.organization-preview-identity .organization-card-tools { margin:0 0 0 auto; }
.organization-preview-description { white-space:pre-line; }
.organization-detail-tags { display:flex; flex-wrap:wrap; gap:8px; }
.organization-detail-tags span { padding:5px 9px; background:#eef6f2; border-radius:4px; color:#366350; font-size:12px; }
.organization-contact-list { display:flex; gap:10px; flex-direction:column; }
.organization-contact-list a { display:flex; gap:8px; align-items:center; color:#24765e; text-decoration:none; }
.organization-dialog-footer { display:flex; flex-wrap:wrap; align-items:center; gap:16px; border-top:1px solid #e3eae7; margin-top:24px; padding-top:20px; font-size:12px; }
.organization-dialog-footer>a { text-decoration:none; }
.organization-comparison-scroll { overflow-x:auto; }
.organization-comparison-mobile { display:none; }
.organization-comparison-mobile details { border-bottom:1px solid #d9e5de; padding:12px 0; }
.organization-comparison-mobile summary { font-weight:600; cursor:pointer; color:#236d50; padding:8px 0; }
.organization-comparison-mobile dl { margin:14px 0; }
.organization-comparison-mobile dl>div { display:grid; grid-template-columns:110px minmax(0,1fr); gap:12px; padding:12px 0; border-bottom:1px solid #eef2ef; }
.organization-comparison-mobile dt { color:#667d72; font-size:12px; }
.organization-comparison-mobile dd { margin:0; font-size:13px; }
.organization-comparison { width:100%; border-collapse:collapse; table-layout:fixed; min-width:600px; }
.organization-comparison th, .organization-comparison td { padding:16px 14px; border-bottom:1px solid #e3eae7; vertical-align:top; text-align:left; overflow-wrap:anywhere; }
.organization-comparison th:first-child { width:160px; font-size:12px; color:#677c74; }
.organization-comparison thead th { background:#f1f7f4; font-size:15px; }
.organization-comparison thead .icon-button { display:flex; width:26px; height:26px; margin-top:10px; }
.organization-comparison td { font-size:13px; }
.organization-comparison a { color:#207253; text-decoration:none; }
.organization-comparison tr:nth-child(even) td { background:#fafcfa; }
.organization-directory button:focus-visible, .organization-dialog button:focus-visible, .organization-directory a:focus-visible { outline:2px solid #229367; outline-offset:3px; }
.organization-types { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0; }
.organization-types button { display:flex; align-items:center; gap:8px; padding:11px 14px; border:1px solid #dce3e9; background:#fff; border-radius:6px; color:#37454f; font:inherit; font-size:14px; cursor:pointer; }
.organization-types button.is-active { background:#e4f5ee; border-color:#209366; color:#126b49; }
.organization-types b { font-size:12px; font-weight:600; }
.organization-directory svg { width:18px; height:18px; flex-shrink:0; }
.organization-filters { padding:18px 0; border-top:1px solid #dce3e9; border-bottom:1px solid #dce3e9; }
.organization-search { display:flex; align-items:center; gap:10px; padding:4px 8px 4px 14px; border:1px solid #cbd6dc; background:#fff; border-radius:6px; margin-bottom:16px; }
.organization-search input { width:100%; min-width:0; height:40px; border:0; background:transparent; outline:0; font:inherit; font-size:15px; }
.organization-search:focus-within { outline:2px solid #209366; outline-offset:2px; }
.organization-filter-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:12px; }
.organization-filter-grid .field { margin:0; min-width:0; }
.organization-filter-grid select { width:100%; min-width:0; text-overflow:ellipsis; height:42px; }
.organization-checks { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:16px; }
.organization-checks label { display:flex; gap:8px; align-items:center; font-size:14px; }
.organization-checks input { width:16px; height:16px; accent-color:#208b62; }
.organization-chips { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; }
.organization-chips button { display:flex; align-items:center; gap:6px; max-width:100%; border:1px solid #d5e2df; border-radius:5px; padding:6px 9px; font:inherit; font-size:12px; background:#eef7f3; color:#285b47; cursor:pointer; }
.organization-chips span { overflow-wrap:anywhere; }
.organization-chips svg { width:14px; height:14px; }
.organization-toolbar, .organization-toolbar>div { display:flex; align-items:center; gap:12px; justify-content:space-between; }
.organization-toolbar { margin:18px 0; flex-wrap:wrap; }
.organization-toolbar strong { font-size:15px; }
.organization-toolbar select { border:1px solid #d0dbe0; padding:9px; border-radius:5px; background:white; font-size:13px; max-width:100%; min-width:0; }
.organization-mode { display:flex; gap:4px; }
.organization-mode .is-active { background:#e4f5ee; border-color:#209366; color:#126b49; }
.organization-notice { color:#8a5b17; background:#fff5dd; padding:10px 14px; font-size:13px; }
.organization-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.organization-grid[aria-busy=true] { opacity:.65; }
.organization-card { display:flex; flex-direction:column; min-width:0; border:1px solid #dee5e8; border-radius:8px; background:white; padding:16px; transition:border-color .15s,box-shadow .15s; }
.organization-card:hover { border-color:#a4c9bb; box-shadow:0 3px 12px #122e2310; }
.organization-card a { text-decoration:none; }
.organization-card-head { display:flex; gap:12px; align-items:center; color:#172d32; min-height:64px; }
.organization-card-head>div:last-child { min-width:0; }
.organization-logo { width:56px; height:56px; flex:0 0 56px; border-radius:6px; background:#f4f7f7; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.organization-logo img { width:100%; height:100%; object-fit:contain; }
.organization-logo svg { width:26px; height:26px; color:#708a82; }
.organization-kind { font-size:11px; color:#75838a; }
.organization-card h3 { margin:4px 0 0; font-size:15px; line-height:1.4; overflow-wrap:anywhere; letter-spacing:0; }
.organization-location { display:flex; align-items:flex-start; gap:6px; margin:14px 0 8px; font-size:12px; color:#526c74; overflow-wrap:anywhere; }
.organization-location svg { width:14px; height:14px; }
.organization-description { margin:6px 0; color:#657078; font-size:13px; line-height:1.55; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; min-height:40px; }
.organization-directions, .organization-brands { font-size:12px; line-height:1.5; color:#347664; margin:6px 0; overflow-wrap:anywhere; }
.organization-facts { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; font-size:11px; color:#68605a; }
.organization-facts span { display:flex; gap:4px; align-items:center; }
.organization-facts svg { width:14px; height:14px; }
.organization-verified { color:#138358; }
.organization-card footer { margin-top:auto; border-top:1px solid #edf0f1; padding-top:12px; display:flex; align-items:center; justify-content:space-between; gap:6px; }
.organization-card footer a { display:flex; gap:6px; align-items:center; color:#2e6656; font-size:12px; overflow-wrap:anywhere; min-width:0; }
.organization-open { height:32px; width:32px; flex:0 0 32px; justify-content:center; border-radius:5px; background:#f0f7f4; }
.organization-empty { grid-column:1/-1; padding:48px 12px; text-align:center; }
.organization-pagination { display:flex; gap:20px; align-items:center; justify-content:center; margin:24px 0; }
#organizationMap { height:460px; width:100%; border:1px solid #d9e3df; border-radius:6px; z-index:0; }
#organizationMapCount { color:#657078; font-size:12px; line-height:1.5; margin:10px 0 18px; }
.organization-pin span { display:flex; justify-content:center; align-items:center; width:30px; height:30px; border-radius:50%; border:2px solid white; box-shadow:0 2px 6px #0003; color:white; font-size:12px; font-weight:700; background:#23885c; }
.organization-pin .organization-pin-manufacturer { background:#d8752c; }
.organization-pin .organization-pin-service { background:#347fbc; }
@media(max-width:1100px) { .organization-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:820px) { .organization-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .organization-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:520px) { .organization-grid { grid-template-columns:minmax(0,1fr); } .organization-types { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); } .organization-types button { padding:10px 8px; font-size:12px; gap:5px; min-width:0; } .organization-types span { overflow-wrap:anywhere; } .organization-types b { margin-left:auto; font-size:11px; } .organization-types svg { width:14px; height:14px; } .organization-toolbar>div { width:100%; } .organization-toolbar select { flex:1; width:0; } .organization-directory .section-heading { flex-wrap:wrap; gap:12px; } .organization-filter-grid .field span { font-size:12px; } #organizationMap { height:350px; } }
@media(max-width:620px) { .organization-presets { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); } .organization-presets button { font-size:12px; padding:8px; min-width:0; text-align:left; } .organization-presets #organizationSaved { margin:0; } .organization-presets svg { width:15px; height:15px; } .organization-compare-tray { bottom:12px; flex-wrap:wrap; padding:12px; } .organization-compare-actions { margin-left:auto; } .organization-compare-names button { max-width:180px; } .organization-grid.is-list .organization-card { display:flex; } .organization-dialog>header, #organizationDialogBody { padding:16px; } .organization-preview-identity { flex-wrap:wrap; } .organization-preview-identity .organization-card-tools { margin-left:auto; } .organization-dialog h2 { font-size:18px; } }
@media(max-width:620px) { .organization-comparison-scroll { display:none; } .organization-comparison-mobile { display:block; } }
@media(max-width:520px) { #organizationCityResults { grid-template-columns:minmax(0,1fr); } .organization-requisites>div { grid-template-columns:92px minmax(0,1fr); gap:12px; } .organization-toolbar>div { gap:6px; flex-wrap:wrap; } .organization-toolbar select { flex:1 0 100%; width:100%; } .organization-types button { display:grid; grid-template-columns:14px minmax(0,1fr); gap:4px 6px; min-height:68px; text-align:left; } .organization-types span { grid-column:2; } .organization-types b { grid-column:2; margin-left:0; } }
@media print {
  body.organization-print { margin:0; padding:0; background:white; }
  body.organization-print> :not(.organization-print-sheet) { display:none !important; }
  body.organization-print .organization-print-sheet,
  body.organization-print .organization-print-sheet * { visibility:visible !important; }
  .organization-print-sheet h1 { font-size:20px; margin:0 0 14px; }
  .organization-print-sheet .organization-print-meta { display:block; font-size:11px; overflow-wrap:anywhere; }
  .organization-print-sheet .organization-comparison-scroll { display:block; overflow:visible; }
  .organization-print-sheet .organization-comparison-mobile,
  .organization-print-sheet .organization-comparison-tools,
  .organization-print-sheet button { display:none !important; }
  .organization-print-sheet .organization-comparison { min-width:0; width:100%; }
  .organization-print-sheet .organization-comparison th,
  .organization-print-sheet .organization-comparison td { padding:8px; font-size:10px; }
  .organization-print-sheet .organization-comparison th:first-child { width:110px; }
  .organization-print-sheet .organization-comparison tr { break-inside:avoid; }
  .organization-print-sheet a { color:black; }
  .organization-print-sheet svg { width:12px; height:12px; }
}
