.directory-surface{max-width:1080px;margin:28px 0 52px}
.directory-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:16px}
.directory-head h2{font-size:clamp(1.45rem,2.7vw,2.15rem);line-height:1.2;margin:5px 0 7px}
.directory-head p{margin:0;color:#65808d;line-height:1.5}
.source-badge{background:#dff2f0;color:#176f75;padding:9px 13px;border-radius:999px;font-size:.8rem;font-weight:800;white-space:nowrap}
.directory-country-label{position:relative;border:1px solid #9fd0cc!important;background:linear-gradient(135deg,#edf9f7,#fff)!important}
.directory-country-label>span{color:#176f75!important;font-weight:900!important}
.directory-country-label select{font-weight:800;color:#173c59}
.directory-country-label small{display:block;margin-top:5px;color:#577681;font-size:.72rem;line-height:1.3}
.directory-summary{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.directory-summary span{display:flex;align-items:baseline;gap:5px;background:#fff;border:1px solid #d8e7e9;border-radius:10px;padding:8px 11px;color:#66818e;font-size:.8rem}
.directory-summary strong{font:800 .95rem Manrope;color:#173c59}
.directory-list{display:grid;gap:16px}
.directory-card{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;background:#fff;border:1px solid #d7e6e8;border-radius:20px;padding:21px;box-shadow:0 10px 32px #173c5909;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.directory-card:hover{border-color:#8bbfc3;box-shadow:0 14px 38px #173c5912;transform:translateY(-1px)}
.directory-card.is-selected{border-color:#168d94;box-shadow:0 0 0 2px #168d941c,0 14px 38px #173c5912}
.directory-rank{width:38px;height:38px;border-radius:12px;background:#173c59;color:#fff;display:grid;place-items:center;font:800 .9rem Manrope}
.directory-main{min-width:0}
.directory-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}
.directory-badges{display:flex;flex-wrap:wrap;gap:6px}
.directory-source-state,.directory-quality{display:inline-flex;align-items:center;width:max-content;border-radius:999px;padding:5px 8px;font-size:.75rem;font-weight:800;letter-spacing:.015em}
.directory-source-state.official{background:#dff2f0;color:#176f75}
.directory-source-state.community{background:#eef0f8;color:#4d587f}
.directory-quality{background:#f4f7f8;color:#607985}
.directory-compare{display:flex;align-items:center;gap:7px;background:#edf7f6;color:#23737a;padding:8px 10px;border-radius:10px;font-size:.8rem;font-weight:800;cursor:pointer;white-space:nowrap}
.directory-compare input{width:18px;height:18px;accent-color:#148b94}
.directory-identity h2{font-size:1.22rem;line-height:1.3;margin:0 0 5px;letter-spacing:-.025em}
.directory-address,.directory-meta{color:#637f8c;line-height:1.5;margin:0;font-size:.9rem}
.directory-aliases{margin:5px 0 0;color:#577681;font-size:.78rem;line-height:1.45}
.directory-aliases strong{color:#355d69}
.directory-meta{margin-top:3px}
.directory-distance-row{display:flex;gap:8px;margin:16px 0 12px}
.directory-distance-row>span{display:grid;gap:2px;min-width:145px;background:#173c59;border-radius:12px;padding:10px 12px;color:#fff}
.directory-distance-row strong{font:800 1rem Manrope}
.directory-distance-row small{color:#cbdde3;font-size:.74rem}
.directory-data-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 12px}
.directory-data-item{display:grid;align-content:start;gap:4px;min-height:88px;background:#f2f7f7;border:1px solid #e0ecec;border-radius:12px;padding:11px}
.directory-data-item>span{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#68838f;font-weight:800}
.directory-data-item strong{font-size:.87rem;line-height:1.35;color:#173c59;overflow-wrap:anywhere}
.directory-data-item small{font-size:.75rem;color:#738c96;line-height:1.3}
.directory-data-item.missing{background:#fbfaf6;border-style:dashed}
.directory-data-item.missing strong{color:#8a7454;font-weight:700}
.directory-contact{display:grid;grid-template-columns:1fr 1.35fr;gap:8px;margin:12px 0}
.directory-contact>div{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:3px 12px;background:#fff;border:1px solid #dce8e9;border-radius:12px;padding:11px 12px;min-width:0}
.directory-contact span{grid-row:1/3;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#6c8792;font-weight:800}
.directory-contact a,.directory-contact strong{color:#175f74;text-decoration:none;font-size:.9rem;font-weight:800;overflow-wrap:anywhere}
.directory-contact a:hover{text-decoration:underline}
.directory-contact small{font-size:.75rem;color:#78909a}
.directory-clue{display:inline-block;margin:2px 0 10px;background:#fff4cc;color:#755d12;padding:7px 9px;border-radius:8px;font-size:.8rem;font-weight:700}
.directory-data-note{color:#806a47;font-size:.76rem;line-height:1.5;margin:11px 0 0;padding-top:10px;border-top:1px solid #edf1f2}
.directory-data-note strong{color:#685331}
.directory-actions{display:flex;flex-wrap:wrap;gap:8px}
.directory-actions a,.directory-actions button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #c8dde0;background:#fff;color:#245c6b;padding:10px 13px;border-radius:10px;text-decoration:none;font-size:.82rem;font-weight:800;cursor:pointer}
.directory-actions-main{margin-top:12px}
.directory-actions-main .directory-website{background:#173c59;color:#fff;border-color:#173c59}
.directory-actions-main .directory-website:hover{background:#275572}
.directory-actions-main .directory-save{background:#edf7f6;border-color:#cce5e3;color:#176f75}
.directory-actions-secondary{margin-top:7px}
.directory-actions-secondary a{padding:7px 10px;border-color:transparent;background:transparent;color:#617d89;font-size:.76rem}
.directory-actions-secondary a:hover{background:#f1f6f6}
.directory-actions button:disabled{opacity:.58;cursor:default}
.directory-warning{background:#fff5d8;border-left:4px solid #e6ad28;color:#6f5b28;padding:12px 15px;border-radius:0 10px 10px 0;margin:12px 0}
.directory-source{margin-top:20px;color:#6d8792;font-size:.78rem;line-height:1.6}
.directory-source a{color:#167982}
.directory-more{margin:18px 0 0!important}
.directory-compare-bar{position:fixed;z-index:20;left:50%;bottom:18px;transform:translate(-50%,130%);display:flex;align-items:center;gap:13px;background:#173c59;color:#fff;border-radius:14px;padding:11px 13px 11px 17px;box-shadow:0 14px 40px #0f2e3f55;transition:transform .25s}
.directory-compare-bar.show{transform:translate(-50%,0)}
.directory-compare-bar span{font-size:.8rem;color:#c9dcdf}
.directory-compare-bar .primary{padding:10px 14px}
.directory-compare-bar .primary:disabled{opacity:.45}

@media(max-width:900px){
  .directory-data-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .directory-head{display:block}
  .source-badge{display:inline-block;margin-top:12px}
  .directory-summary{display:grid;grid-template-columns:1fr 1fr}
  .directory-card{grid-template-columns:1fr;padding:16px}
  .directory-rank{position:absolute;left:16px;top:16px;width:34px;height:34px}
  .directory-card-top{align-items:flex-start;padding-left:44px;min-height:34px}
  .directory-compare{padding:7px 8px}
  .directory-distance-row{display:grid;grid-template-columns:1fr 1fr}
  .directory-distance-row>span{min-width:0}
  .directory-contact{grid-template-columns:1fr}
  .directory-actions-main>*{flex:1 1 44%}
  .directory-compare-bar{width:calc(100% - 24px);bottom:10px;display:grid;grid-template-columns:1fr auto}
  .directory-compare-bar span{display:none}
  .directory-compare-bar .primary{grid-column:2;grid-row:1}
}
@media(max-width:430px){
  .directory-summary,.directory-data-grid{grid-template-columns:1fr}
  .directory-card-top{display:grid;grid-template-columns:1fr}
  .directory-compare{width:max-content}
  .directory-distance-row{grid-template-columns:1fr}
  .directory-actions-main>*{flex-basis:100%}
}
.directory-merged{background:#e8f5ed;color:#216e4a;border-radius:999px;padding:5px 8px;font-size:.68rem;font-weight:900}
.directory-provider-published,.directory-provider-confirmed{display:inline-flex;align-items:center;border-radius:999px;padding:6px 9px;font-size:.68rem;font-weight:900;background:#e4f4ed;color:#206d4f}.directory-provider-confirmed{background:#dff1ff;color:#1f5d87}.directory-contact>div:first-child{align-content:start}.directory-contact>div:first-child a{display:block;margin-top:4px;overflow-wrap:anywhere}
