/* DIRECTORY 3000 — SKY BLUE */
.directory3000 {
  --sky:#0ea5e9;
  --blue:#0284c7;
  --ink:#122b45;
  --muted:#64748b;
  --ice:#f1f9ff;
  --line:#dceefa;
  background:#fff;
  color:var(--ink);
  padding-bottom:60px;
}
body:has(.directory3000) {
  background:#fff!important;
}
.directory3000 .d3-hero {
  padding:48px 38px;
  margin:25px 0 38px;
  border:1px solid var(--line);
  border-radius:24px;
  background:radial-gradient(
    circle at 90% 10%,#d9f2ff,transparent 42%
  ),linear-gradient(135deg,#fff,#f1f9ff);
}
.directory3000 .d3-eyebrow {
  color:var(--blue);
  font-size:11px;
  font-weight:800;
  letter-spacing:2px;
  text-transform:uppercase;
}
.directory3000 .d3-hero h1 {
  color:var(--ink);
  font-size:clamp(30px,4vw,48px);
  font-weight:800;
  line-height:1.12;
  letter-spacing:-1.5px;
  margin:15px 0;
}
.directory3000 .d3-hero p {
  color:var(--muted);
  font-size:15px;
  line-height:1.7;
  max-width:570px;
}
.directory3000 .d3-search {
  max-width:690px;
  margin-top:25px;
}
.directory3000 .d3-search form {
  background:#fff;
  border:1px solid #c9e7f8;
  border-radius:14px!important;
  box-shadow:0 8px 30px #0284c712!important;
  padding:7px!important;
}
.directory3000 .d3-search .form-control {
  border:0!important;
  box-shadow:none!important;
  min-height:45px;
}
.directory3000 .d3-search .search-btn {
  background:#0ea5e9!important;
  color:#fff!important;
  border-radius:10px!important;
  min-width:52px;
}
.directory3000 .d3-section {
  margin-bottom:44px;
}
.directory3000 .d3-section-head {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:15px;
  margin-bottom:22px;
}
.directory3000 .d3-section-head h2 {
  color:var(--ink);
  font-size:26px;
  font-weight:800;
  margin:8px 0 0;
}
.directory3000 .d3-categories {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:15px;
}
.directory3000 .d3-category {
  background:#fff;
  border:1px solid var(--line);
  border-radius:17px;
  padding:20px;
  min-width:0;
  transition:transform .2s,box-shadow .2s,border-color .2s;
}
.directory3000 .d3-category:hover,
.directory3000 .d3-featured:hover {
  transform:translateY(-4px);
  border-color:#7dd3fc;
  box-shadow:0 14px 32px #0284c714;
}
.directory3000 .d3-category-top {
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
}
.directory3000 .d3-category-icon {
  width:50px;
  height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#edf8ff;
  border-radius:13px;
  flex-shrink:0;
}
.directory3000 .d3-category-icon img {
  width:32px;
  height:32px;
  object-fit:contain;
}
.directory3000 .d3-category-title {
  color:var(--ink)!important;
  font-size:14px;
  font-weight:800;
  line-height:1.4;
  text-decoration:none!important;
  overflow-wrap:anywhere;
}
.directory3000 .d3-category-title:hover {
  color:var(--blue)!important;
}
.directory3000 .d3-subcategories {
  color:var(--muted);
  font-size:12px;
  line-height:1.9;
}
.directory3000 .d3-subcategories a {
  color:var(--muted);
  text-decoration:none;
}
.directory3000 .d3-subcategories a:hover {
  color:var(--blue);
}
.directory3000 .d3-featured-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:15px;
}
.directory3000 .d3-featured {
  display:flex;
  gap:15px;
  padding:20px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:17px;
  min-width:0;
  transition:all .2s ease;
}
.directory3000 .d3-featured img {
  width:56px;
  height:56px;
  object-fit:contain;
  border-radius:12px;
  background:var(--ice);
  flex-shrink:0;
}
.directory3000 .d3-featured-content {
  min-width:0;
  flex:1;
}
.directory3000 .d3-featured-title {
  color:var(--ink)!important;
  font-size:15px;
  font-weight:800;
  text-decoration:none!important;
}
.directory3000 .d3-featured-title:hover {
  color:var(--blue)!important;
}
.directory3000 .d3-featured p {
  color:var(--muted);
  font-size:12px;
  line-height:1.6;
  margin:8px 0;
}
.directory3000 .d3-badge {
  display:inline-block;
  background:#e8f6ff;
  color:#0284c7;
  border-radius:20px;
  padding:4px 9px;
  font-size:10px;
  font-weight:800;
  margin-left:6px;
}
.directory3000 .d3-featured-url {
  color:var(--blue);
  font-size:11px;
  overflow-wrap:anywhere;
}
@media(max-width:991px) {
  .directory3000 .d3-categories {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:767px) {
  .directory3000 .d3-hero {
    padding:30px 22px;
  }
  .directory3000 .d3-categories {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .directory3000 .d3-category {
    padding:14px;
  }
  .directory3000 .d3-featured-grid {
    grid-template-columns:1fr;
  }
}
@media(max-width:767px) {
  .directory3000 .d3-category-top {
    flex-wrap:wrap;
    gap:9px;
  }
  .directory3000 .d3-category-icon {
    width:40px;
    height:40px;
  }
  .directory3000 .d3-category-icon img {
    width:27px;
    height:27px;
  }
  .directory3000 .d3-section-head h2 {
    font-size:22px;
  }
}
