.askmaps-top-banner {
  background: linear-gradient(90deg, #111827, #1f2937);
  color: #fff;
  padding: 12px 18px;
  border-radius: 14px;
  font-size: 14px;
  margin-bottom: 24px;
}

.askmaps-search-block {
  display: grid;
  gap: 18px;
  margin: 32px 0;
}

.askmaps-search-panel {
  background: linear-gradient(135deg, #eff6ff, #ffffff);
  border: 1px solid #dbeafe;
  border-radius: 24px;
  padding: 28px;
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
}

.askmaps-pill {
  display: inline-block;
  padding: 8px 12px;
  background: #111827;
  color: #fff;
  border-radius: 999px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.askmaps-search-copy h2 {
  margin: 12px 0 8px;
  font-size: clamp(28px, 5vw, 44px);
}

.askmaps-search-controls {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  margin-top: 20px;
}

.askmaps-place-input {
  min-height: 56px;
  border-radius: 14px;
  border: 1px solid #cbd5e1;
  padding: 0 16px;
  font-size: 16px;
}

.askmaps-search-button {
  min-height: 56px;
  border: 0;
  border-radius: 14px;
  background: #2563eb;
  color: #fff;
  padding: 0 18px;
  font-size: 16px;
  cursor: pointer;
}

.askmaps-search-note {
  grid-column: 1 / -1;
  color: #475569;
  font-size: 14px;
}

.askmaps-map-canvas {
  min-height: 420px;
  border-radius: 24px;
  overflow: hidden;
  background: linear-gradient(135deg, #e5e7eb, #f8fafc);
  border: 1px solid #e2e8f0;
}

.askmaps-featured-ad {margin: 16px 0 28px; padding: 18px; border: 2px dashed #94a3b8; border-radius: 14px; background: #f8fafc; text-align:center;}
.askmaps-featured-ad p {margin: 8px 0;}
.askmaps-featured-ad span {display:inline-block; font-size:12px; text-transform:uppercase; letter-spacing:.08em; color:#475569;}
.askmaps-featured-categories {display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:10px; list-style:none; margin:0; padding:0;}
.askmaps-featured-categories li {background:#eff6ff; border-radius:999px; padding:10px 14px; text-align:center; font-weight:600;}
.askmaps-results {display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; margin-top:18px;}
.askmaps-result-card {border:1px solid #e2e8f0; border-radius:14px; padding:16px; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.04);}
.askmaps-result-card h3 {margin:0 0 8px; font-size:1.05rem;}
.askmaps-result-card p {margin:0 0 10px; color:#334155;}
.askmaps-result-card span {font-size:.82rem; color:#475569; font-weight:600;}
.askmaps-empty {padding:12px 0; color:#475569;}
.askmaps-faq p {margin: 0 0 16px;}
