:root{
  --bg:#f6f9ff;--paper:#fff;--ink:#142033;--muted:#64748b;--line:#dbe7f7;
  --brand:#2563eb;--brand2:#06b6d4;--soft:#eef6ff;--danger:#dc2626;--ok:#059669;
}
*{box-sizing:border-box} body{margin:0;background:radial-gradient(circle at 0 0,#e8f2ff,transparent 32%),var(--bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);line-height:1.55}
a{color:inherit;text-decoration:none}.site-header{position:sticky;top:0;z-index:10;backdrop-filter:blur(16px);background:rgba(255,255,255,.82);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:16px min(5vw,64px)}
.brand{display:flex;align-items:center;gap:10px;font-weight:900;font-size:22px;letter-spacing:-.04em}.brand img{width:38px;height:38px}.site-header nav{display:flex;gap:18px;font-weight:700;color:#334155}.site-header nav a:hover{color:var(--brand)}
main{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:34px 0 70px}.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center;padding:64px 0}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:13px;color:var(--brand);font-weight:900}.hero h1,.page-head h1{font-size:clamp(38px,6vw,72px);line-height:.95;letter-spacing:-.065em;margin:0 0 20px}.hero p,.page-head p{font-size:18px;color:var(--muted);max-width:760px}.search-box{background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:20px;box-shadow:0 24px 70px rgba(30,64,175,.14)}.search-box input,.search-box select,.form input,.form select,.form textarea,.inline select{width:100%;border:1px solid var(--line);border-radius:16px;padding:14px 16px;font-size:16px;background:#fff;color:var(--ink)}.search-box>input{font-size:20px;padding:18px}.search-row,.compact{display:grid;grid-template-columns:1fr 150px auto;gap:12px;margin-top:12px}.compact{grid-template-columns:1fr 160px 160px auto}.search-box button,.button,.form button,.inline button{border:0;border-radius:16px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:white;font-weight:900;padding:14px 20px;cursor:pointer;box-shadow:0 10px 28px rgba(37,99,235,.24)}button.muted{background:#e2e8f0;color:#0f172a;box-shadow:none}.cards-section,.results,.filters,.panel{margin-top:34px}.cards-section h2,.results h2,.filters h2{font-size:28px;letter-spacing:-.03em}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card,.result-card,.panel{background:rgba(255,255,255,.88);border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 14px 40px rgba(30,64,175,.08)}.card:hover{transform:translateY(-2px);box-shadow:0 20px 60px rgba(30,64,175,.13)}.card h3{font-size:22px;margin:8px 0}.card p,.result-card p{color:var(--muted)}.icon{font-size:32px}.tool-strip{display:flex;flex-wrap:wrap;gap:12px}.tool-strip a{background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:12px 16px;font-weight:800}.tool-strip.vertical{align-items:flex-start;flex-direction:column}.page-head{padding:38px 0 18px}.page-head.narrow{max-width:560px;margin:auto}.result-card{margin:14px 0}.result-title{font-size:20px;font-weight:900;color:var(--brand)}.result-url{color:var(--ok);font-size:14px;margin-top:3px}.badges{display:flex;gap:8px;flex-wrap:wrap}.badges span{background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:6px 10px;color:#1d4ed8;font-size:13px;font-weight:800}.empty{padding:26px;border:1px dashed var(--line);border-radius:20px;color:var(--muted)}.form{display:grid;gap:12px;max-width:760px}.form label{font-weight:800}.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check{display:flex;gap:10px;align-items:center}.check input{width:auto}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:22px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.inline{display:inline-flex;gap:6px;margin:2px}.inline input,.inline select{padding:8px;border-radius:10px}.inline button{padding:8px 10px;border-radius:10px}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.stats div{background:var(--soft);border-radius:18px;padding:18px}.stats strong{display:block;font-size:28px}.stats span{color:var(--muted)}.flash-wrap{width:min(1180px,calc(100% - 32px));margin:18px auto 0}.flash{padding:14px 16px;border-radius:16px;background:#e0f2fe;border:1px solid #bae6fd}.flash.error{background:#fee2e2;border-color:#fecaca}.flash.success{background:#dcfce7;border-color:#bbf7d0}.site-footer{border-top:1px solid var(--line);padding:34px min(5vw,64px);display:flex;justify-content:space-between;gap:24px;background:#fff}.site-footer p{color:var(--muted);max-width:560px}.footer-links{display:flex;gap:14px;flex-wrap:wrap;font-weight:700;color:#475569}.cookie-banner{position:fixed;left:18px;right:18px;bottom:18px;background:#0f172a;color:white;border-radius:20px;padding:16px 18px;display:flex;justify-content:space-between;gap:16px;box-shadow:0 20px 70px rgba(0,0,0,.22)}.cookie-banner button{border:0;border-radius:12px;padding:10px 16px;font-weight:900}.prose{max-width:820px}.prose p{color:#334155}
@media(max-width:840px){.hero,.card-grid{grid-template-columns:1fr}.search-row,.compact{grid-template-columns:1fr}.site-header{align-items:flex-start;gap:12px;flex-direction:column}.site-header nav{font-size:14px;flex-wrap:wrap}.stats{grid-template-columns:1fr 1fr}.site-footer{flex-direction:column}.two{grid-template-columns:1fr}}

.assistant-widget{position:fixed;right:18px;bottom:88px;width:min(390px,calc(100vw - 36px));background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid var(--line);border-radius:24px;padding:18px;box-shadow:0 26px 80px rgba(15,23,42,.22);z-index:50}
.assistant-close{position:absolute;right:12px;top:10px;border:0;background:#e2e8f0;color:#0f172a;border-radius:999px;width:28px;height:28px;font-weight:900;cursor:pointer}
.assistant-kicker{text-transform:uppercase;letter-spacing:.11em;font-size:12px;font-weight:900;color:var(--brand);margin-bottom:8px}
.assistant-question{font-size:18px;font-weight:900;letter-spacing:-.02em;margin-right:28px}
.assistant-options{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.assistant-options button{border:0;border-radius:999px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;font-weight:900;padding:10px 13px;cursor:pointer}
.assistant-options input{border:1px solid var(--line);border-radius:14px;padding:10px 12px;flex:1;min-width:160px}
.admin-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.metric-list{display:grid;gap:10px}.metric-list div{display:flex;justify-content:space-between;gap:18px;background:var(--soft);padding:12px 14px;border-radius:16px}.metric-list strong{font-size:18px}
@media(max-width:840px){.assistant-widget{bottom:74px}.admin-grid-two{grid-template-columns:1fr}}

/* Fix: respect hidden cookie banner state */
.cookie-banner[hidden] {
  display: none !important;
}

/* Fix: respect hidden cookie banner state */
.cookie-banner[hidden] {
  display: none !important;
}

/* Meshbox v3.1.1 server UI polish for reference-only results */

.page-head,
.hero,
main,
.container {
  max-width: 1180px;
}

.page-head h1,
.hero h1 {
  font-size: clamp(42px, 5vw, 76px) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.06em !important;
  margin-bottom: 18px !important;
}

.search-box,
.search-form,
.category-search {
  margin-top: 18px !important;
  margin-bottom: 42px !important;
}

.results,
.result-list {
  display: grid !important;
  gap: 14px !important;
}

.result-card {
  padding: 22px 24px !important;
  border-radius: 22px !important;
  min-height: unset !important;
  box-shadow: 0 14px 38px rgba(15, 23, 42, 0.06) !important;
}

.result-title {
  font-size: 24px !important;
  line-height: 1.15 !important;
  letter-spacing: -0.03em !important;
  font-weight: 900 !important;
  display: inline-block !important;
  margin-bottom: 6px !important;
}

.result-url {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #059669 !important;
  margin-bottom: 12px !important;
}

.result-card p,
.result-description {
  font-size: 16px !important;
  line-height: 1.5 !important;
  margin: 8px 0 14px !important;
  color: #64748b !important;
}

.result-card p:empty {
  display: none !important;
}

.result-card .badges,
.result-card .tags,
.result-card .meta,
.badges {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 12px !important;
}

.result-card .badge,
.badges span,
.tag {
  font-size: 13px !important;
  font-weight: 800 !important;
  padding: 7px 11px !important;
  border-radius: 999px !important;
}

.empty {
  padding: 24px 28px !important;
  border-radius: 22px !important;
  font-size: 18px !important;
}

.filters,
.filter-panel {
  margin: 24px 0 34px !important;
}

.filters h2,
.filter-panel h2,
h2 {
  letter-spacing: -0.04em !important;
}

.assistant-widget {
  display: none !important;
}

@media (max-width: 760px) {
  .result-card {
    padding: 18px !important;
  }

  .result-title {
    font-size: 20px !important;
  }

  .page-head h1,
  .hero h1 {
    font-size: 42px !important;
  }
}

/* Meshbox compact Google-style search UI */

.category-grid,
.category-cards,
.categories-grid,
.category-section,
.home-categories,
.feature-grid,
.assistant-widget {
  display: none !important;
}

.search-page-head {
  max-width: 920px !important;
  margin: 34px auto 22px !important;
  padding: 0 18px !important;
}

.meshbox-searchbar {
  display: flex !important;
  gap: 10px !important;
  align-items: center !important;
  margin: 0 !important;
}

.meshbox-searchbar input {
  flex: 1 !important;
  height: 48px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(15, 23, 42, 0.14) !important;
  padding: 0 18px !important;
  font-size: 16px !important;
  background: #fff !important;
  box-shadow: 0 4px 18px rgba(15, 23, 42, 0.05) !important;
}

.meshbox-searchbar button {
  height: 48px !important;
  border-radius: 999px !important;
  padding: 0 22px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}

.intent-chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin: 14px 0 0 !important;
}

.intent-chips span {
  display: inline-flex !important;
  align-items: center !important;
  border-radius: 999px !important;
  padding: 6px 11px !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  color: #334155 !important;
  background: #eef2ff !important;
  border: 1px solid rgba(99, 102, 241, 0.18) !important;
}

.search-results-section {
  max-width: 920px !important;
  margin: 0 auto !important;
  padding: 0 18px !important;
}

.result-count {
  font-size: 13px !important;
  color: #64748b !important;
  margin: 18px 0 12px !important;
}

.google-result {
  padding: 12px 0 14px !important;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08) !important;
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

.google-title {
  display: inline-block !important;
  color: #1d4ed8 !important;
  font-size: 19px !important;
  line-height: 1.25 !important;
  font-weight: 650 !important;
  letter-spacing: -0.015em !important;
  text-decoration: none !important;
}

.google-title:hover {
  text-decoration: underline !important;
}

.google-title.no-link {
  color: #0f172a !important;
}

.google-url {
  margin-top: 3px !important;
  color: #047857 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  word-break: break-word !important;
}

.google-snippet {
  margin-top: 5px !important;
  max-width: 760px !important;
  color: #475569 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

.google-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px 10px !important;
  margin-top: 7px !important;
  color: #64748b !important;
  font-size: 12.5px !important;
}

.google-meta span {
  display: inline-flex !important;
  align-items: center !important;
  background: #f1f5f9 !important;
  border-radius: 999px !important;
  padding: 4px 8px !important;
}

.result-card {
  box-shadow: none !important;
}

.empty {
  padding: 18px 0 !important;
  color: #64748b !important;
  font-size: 15px !important;
}

@media (max-width: 720px) {
  .meshbox-searchbar {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .meshbox-searchbar input,
  .meshbox-searchbar button {
    width: 100% !important;
  }

  .google-title {
    font-size: 17px !important;
  }
}

/* Meshbox visual refinement - less heavy */
.google-title {
  font-size: 17px !important;
  font-weight: 500 !important;
  letter-spacing: -0.005em !important;
}

.google-snippet {
  font-size: 13.5px !important;
  color: #475569 !important;
}

.google-url {
  font-size: 12.5px !important;
}

.google-meta {
  font-size: 12px !important;
}

.result-count {
  font-size: 12.5px !important;
}

.intent-chips span {
  font-size: 12px !important;
  font-weight: 600 !important;
  padding: 5px 9px !important;
}

.meshbox-searchbar input {
  height: 44px !important;
  font-size: 15px !important;
}

.meshbox-searchbar button {
  height: 44px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

.search-page-head {
  margin-top: 24px !important;
}

.google-result {
  padding: 10px 0 12px !important;
}


/* Meshbox lighter professional pass */
.site-header {
  min-height: 58px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.site-header .brand span {
  font-weight: 650 !important;
  font-size: 17px !important;
}

.site-header nav a {
  font-size: 14px !important;
  font-weight: 500 !important;
}

.google-title {
  font-size: 16px !important;
  font-weight: 450 !important;
  letter-spacing: 0 !important;
}

.google-snippet {
  font-size: 13px !important;
  line-height: 1.45 !important;
}

.google-url {
  font-size: 12px !important;
}

.google-meta,
.google-meta span {
  font-size: 11.5px !important;
  font-weight: 400 !important;
}

.result-count {
  font-size: 12px !important;
  font-weight: 400 !important;
}

.intent-chips span {
  font-size: 11.5px !important;
  font-weight: 500 !important;
  padding: 4px 8px !important;
}

.meshbox-searchbar input {
  height: 42px !important;
  font-size: 14.5px !important;
}

.meshbox-searchbar button {
  height: 42px !important;
  font-size: 13.5px !important;
  font-weight: 650 !important;
}

.google-result {
  padding: 9px 0 11px !important;
}


/* Meshbox clean search-first homepage */
.clean-home {
  min-height: calc(100vh - 180px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 56px 18px 72px !important;
}

.clean-home-inner {
  width: 100% !important;
  max-width: 760px !important;
  text-align: center !important;
}

.clean-eyebrow {
  margin: 0 0 10px !important;
  color: #64748b !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

.clean-home h1 {
  margin: 0 !important;
  font-size: clamp(44px, 8vw, 76px) !important;
  line-height: 1 !important;
  letter-spacing: -0.06em !important;
  font-weight: 650 !important;
  color: #0f172a !important;
}

.clean-tagline {
  margin: 12px 0 24px !important;
  color: #475569 !important;
  font-size: 17px !important;
  font-weight: 400 !important;
}

.clean-search {
  display: flex !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 auto !important;
}

.clean-search input {
  flex: 1 !important;
  height: 48px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(15,23,42,.16) !important;
  padding: 0 18px !important;
  font-size: 15.5px !important;
  background: #fff !important;
  box-shadow: 0 8px 28px rgba(15,23,42,.06) !important;
}

.clean-search button {
  height: 48px !important;
  border-radius: 999px !important;
  padding: 0 22px !important;
  font-size: 14px !important;
  font-weight: 650 !important;
}

.clean-examples,
.clean-links {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 10px 16px !important;
  margin-top: 18px !important;
  font-size: 13px !important;
}

.clean-examples a {
  color: #475569 !important;
  text-decoration: none !important;
}

.clean-links {
  margin-top: 28px !important;
}

.clean-links a {
  color: #2563eb !important;
  text-decoration: none !important;
  font-weight: 500 !important;
}

.clean-examples a:hover,
.clean-links a:hover {
  text-decoration: underline !important;
}

@media (max-width: 720px) {
  .clean-search {
    flex-direction: column !important;
  }

  .clean-search input,
  .clean-search button {
    width: 100% !important;
  }

  .clean-home {
    align-items: flex-start !important;
    padding-top: 42px !important;
  }
}

/* Global sticky footer fix for short pages */
html,
body {
  min-height: 100% !important;
}

body {
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
}

main {
  flex: 1 0 auto !important;
}

.site-footer {
  margin-top: auto !important;
  flex-shrink: 0 !important;
}


/* Professional minimal footer */
.site-footer {
  background: transparent !important;
  border-top: 1px solid rgba(15, 23, 42, 0.10) !important;
  box-shadow: none !important;
  padding: 22px 56px !important;
  margin-top: auto !important;
  color: #64748b !important;
}

.site-footer strong {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #334155 !important;
}

.site-footer p {
  margin: 6px 0 0 !important;
  max-width: 520px !important;
  font-size: 12.5px !important;
  line-height: 1.5 !important;
  font-weight: 400 !important;
  color: #64748b !important;
}

.footer-links {
  gap: 16px !important;
}

.footer-links a {
  font-size: 12.5px !important;
  font-weight: 500 !important;
  color: #475569 !important;
  text-decoration: none !important;
}

.footer-links a:hover {
  color: #1d4ed8 !important;
  text-decoration: underline !important;
}

@media (max-width: 760px) {
  .site-footer {
    padding: 18px 20px !important;
    gap: 14px !important;
  }

  .footer-links {
    gap: 10px 14px !important;
  }
}


/* Cookie consent and legal pages */
.cookie-consent {
  position: fixed !important;
  left: 18px !important;
  right: 18px !important;
  bottom: 18px !important;
  max-width: 820px !important;
  margin: 0 auto !important;
  z-index: 9999 !important;
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  gap: 16px !important;
  align-items: end !important;
  background: #fff !important;
  border: 1px solid rgba(15,23,42,.14) !important;
  box-shadow: 0 18px 60px rgba(15,23,42,.16) !important;
  border-radius: 18px !important;
  padding: 16px !important;
  color: #334155 !important;
}

.cookie-consent[hidden] { display: none !important; }

.cookie-consent strong {
  font-size: 14px !important;
  color: #0f172a !important;
}

.cookie-consent p {
  margin: 6px 0 0 !important;
  font-size: 12.5px !important;
  line-height: 1.45 !important;
  color: #64748b !important;
}

.cookie-options {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px 14px !important;
  margin-top: 12px !important;
}

.cookie-options label {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  font-size: 12.5px !important;
  color: #334155 !important;
}

.cookie-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 8px !important;
}

.cookie-actions button {
  min-height: 34px !important;
  padding: 0 12px !important;
  font-size: 12px !important;
  border-radius: 999px !important;
}

.legal-page {
  max-width: 920px !important;
  margin: 0 auto 18px !important;
  padding: 0 18px !important;
}

.legal-page ul {
  color: #475569 !important;
  font-size: 13.5px !important;
  line-height: 1.6 !important;
}

.legal-table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin: 14px 0 22px !important;
  background: #fff !important;
  border: 1px solid rgba(15,23,42,.10) !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

.legal-table th,
.legal-table td {
  text-align: left !important;
  vertical-align: top !important;
  border-bottom: 1px solid rgba(15,23,42,.08) !important;
  padding: 10px !important;
  font-size: 12.5px !important;
}

.legal-table th {
  color: #0f172a !important;
  font-weight: 650 !important;
  background: #f8fafc !important;
}

@media (max-width: 760px) {
  .cookie-consent { grid-template-columns: 1fr !important; }
  .cookie-actions { justify-content: flex-start !important; }
  .cookie-options { grid-template-columns: 1fr !important; }
}

/* Search layout prepared for dynamic filters */
.compact-search-head {
  max-width: 1180px !important;
  margin: 22px auto 14px !important;
  padding: 0 18px !important;
}

.compact-searchbar {
  max-width: 680px !important;
  margin: 0 !important;
}

.compact-searchbar input {
  max-width: 520px !important;
}

.search-filter-layout {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 18px !important;
  display: grid !important;
  grid-template-columns: 230px minmax(0, 760px) !important;
  gap: 30px !important;
  align-items: start !important;
}

.filter-sidebar {
  position: sticky !important;
  top: 82px !important;
}

.filter-card {
  border: 1px solid rgba(15, 23, 42, 0.10) !important;
  border-radius: 16px !important;
  background: #fff !important;
  padding: 15px !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.035) !important;
}

.filter-card h2 {
  margin: 0 0 7px !important;
  font-size: 15px !important;
  font-weight: 650 !important;
  color: #0f172a !important;
}

.filter-card p {
  margin: 0 0 12px !important;
  font-size: 12.5px !important;
  line-height: 1.45 !important;
  color: #64748b !important;
}

.filter-placeholder {
  display: grid !important;
  gap: 7px !important;
}

.filter-placeholder span {
  display: block !important;
  padding: 8px 9px !important;
  border-radius: 10px !important;
  background: #f8fafc !important;
  border: 1px solid rgba(15, 23, 42, 0.06) !important;
  color: #64748b !important;
  font-size: 12.5px !important;
}

.search-result-main .search-results-section {
  max-width: 760px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

@media (max-width: 900px) {
  .search-filter-layout {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  .filter-sidebar {
    position: static !important;
  }

  .compact-searchbar,
  .compact-searchbar input {
    max-width: 100% !important;
  }
}


/* Modern filter layout refinement */
.compact-search-head {
  max-width: 1180px !important;
  margin: 24px auto 18px !important;
  padding: 0 18px !important;
  display: flex !important;
  justify-content: center !important;
}

.compact-searchbar {
  width: min(760px, 100%) !important;
  max-width: 760px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 12px !important;
}

.compact-searchbar input {
  max-width: none !important;
}

.search-filter-layout {
  grid-template-columns: 300px minmax(0, 760px) !important;
  gap: 36px !important;
}

.filter-card {
  border-radius: 22px !important;
  padding: 20px !important;
  background: rgba(255, 255, 255, 0.78) !important;
  border: 1px solid rgba(148, 163, 184, 0.22) !important;
  box-shadow: 0 18px 55px rgba(15, 23, 42, 0.07) !important;
  backdrop-filter: blur(10px) !important;
}

.filter-card h2 {
  font-size: 17px !important;
  margin-bottom: 8px !important;
}

.filter-card p {
  font-size: 13px !important;
  line-height: 1.5 !important;
  margin-bottom: 16px !important;
}

.filter-placeholder {
  gap: 10px !important;
}

.filter-placeholder span {
  padding: 11px 13px !important;
  border-radius: 14px !important;
  background: rgba(248, 250, 252, 0.9) !important;
  border: 1px solid rgba(148, 163, 184, 0.18) !important;
  color: #475569 !important;
  font-size: 13.5px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.75) !important;
}

@media (max-width: 900px) {
  .compact-search-head {
    justify-content: stretch !important;
  }

  .compact-searchbar {
    width: 100% !important;
    grid-template-columns: 1fr auto !important;
  }

  .search-filter-layout {
    grid-template-columns: 1fr !important;
  }
}


/* Clean white professional search UI override */
body {
  background: #ffffff !important;
  color: #111827 !important;
}

main {
  background: #ffffff !important;
}

.search-page-head,
.compact-search-head {
  max-width: 1120px !important;
  margin: 26px auto 24px !important;
  padding: 0 24px !important;
  display: flex !important;
  justify-content: center !important;
}

.meshbox-searchbar,
.compact-searchbar {
  width: min(680px, 100%) !important;
  max-width: 680px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

.meshbox-searchbar input,
.compact-searchbar input {
  height: 46px !important;
  min-height: 46px !important;
  max-width: none !important;
  border-radius: 999px !important;
  border: 1px solid #d1d5db !important;
  background: #ffffff !important;
  box-shadow: none !important;
  padding: 0 18px !important;
  font-size: 15px !important;
  color: #111827 !important;
}

.meshbox-searchbar button,
.compact-searchbar button {
  height: 46px !important;
  min-height: 46px !important;
  border-radius: 999px !important;
  padding: 0 22px !important;
  border: 1px solid #111827 !important;
  background: #111827 !important;
  color: #ffffff !important;
  box-shadow: none !important;
  font-size: 14px !important;
}

.search-filter-layout {
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 0 24px 50px !important;
  display: grid !important;
  grid-template-columns: 280px minmax(0, 720px) !important;
  gap: 42px !important;
  align-items: start !important;
}

.filter-sidebar {
  position: sticky !important;
  top: 84px !important;
}

.filter-card {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  backdrop-filter: none !important;
}

.filter-card h2 {
  margin: 0 0 12px !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
  color: #111827 !important;
  letter-spacing: 0 !important;
}

.filter-card p {
  margin: 0 0 18px !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  color: #6b7280 !important;
}

.filter-placeholder {
  display: grid !important;
  gap: 0 !important;
  border-top: 1px solid #e5e7eb !important;
}

.filter-placeholder span {
  display: flex !important;
  align-items: center !important;
  min-height: 42px !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #e5e7eb !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #374151 !important;
  font-size: 13.5px !important;
}

.search-result-main .search-results-section,
.search-results-section {
  max-width: 720px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.result-count {
  color: #6b7280 !important;
  font-size: 13px !important;
  margin-bottom: 18px !important;
}

.google-result,
.result-card,
.local-result-card {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid #e5e7eb !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 0 18px !important;
  margin: 0 0 18px !important;
}

.google-title,
.result-title {
  font-size: 18px !important;
  line-height: 1.3 !important;
  font-weight: 500 !important;
  color: #1d4ed8 !important;
}

.google-url,
.result-url {
  color: #047857 !important;
  font-size: 13px !important;
  margin-top: 3px !important;
}

.google-snippet,
.result-card p {
  color: #374151 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
  margin-top: 6px !important;
}

.google-meta span,
.badges span {
  background: #f9fafb !important;
  border: 1px solid #e5e7eb !important;
  color: #4b5563 !important;
  border-radius: 999px !important;
  font-size: 12px !important;
}

@media (max-width: 900px) {
  .search-filter-layout {
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .filter-sidebar {
    position: static !important;
  }

  .meshbox-searchbar,
  .compact-searchbar {
    width: 100% !important;
  }
}


/* City landing pages and local monetization-ready layout */
.city-hero {
  background:
    radial-gradient(circle at top left, rgba(37, 99, 235, .18), transparent 34%),
    linear-gradient(135deg, #f8fbff 0%, #eef5ff 48%, #ffffff 100%);
  border-bottom: 1px solid #e2eaf5;
  padding: 58px 20px 44px;
}

.city-hero-inner {
  max-width: 1080px;
  margin: 0 auto;
}

.city-eyebrow,
.section-kicker,
.ad-label {
  color: #2563eb;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .76rem;
  margin: 0 0 8px;
}

.city-hero h1 {
  font-size: clamp(2.15rem, 4vw, 4.15rem);
  line-height: 1.02;
  margin: 0 0 14px;
  color: #0f172a;
}

.city-lead {
  max-width: 760px;
  font-size: 1.15rem;
  color: #475569;
  margin: 0 0 24px;
}

.city-search {
  display: flex;
  max-width: 720px;
  gap: 10px;
  background: #ffffff;
  padding: 8px;
  border: 1px solid #dbe7f5;
  border-radius: 20px;
  box-shadow: 0 18px 42px rgba(15, 23, 42, .08);
}

.city-search input {
  flex: 1;
  border: 0;
  outline: 0;
  font-size: 1rem;
  padding: 14px 15px;
  min-width: 0;
}

.city-search button {
  border: 0;
  border-radius: 15px;
  padding: 0 24px;
  font-weight: 800;
  cursor: pointer;
}

.city-hero-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.city-hero-links a {
  background: rgba(255,255,255,.78);
  border: 1px solid #dbe7f5;
  border-radius: 999px;
  color: #1d4ed8;
  font-weight: 800;
  padding: 8px 13px;
  text-decoration: none;
}

.city-page-grid {
  max-width: 1220px;
  margin: 0 auto;
  padding: 34px 20px 64px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 24px;
  align-items: start;
}

.city-main,
.city-sidebar {
  display: grid;
  gap: 22px;
}

.city-card,
.city-side-card {
  background: #ffffff;
  border: 1px solid #e4ebf5;
  border-radius: 26px;
  padding: 24px;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .055);
}

.section-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: end;
  margin-bottom: 18px;
}

.section-head h2,
.city-side-card h2 {
  margin: 0;
  color: #0f172a;
  letter-spacing: -.02em;
}

.section-head > p,
.city-side-card p,
.city-info-card p {
  color: #64748b;
  margin: 0;
}

.service-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(178px, 1fr));
  gap: 12px;
}

.service-tile {
  display: block;
  padding: 16px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid #e6edf7;
  text-decoration: none;
  color: #0f172a;
  transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.service-tile:hover {
  transform: translateY(-2px);
  border-color: #bfdbfe;
  box-shadow: 0 12px 25px rgba(37, 99, 235, .10);
}

.service-tile span {
  display: block;
  font-weight: 900;
  margin-bottom: 5px;
}

.service-tile small {
  color: #64748b;
}

.business-grid,
.local-card-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(235px, 1fr));
  gap: 14px;
}

.business-card,
.local-mini-card {
  background: #fbfdff;
  border: 1px solid #e6edf7;
  border-radius: 19px;
  padding: 16px;
}

.business-card h3 {
  margin: 0 0 8px;
  font-size: 1rem;
}

.business-card a,
.local-mini-card a,
.side-link {
  color: #2563eb;
  text-decoration: none;
  font-weight: 800;
}

.business-card p,
.local-mini-card p,
.muted {
  color: #64748b;
  margin: 7px 0 0;
}

.city-overview-list {
  list-style: none;
  padding: 0;
  margin: 14px 0 0;
  display: grid;
  gap: 10px;
}

.city-overview-list li {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  border-bottom: 1px solid #edf2f7;
  padding-bottom: 10px;
}

.city-overview-list span {
  color: #64748b;
}

.city-overview-list strong {
  color: #0f172a;
}

.city-ad-slot {
  background: linear-gradient(145deg, #0f172a, #1e3a8a);
  color: #ffffff;
  border: 0;
}

.city-ad-slot h2,
.city-ad-slot p,
.city-ad-slot .ad-label,
.city-ad-slot .side-link {
  color: #ffffff;
}

.city-ad-slot .side-link {
  display: inline-block;
  margin-top: 12px;
  background: rgba(255,255,255,.14);
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  padding: 9px 13px;
}

.city-future-card {
  background: #f8fafc;
}

.future-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 14px;
}

.future-list span {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  color: #475569;
  font-weight: 700;
  padding: 7px 10px;
}

.city-quote-card {
  border-color: #fde68a;
  background: #fffdf3;
}

@media (max-width: 900px) {
  .city-page-grid {
    grid-template-columns: 1fr;
  }

  .section-head {
    display: block;
  }

  .section-head > p {
    margin-top: 8px;
  }

  .city-search {
    flex-direction: column;
  }

  .city-search button {
    padding: 13px 18px;
  }
}


/* Search landing card */
.landing-card-result {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  background: linear-gradient(135deg, #eff6ff, #ffffff);
  border: 1px solid #bfdbfe;
  border-radius: 22px;
  padding: 20px;
  margin-bottom: 18px;
  box-shadow: 0 12px 28px rgba(37, 99, 235, .08);
}

.landing-card-result span {
  display: inline-block;
  color: #1d4ed8;
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 6px;
}

.landing-card-result h2 {
  margin: 0 0 6px;
  font-size: 1.35rem;
}

.landing-card-result h2 a {
  color: #0f172a;
  text-decoration: none;
}

.landing-card-result p {
  margin: 0;
  color: #475569;
}

.landing-card-button {
  white-space: nowrap;
  background: #1d4ed8;
  color: #ffffff;
  text-decoration: none;
  font-weight: 800;
  border-radius: 999px;
  padding: 10px 15px;
}

@media (max-width: 760px) {
  .landing-card-result {
    display: block;
  }

  .landing-card-button {
    display: inline-block;
    margin-top: 14px;
  }
}

/* Align result-page search field with result column */
.search-page-head {
  max-width: 1180px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
}

.compact-searchbar {
  max-width: 860px;
  margin-left: 424px;
  margin-right: 0;
}

@media (max-width: 1100px) {
  .compact-searchbar {
    margin-left: 0;
    max-width: 100%;
  }
}

/* Force align search field with result column on search page */
.search-page-head.compact-search-head {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 24px 20px 18px !important;
  display: grid !important;
  grid-template-columns: 390px minmax(0, 860px) !important;
  gap: 34px !important;
}

.search-page-head.compact-search-head .meshbox-searchbar,
.search-page-head.compact-search-head .compact-searchbar {
  grid-column: 2 !important;
  width: 100% !important;
  max-width: 860px !important;
  margin: 0 !important;
}

@media (max-width: 900px) {
  .search-page-head.compact-search-head {
    display: block !important;
    padding: 18px 16px !important;
  }

  .search-page-head.compact-search-head .meshbox-searchbar,
  .search-page-head.compact-search-head .compact-searchbar {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Correct search field alignment with result cards */
.search-page-head.compact-search-head {
  grid-template-columns: 356px minmax(0, 860px) !important;
}

/* Search result page: align search bar with result cards and integrate button */
.search-page-head.compact-search-head {
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 28px 20px 22px !important;
  display: grid !important;
  grid-template-columns: 390px minmax(0, 860px) !important;
  gap: 34px !important;
}

.search-page-head.compact-search-head .meshbox-searchbar,
.search-page-head.compact-search-head .compact-searchbar {
  grid-column: 2 !important;
  width: 100% !important;
  max-width: 860px !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #ffffff !important;
  border: 1px solid #d6deea !important;
  border-radius: 999px !important;
  padding: 7px 8px 7px 22px !important;
  box-shadow: 0 12px 32px rgba(15, 23, 42, .055) !important;
}

.search-page-head.compact-search-head .meshbox-searchbar input,
.search-page-head.compact-search-head .compact-searchbar input {
  flex: 1 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 12px 8px !important;
  min-width: 0 !important;
}

.search-page-head.compact-search-head .meshbox-searchbar button,
.search-page-head.compact-search-head .compact-searchbar button {
  border: 0 !important;
  border-radius: 999px !important;
  padding: 11px 22px !important;
  min-width: 86px !important;
  background: linear-gradient(135deg, #1d4ed8, #2563eb) !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  box-shadow: 0 10px 22px rgba(37, 99, 235, .24) !important;
  cursor: pointer !important;
}

.search-page-head.compact-search-head .meshbox-searchbar button:hover,
.search-page-head.compact-search-head .compact-searchbar button:hover {
  background: linear-gradient(135deg, #1e40af, #2563eb) !important;
  box-shadow: 0 12px 26px rgba(37, 99, 235, .30) !important;
}

@media (max-width: 900px) {
  .search-page-head.compact-search-head {
    display: block !important;
    padding: 18px 16px !important;
  }

  .search-page-head.compact-search-head .meshbox-searchbar,
  .search-page-head.compact-search-head .compact-searchbar {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Fine tune result-page search bar: move left to align with result card */
.search-page-head.compact-search-head {
  grid-template-columns: 324px minmax(0, 860px) !important;
}

/* Final search result header alignment: fixed width like result card */
.search-page-head.compact-search-head {
  display: block !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 28px 20px 22px !important;
}

.search-page-head.compact-search-head .meshbox-searchbar,
.search-page-head.compact-search-head .compact-searchbar {
  width: 860px !important;
  max-width: 860px !important;
  margin-left: 390px !important;
  margin-right: 0 !important;
}

@media (max-width: 1180px) {
  .search-page-head.compact-search-head .meshbox-searchbar,
  .search-page-head.compact-search-head .compact-searchbar {
    width: auto !important;
    max-width: none !important;
    margin-left: 0 !important;
  }
}

/* Result column search field: same width as result cards */
.search-page-head.compact-search-head {
  display: none !important;
}

.result-column-search {
  width: 100% !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  background: #ffffff !important;
  border: 1px solid #d6deea !important;
  border-radius: 999px !important;
  padding: 7px 8px 7px 22px !important;
  margin: 0 0 28px 0 !important;
  box-shadow: 0 12px 32px rgba(15, 23, 42, .055) !important;
}

.result-column-search input {
  flex: 1 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 12px 8px !important;
  min-width: 0 !important;
  font-size: 1rem !important;
}

.result-column-search button {
  border: 0 !important;
  border-radius: 999px !important;
  padding: 11px 22px !important;
  min-width: 86px !important;
  background: linear-gradient(135deg, #1d4ed8, #2563eb) !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  box-shadow: 0 10px 22px rgba(37, 99, 235, .22) !important;
  cursor: pointer !important;
}

@media (max-width: 760px) {
  .result-column-search {
    display: block !important;
    border-radius: 22px !important;
    padding: 12px !important;
  }

  .result-column-search input {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .result-column-search button {
    width: 100% !important;
    margin-top: 8px !important;
  }
}

/* Align city sidebar top with main city content card */
.city-page-grid {
  align-items: start !important;
}

.city-sidebar {
  margin-top: 42px !important;
}

@media (max-width: 900px) {
  .city-sidebar {
    margin-top: 0 !important;
  }
}

/* Exact alignment: city sidebar must start at same top as main content */
.city-page-grid {
  align-items: start !important;
}

.city-main {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.city-sidebar {
  margin-top: 0 !important;
  padding-top: 0 !important;
  align-self: start !important;
}

.city-card:first-child,
.city-side-card:first-child {
  margin-top: 0 !important;
}

/* Local search summary on city pages */
.local-search-summary {
  border-color: #bfdbfe;
  background: linear-gradient(135deg, #eff6ff, #ffffff);
}

.local-search-summary h2 {
  margin: 0 0 8px;
}

.local-search-summary p {
  color: #475569;
  margin: 0 0 12px;
}


/* Hide public roadmap-only placeholders */
.city-future-card,
.city-quote-card {
  display: none !important;
}

/* Make local search results appear as primary content */
.local-search-summary + .city-card {
  border-color: #bfdbfe;
}

/* Association submission */
.submit-wrap {
  max-width: 860px;
  margin: 0 auto;
  padding: 34px 20px 70px;
}

.association-form {
  display: grid;
  gap: 12px;
}

.association-form label {
  font-weight: 800;
  color: #0f172a;
}

.association-form input,
.association-form textarea,
.association-form select {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #dbe4f0;
  border-radius: 14px;
  padding: 12px 13px;
  font-size: 1rem;
}

.association-form button {
  border: 0;
  border-radius: 999px;
  padding: 13px 18px;
  font-weight: 900;
  background: #1d4ed8;
  color: #fff;
  cursor: pointer;
}

.checkline {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-weight: 600 !important;
}

.checkline input {
  width: auto;
  margin-top: 4px;
}

.association-cta-card {
  border-color: #bfdbfe;
  background: linear-gradient(135deg, #eff6ff, #ffffff);
}

/* Reviews */
.rating-line {
  margin: 6px 0 8px !important;
  color: #92400e;
  font-weight: 800;
}

.review-link {
  display: inline-block;
  margin-top: 10px;
  color: #1d4ed8;
  font-weight: 800;
  text-decoration: none;
}

/* Service request links */
.result-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

.request-link {
  display: inline-block;
  color: #ffffff !important;
  background: #1d4ed8;
  border-radius: 999px;
  padding: 8px 12px;
  font-weight: 800;
  text-decoration: none;
}

.review-link {
  display: inline-block;
}

/* Request CTA */
.landing-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.landing-card-request,
.request-link {
  display: inline-block;
  white-space: nowrap;
  background: linear-gradient(135deg, #0f766e, #14b8a6);
  color: #ffffff !important;
  text-decoration: none;
  font-weight: 800;
  border-radius: 999px;
  padding: 10px 15px;
  box-shadow: 0 10px 22px rgba(20, 184, 166, .22);
}

.result-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

@media (max-width: 760px) {
  .landing-card-actions {
    justify-content: flex-start;
    margin-top: 14px;
  }
}

/* Service result action buttons */
.service-result-grid {
  grid-template-columns: 1fr !important;
}

.service-result-card {
  display: grid;
  gap: 8px;
}

.result-address {
  color: #64748b;
  margin: 4px 0 2px;
}

.primary-result-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
}

.result-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  border-radius: 999px;
  padding: 8px 14px;
  font-weight: 900;
  text-decoration: none;
  border: 1px solid #dbe4f0;
  background: #ffffff;
  color: #0f172a;
}

.phone-action {
  background: #eff6ff;
  color: #1d4ed8;
  border-color: #bfdbfe;
}

.website-action {
  background: #f8fafc;
  color: #334155;
}

.quote-action {
  background: linear-gradient(135deg, #0f766e, #14b8a6);
  border-color: transparent;
  color: #ffffff !important;
  box-shadow: 0 10px 22px rgba(20, 184, 166, .22);
}

.request-action {
  background: #1d4ed8;
  border-color: transparent;
  color: #ffffff !important;
}

.secondary-result-actions {
  margin-top: 4px;
}

/* Main search result action buttons */
.search-result-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}

.search-result-actions .result-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  border-radius: 999px;
  padding: 7px 13px;
  font-weight: 900;
  text-decoration: none;
  border: 1px solid #dbe4f0;
  background: #ffffff;
  color: #0f172a;
  font-size: .92rem;
}

.search-result-actions .phone-action {
  background: #eff6ff;
  color: #1d4ed8;
  border-color: #bfdbfe;
}

.search-result-actions .website-action {
  background: #f8fafc;
  color: #334155;
}

.search-result-actions .quote-action {
  background: linear-gradient(135deg, #0f766e, #14b8a6);
  border-color: transparent;
  color: #ffffff !important;
  box-shadow: 0 10px 22px rgba(20, 184, 166, .18);
}

.search-result-actions .request-action {
  background: #1d4ed8;
  border-color: transparent;
  color: #ffffff !important;
}

/* Make local/service action links look like clean text links, not buttons */
.primary-result-actions,
.search-result-actions,
.result-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0 !important;
  margin-top: 8px !important;
  align-items: center !important;
}

.primary-result-actions a,
.search-result-actions a,
.result-actions a,
.result-action,
.phone-action,
.website-action,
.quote-action,
.request-action,
.review-link,
.request-link {
  display: inline !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #2563eb !important;
  font-size: .94rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

.primary-result-actions a:hover,
.search-result-actions a:hover,
.result-actions a:hover,
.review-link:hover,
.request-link:hover {
  text-decoration: underline !important;
}

.primary-result-actions a:not(:last-child)::after,
.search-result-actions a:not(:last-child)::after,
.result-actions a:not(:last-child)::after {
  content: " · ";
  color: #94a3b8;
  font-weight: 400;
  padding: 0 7px;
  text-decoration: none;
}

/* Make empty review state less visually important */
.rating-line.muted {
  color: #94a3b8 !important;
  font-size: .82rem !important;
  font-weight: 500 !important;
  margin: 2px 0 6px !important;
}

.business-card .rating-line.muted {
  opacity: .75 !important;
}

.business-card h3 {
  color: #0f172a !important;
  font-weight: 800 !important;
}

/* Result visual hierarchy: company name first, actions secondary */
.business-card h3,
.service-result-card h3 {
  font-size: 1.18rem !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  color: #0f172a !important;
  margin-bottom: 6px !important;
}

.primary-result-actions,
.search-result-actions,
.result-actions,
.secondary-result-actions {
  margin-top: 8px !important;
  gap: 6px !important;
}

.primary-result-actions a,
.search-result-actions a,
.result-actions a,
.secondary-result-actions a,
.result-action,
.phone-action,
.website-action,
.quote-action,
.request-action,
.review-link,
.request-link {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 24px !important;
  padding: 3px 8px !important;
  border-radius: 999px !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  color: #64748b !important;
  font-size: .78rem !important;
  line-height: 1.1 !important;
  font-weight: 500 !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

.primary-result-actions a:hover,
.search-result-actions a:hover,
.result-actions a:hover,
.secondary-result-actions a:hover,
.review-link:hover,
.request-link:hover {
  color: #2563eb !important;
  border-color: #cbd5e1 !important;
  text-decoration: none !important;
}

.primary-result-actions a::after,
.search-result-actions a::after,
.result-actions a::after {
  content: "" !important;
  padding: 0 !important;
}

.rating-line.muted {
  color: #94a3b8 !important;
  font-size: .78rem !important;
  font-weight: 400 !important;
  margin: 1px 0 5px !important;
}

.rating-line {
  font-size: .82rem !important;
}

/* Show phone/domain as actual contact text, keep CTA links subtle */
.result-contact-link {
  display: inline !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #2563eb !important;
  font-size: .94rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.result-contact-link:hover {
  text-decoration: underline !important;
}

.result-contact-link:not(:last-child)::after {
  content: " · ";
  color: #94a3b8;
  font-weight: 400;
  padding: 0 7px;
  text-decoration: none;
}

.quote-action,
.request-action,
.review-link {
  font-size: .82rem !important;
  font-weight: 500 !important;
  color: #64748b !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
}

/* Professional alignment for main search page */
.search-layout,
.search-results-layout,
.search-page-layout {
  max-width: 1220px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  align-items: start !important;
}

.search-filter-sidebar,
.search-filters {
  width: 310px !important;
  max-width: 310px !important;
  padding-top: 0 !important;
}

.search-result-main {
  max-width: 860px !important;
  width: 100% !important;
}

.result-column-search {
  margin-top: 0 !important;
  margin-bottom: 24px !important;
}

.landing-card-result {
  margin-top: 0 !important;
  margin-bottom: 22px !important;
}

/* Left column content */
.search-side-box {
  background: #ffffff;
  border: 1px solid #e5eaf2;
  border-radius: 18px;
  padding: 16px;
  margin-bottom: 16px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .035);
}

.search-side-box h2 {
  font-size: 1rem;
  line-height: 1.25;
  margin: 0 0 8px;
  color: #0f172a;
}

.search-side-box p {
  margin: 0 0 10px;
  color: #64748b;
  font-size: .92rem;
  line-height: 1.45;
}

.search-side-box a {
  color: #2563eb;
  font-size: .92rem;
  font-weight: 800;
  text-decoration: none;
}

.search-side-box a:hover {
  text-decoration: underline;
}

.search-side-highlight {
  background: linear-gradient(135deg, #f8fbff, #ffffff);
  border-color: #bfdbfe;
}

/* Filter list below info boxes */
.search-filter-sidebar > h2,
.search-filters > h2 {
  margin-top: 18px !important;
}

/* Prevent earlier experimental result-card styling on normal frontpage search */
.search-result-main .google-result,
.search-result-main .result-item,
.search-result-main article {
  box-shadow: none;
}

/* Mobile */
@media (max-width: 900px) {
  .search-filter-sidebar,
  .search-filters {
    width: 100% !important;
    max-width: 100% !important;
  }

  .search-side-box {
    margin-bottom: 12px;
  }
}

/* Search sidebar real local data */
.search-side-box {
  background: #ffffff;
  border: 1px solid #e5eaf2;
  border-radius: 16px;
  padding: 15px;
  margin-bottom: 14px;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .03);
}

.search-side-box h2 {
  font-size: .98rem;
  line-height: 1.25;
  margin: 0 0 10px;
  color: #0f172a;
}

.sidebar-link-list {
  display: grid;
  gap: 7px;
}

.sidebar-link-list a,
.sidebar-link-list span {
  color: #2563eb;
  font-size: .92rem;
  font-weight: 650;
  text-decoration: none;
}

.sidebar-link-list span {
  color: #475569;
}

.sidebar-link-list a:hover {
  text-decoration: underline;
}

/* Clean useful left sidebar */
.meshbox-side-info {
  margin-bottom: 18px !important;
}

.search-side-box {
  background: #ffffff !important;
  border: 1px solid #e5eaf2 !important;
  border-radius: 16px !important;
  padding: 15px !important;
  margin-bottom: 14px !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .03) !important;
}

.search-side-box h2 {
  font-size: .98rem !important;
  line-height: 1.25 !important;
  margin: 0 0 10px !important;
  color: #0f172a !important;
  font-weight: 850 !important;
}

.search-side-box p {
  margin: 0 !important;
  color: #64748b !important;
  font-size: .92rem !important;
  line-height: 1.45 !important;
}

.today-line {
  text-transform: capitalize;
}

.sidebar-link-list {
  display: grid !important;
  gap: 7px !important;
}

.sidebar-link-list a,
.sidebar-link-list span {
  color: #2563eb !important;
  font-size: .92rem !important;
  font-weight: 650 !important;
  text-decoration: none !important;
}

.sidebar-link-list a:hover {
  text-decoration: underline !important;
}

.sidebar-link-list span {
  color: #475569 !important;
}

/* Keep sidebar aligned with result column */
.search-filter-sidebar,
.search-filters {
  padding-top: 0 !important;
}

.search-result-main {
  padding-top: 0 !important;
}

/* Compact left sidebar so it does not dominate result scrolling */
.meshbox-side-info {
  margin-bottom: 10px !important;
}

.search-side-box {
  padding: 10px 11px !important;
  margin-bottom: 9px !important;
  border-radius: 13px !important;
  box-shadow: none !important;
}

.search-side-box h2 {
  font-size: .82rem !important;
  line-height: 1.15 !important;
  margin: 0 0 6px !important;
  font-weight: 800 !important;
}

.search-side-box p {
  font-size: .76rem !important;
  line-height: 1.25 !important;
  margin: 0 !important;
}

.today-line {
  font-size: .76rem !important;
}

.sidebar-link-list {
  gap: 3px !important;
}

.sidebar-link-list a,
.sidebar-link-list span {
  font-size: .76rem !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
}

.search-filter-sidebar,
.search-filters {
  font-size: .78rem !important;
}

/* Date under search field */
.result-date-line {
  margin: -14px 0 18px;
  color: #64748b;
  font-size: .82rem;
  line-height: 1.2;
  text-transform: capitalize;
}

/* Filters should sit higher than utility links */
.meshbox-side-info {
  margin-top: 16px !important;
}

/* Keep left utility boxes compact */
.search-side-box {
  padding: 9px 10px !important;
  margin-bottom: 8px !important;
}

.search-side-box h2 {
  font-size: .78rem !important;
  margin-bottom: 5px !important;
}

.sidebar-link-list a,
.sidebar-link-list span,
.search-side-box p {
  font-size: .72rem !important;
}

/* Remove failed date line and keep utility links below filters */
.result-date-line {
  display: none !important;
}

.meshbox-side-info {
  margin-top: 18px !important;
}

.search-filter-sidebar,
.search-filters {
  padding-top: 0 !important;
}

/* Sidebar submit link */
.sidebar-submit-link {
  display: inline-block !important;
  margin-top: 8px !important;
  color: #64748b !important;
  font-size: .72rem !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.sidebar-submit-link:hover {
  color: #2563eb !important;
  text-decoration: underline !important;
}

/* Cinema program upload guidelines */
.program-guidelines {
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 16px;
  padding: 14px;
  margin: 4px 0 10px;
}

.program-guidelines h2 {
  font-size: 1rem;
  margin: 0 0 8px;
  color: #0f172a;
}

.program-guidelines p,
.program-guidelines li {
  color: #475569;
  font-size: .9rem;
  line-height: 1.45;
}

.program-guidelines ul {
  margin: 10px 0;
  padding-left: 20px;
}

.program-example-title {
  font-weight: 800;
  margin-top: 10px;
}

.program-guidelines pre {
  white-space: pre-wrap;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 10px;
  color: #334155;
  font-size: .82rem;
  line-height: 1.4;
  overflow-x: auto;
}

/* Compact two-column utility sidebar */
.search-filter-sidebar,
.search-filters {
  width: 255px !important;
  max-width: 255px !important;
}

.search-results-layout,
.search-layout,
.search-page-layout {
  gap: 22px !important;
}

.search-side-box {
  padding: 9px 10px !important;
  margin-bottom: 8px !important;
  border-radius: 12px !important;
}

.search-side-box h2 {
  font-size: .76rem !important;
  line-height: 1.15 !important;
  margin: 0 0 6px !important;
  font-weight: 850 !important;
}

.sidebar-link-list {
  gap: 4px 8px !important;
}

.sidebar-two-col,
.search-side-box .sidebar-link-list {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  align-items: start !important;
}

.sidebar-link-list a,
.sidebar-link-list span {
  font-size: .70rem !important;
  line-height: 1.18 !important;
  font-weight: 600 !important;
  overflow-wrap: anywhere !important;
}

.search-side-box p {
  font-size: .70rem !important;
  line-height: 1.25 !important;
}

/* Future real-data modules can reuse these compact classes */
.sidebar-local-module,
.sidebar-ad-module,
.sidebar-media-module {
  display: none;
}

@media (max-width: 900px) {
  .search-filter-sidebar,
  .search-filters {
    width: 100% !important;
    max-width: 100% !important;
  }

  .sidebar-two-col,
  .search-side-box .sidebar-link-list {
    grid-template-columns: 1fr !important;
  }
}

/* Wider search page with two left sidebar columns */
.search-layout,
.search-results-layout,
.search-page-layout {
  max-width: none !important;
  width: calc(100vw - 32px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  gap: 22px !important;
}

/* Left area: two columns, not one narrow column */
.search-filter-sidebar,
.search-filters {
  width: 560px !important;
  max-width: 560px !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
  align-content: start !important;
  align-items: start !important;
}

/* Make old filter content span the first column naturally */
.search-filter-sidebar > * ,
.search-filters > * {
  min-width: 0 !important;
}

/* Put utility/info block in second column if present */
.meshbox-side-info {
  margin-top: 0 !important;
  display: grid !important;
  gap: 8px !important;
  align-content: start !important;
}

/* Restore readable sidebar boxes */
.search-side-box {
  padding: 11px 12px !important;
  margin-bottom: 0 !important;
  border-radius: 14px !important;
}

.search-side-box h2 {
  font-size: .86rem !important;
  line-height: 1.18 !important;
  margin: 0 0 7px !important;
}

.search-side-box p,
.sidebar-link-list a,
.sidebar-link-list span {
  font-size: .78rem !important;
  line-height: 1.25 !important;
}

/* No two-column inside each small box */
.sidebar-two-col,
.search-side-box .sidebar-link-list {
  grid-template-columns: 1fr !important;
}

/* Result column gets more room too */
.search-result-main {
  max-width: 940px !important;
  width: 100% !important;
}

@media (max-width: 1100px) {
  .search-layout,
  .search-results-layout,
  .search-page-layout {
    width: auto !important;
    max-width: 1180px !important;
  }

  .search-filter-sidebar,
  .search-filters {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: 1fr !important;
  }

  .search-result-main {
    max-width: 100% !important;
  }
}

/* Search page full-width layout */
.search-layout,
.search-results-layout,
.search-page-layout,
.search-container,
.results-container {
  max-width: none !important;
  width: calc(100vw - 48px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Keep sensible internal columns */
.search-filter-sidebar,
.search-filters {
  width: 320px !important;
  max-width: 320px !important;
  min-width: 320px !important;
}

.search-result-main {
  max-width: none !important;
  width: 100% !important;
}

/* Result search field and result card use available result column */
.result-column-search,
.landing-card-result {
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Mobile fallback */
@media (max-width: 900px) {
  .search-layout,
  .search-results-layout,
  .search-page-layout,
  .search-container,
  .results-container {
    width: auto !important;
    max-width: 100% !important;
  }

  .search-filter-sidebar,
  .search-filters {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
}

/* Real search page full-width layout */
.search-filter-layout {
  width: calc(100vw - 48px) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: grid !important;
  grid-template-columns: 340px minmax(0, 1fr) !important;
  gap: 32px !important;
  align-items: start !important;
}

.filter-sidebar {
  width: 340px !important;
  max-width: 340px !important;
  min-width: 340px !important;
}

.search-result-main {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

.result-column-search,
.landing-card-result,
.search-results-section {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

@media (max-width: 900px) {
  .search-filter-layout {
    width: auto !important;
    max-width: 100% !important;
    display: block !important;
  }

  .filter-sidebar {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
}

/* Fix search page width: no horizontal overflow */
html,
body {
  overflow-x: hidden !important;
}

.search-filter-layout {
  width: calc(100% - 32px) !important;
  max-width: 1500px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: grid !important;
  grid-template-columns: 340px minmax(0, 1fr) !important;
  gap: 28px !important;
  align-items: start !important;
  box-sizing: border-box !important;
}

.filter-sidebar {
  width: 340px !important;
  max-width: 340px !important;
  min-width: 340px !important;
  box-sizing: border-box !important;
}

.search-result-main {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.result-column-search,
.landing-card-result,
.search-results-section {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.result-column-search {
  overflow: hidden !important;
}

.result-column-search input {
  min-width: 0 !important;
}

.result-column-search button {
  flex: 0 0 auto !important;
}

@media (max-width: 900px) {
  .search-filter-layout {
    width: calc(100% - 24px) !important;
    max-width: 100% !important;
    display: block !important;
  }

  .filter-sidebar {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .search-result-main {
    overflow: visible !important;
  }
}

/* Admin overview */
.admin-wrap {
  max-width: 1180px;
  margin: 0 auto;
  padding: 32px 20px 70px;
}

.admin-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 22px;
}

.admin-card {
  background: #ffffff;
  border: 1px solid #e5eaf2;
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .035);
}

.admin-card-wide {
  grid-column: span 3;
}

.admin-card h2 {
  margin: 0 0 12px;
  font-size: 1rem;
}

.admin-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border-top: 1px solid #edf2f7;
  padding: 7px 0;
  font-size: .9rem;
}

.admin-row:first-of-type {
  border-top: 0;
}

.admin-row small {
  color: #64748b;
  white-space: nowrap;
}

.admin-card a {
  color: #2563eb;
  font-weight: 700;
  text-decoration: none;
}

.admin-card a:hover {
  text-decoration: underline;
}

@media (max-width: 900px) {
  .admin-grid {
    grid-template-columns: 1fr;
  }

  .admin-card-wide {
    grid-column: auto;
  }
}

/* Admin table pages */
.admin-table-wrap {
  overflow-x: auto;
  background: #fff;
  border: 1px solid #e5eaf2;
  border-radius: 16px;
  margin-top: 18px;
}

.admin-table {
  width: 100%;
  border-collapse: collapse;
  font-size: .86rem;
}

.admin-table th,
.admin-table td {
  text-align: left;
  vertical-align: top;
  padding: 9px 10px;
  border-bottom: 1px solid #edf2f7;
}

.admin-table th {
  background: #f8fafc;
  color: #0f172a;
  font-weight: 850;
  white-space: nowrap;
}

.admin-table td {
  color: #334155;
  max-width: 360px;
  overflow-wrap: anywhere;
}
