: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: row !important;
    gap: 8px !important;
  }

  .clean-search input {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    height: 46px !important;
    font-size: 16px !important;
    padding: 0 14px !important;
  }

  .clean-search button {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 62px !important;
    height: 46px !important;
    padding: 0 13px !important;
    font-size: 14px !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;
}

/* Admin statistik v2 */
.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-card p {
  margin: 6px 0;
}

.admin-card strong {
  font-size: 1.25rem;
  color: #0f172a;
}

.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;
}

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

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

/* Admin analytics tables */
.analytics-table {
  display: grid;
  gap: 0;
  margin-top: 8px;
  font-size: .78rem;
}

.analytics-table-3 {
  grid-template-columns: minmax(0, 1.4fr) .6fr .6fr;
}

.analytics-table-4 {
  grid-template-columns: minmax(0, 1.4fr) .6fr .6fr .5fr;
}

.analytics-table > div {
  padding: 5px 6px;
  border-top: 1px solid #edf2f7;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.analytics-head {
  font-weight: 850;
  color: #0f172a;
  background: #f8fafc;
  border-top: 0 !important;
}

.admin-compact .admin-card {
  overflow: hidden;
}

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

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

.admin-table th,
.admin-table td {
  text-align: left;
  vertical-align: top;
  padding: 8px 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: 420px;
  overflow-wrap: anywhere;
}

/* City cinema sidebar */
.city-mini-list {
  display: grid;
  gap: 10px;
}

.city-mini-item {
  display: grid;
  gap: 3px;
  padding: 8px 0;
  border-top: 1px solid #edf2f7;
  font-size: .84rem;
}

.city-mini-item:first-child {
  border-top: 0;
}

.city-mini-item strong {
  color: #0f172a;
  font-size: .9rem;
}

.city-mini-item span {
  color: #64748b;
  line-height: 1.25;
}

.city-mini-item a {
  color: #2563eb;
  text-decoration: none;
  font-weight: 700;
  font-size: .82rem;
}

.city-mini-item a:hover {
  text-decoration: underline;
}

/* Global safeguard: prevent noisy metadata titles from taking over search results */
.google-title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  overflow-wrap: anywhere;
}

/* Business profile / firmaside MVP */
.simple-page,
.admin-page,
.business-profile-shell {
  max-width: 1100px;
  margin: 0 auto;
  padding: 42px 18px;
}

.firmaside-form {
  display: grid;
  gap: 14px;
  max-width: 680px;
  margin-top: 24px;
}

.firmaside-form label {
  display: grid;
  gap: 6px;
  font-weight: 600;
}

.firmaside-form input,
.firmaside-form select,
.admin-inline-form input,
.admin-inline-form select {
  width: 100%;
  border: 1px solid rgba(15,23,42,.16);
  border-radius: 12px;
  padding: 11px 12px;
  font: inherit;
}

.firmaside-form button,
.admin-inline-form button {
  border: 0;
  border-radius: 999px;
  padding: 12px 18px;
  font-weight: 700;
  cursor: pointer;
}

.muted {
  color: #64748b;
}

.business-profile-card {
  background: #fff;
  border: 1px solid rgba(15,23,42,.12);
  border-radius: 24px;
  box-shadow: 0 12px 35px rgba(15,23,42,.07);
  overflow: hidden;
}

.business-profile-top {
  display: flex;
  gap: 18px;
  align-items: center;
  padding: 24px;
  border-bottom: 1px solid rgba(15,23,42,.08);
}

.business-profile-logo {
  width: 78px;
  height: 78px;
  object-fit: contain;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid rgba(15,23,42,.08);
}

.business-app-frame-wrap {
  width: 100%;
  min-height: 760px;
}

.business-app-frame {
  width: 100%;
  min-height: 760px;
  border: 0;
  display: block;
}

.business-profile-placeholder {
  padding: 34px 24px;
  background: #f8fafc;
}

.admin-table-wrap {
  overflow-x: auto;
}

.admin-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
}

.admin-table th,
.admin-table td {
  border-bottom: 1px solid rgba(15,23,42,.1);
  padding: 12px;
  vertical-align: top;
  text-align: left;
}

.admin-inline-form {
  display: grid;
  gap: 8px;
  min-width: 320px;
}

.inline-check {
  display: flex;
  gap: 8px;
  align-items: center;
}

.inline-check input {
  width: auto;
}

@media (max-width: 700px) {
  .business-profile-top {
    align-items: flex-start;
  }

  .business-app-frame,
  .business-app-frame-wrap {
    min-height: 680px;
  }
}

.info-box {
  margin: 22px 0;
  padding: 18px 20px;
  border: 1px solid rgba(37,99,235,.18);
  border-radius: 18px;
  background: #eff6ff;
}

.info-box h2 {
  margin: 0 0 10px;
  font-size: 1.1rem;
}

.info-box ol {
  margin: 0 0 12px 1.25rem;
  padding: 0;
}

.info-box li {
  margin: 6px 0;
}

.info-box p {
  margin: 10px 0 0;
}

.beta-info-box {
  max-width: 780px;
  margin: 22px auto 18px;
  padding: 18px 22px;
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
  text-align: left;
}

.beta-info-box h2 {
  margin: 0 0 8px;
  font-size: 1.15rem;
}

.beta-info-box p {
  margin: 8px 0 0;
  color: #475569;
  line-height: 1.55;
}

/* Temporary action pages: booking and 3 tilbud */
.action-pending-page {
  max-width: 920px;
  margin: 0 auto;
  padding: 34px 0 70px;
}

.action-hero {
  text-align: center;
  padding: 18px 0 24px;
}

.action-kicker {
  display: inline-block;
  margin: 0 0 12px;
  padding: 7px 12px;
  border-radius: 999px;
  background: #eff6ff;
  color: #1d4ed8;
  font-size: 0.85rem;
  font-weight: 800;
}

.action-hero h1 {
  margin: 0;
  font-size: clamp(2rem, 7vw, 4.2rem);
  line-height: 1;
  letter-spacing: -0.055em;
}

.action-lead {
  max-width: 720px;
  margin: 18px auto 0;
  color: #475569;
  font-size: clamp(1.05rem, 2.5vw, 1.25rem);
  line-height: 1.55;
}

.action-card {
  margin: 18px auto 0;
  padding: 30px;
  border: 1px solid #e5e7eb;
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.08);
}

.action-card h2 {
  margin: 0 0 12px;
  font-size: clamp(1.45rem, 4vw, 2rem);
  letter-spacing: -0.03em;
}

.action-card p {
  color: #475569;
  line-height: 1.65;
}

.action-benefits {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 22px 0;
}

.action-benefits div {
  padding: 14px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid #e5e7eb;
  color: #334155;
  font-weight: 700;
}

.action-cta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}

.action-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 13px 18px;
  border-radius: 16px;
  font-weight: 900;
  text-decoration: none;
}

.action-button.primary {
  background: linear-gradient(135deg, var(--brand), var(--brand2));
  color: #fff;
  box-shadow: 0 10px 28px rgba(37,99,235,.24);
}

.action-button.secondary {
  background: #eef2f7;
  color: #0f172a;
  border: 1px solid #e2e8f0;
}

.action-note {
  margin-top: 18px;
  font-size: 0.95rem;
}

@media (max-width: 760px) {
  .action-pending-page {
    padding: 18px 0 46px;
  }

  .action-hero {
    text-align: left;
  }

  .action-card {
    padding: 20px;
    border-radius: 22px;
  }

  .action-benefits {
    grid-template-columns: 1fr;
  }

  .action-cta {
    flex-direction: column;
  }

  .action-button {
    width: 100%;
  }
}

.local-business-title-link {
  color: inherit;
  text-decoration: none;
}

.local-business-title-link:hover {
  text-decoration: underline;
}

.search-result-actions .search-cta-visible {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 8px 12px;
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none;
  opacity: 1;
  visibility: visible;
}

.search-result-actions .search-cta-visible:hover {
  text-decoration: underline;
}

/* search-cta-visible-text-v1 */
.search-result-actions .search-cta-visible {
  background: #f3f6ff;
  border: 1px solid #b8c7f5;
  color: #123a8c;
  opacity: 1;
  visibility: visible;
  font-weight: 700;
}

.search-result-actions .search-cta-visible:visited {
  color: #123a8c;
}

.search-result-actions .search-cta-visible:hover {
  background: #e7edff;
  color: #0b2d73;
  text-decoration: none;
}

/* search-ui-width-and-cta-visibility-v1 */

/* Desktop: make search bar less oversized */
@media (min-width: 900px) {
  .search-page .clean-search,
  main .clean-search {
    max-width: 760px;
    margin-left: 0;
    margin-right: auto;
  }
}

/* Local service landing card: make "Åbn side" look like a compact button */
.landing-card-result .landing-card-actions .cvr-action-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 14px;
  border-radius: 999px;
  background: #eef4ff;
  border: 1px solid #b9cdf8;
  color: #123a8c;
  font-weight: 700;
  text-decoration: none;
  width: auto;
  white-space: nowrap;
}

.landing-card-result .landing-card-actions .cvr-action-pill:visited {
  color: #123a8c;
}

.landing-card-result .landing-card-actions .cvr-action-pill:hover {
  background: #dfeaff;
  color: #0b2d73;
  text-decoration: none;
}

/* Search result CTA: force visible text and button style above older result-action rules */
.google-result.local-result-card .search-result-actions a.result-action.search-cta-visible,
.google-result.local-result-card .search-result-actions a.result-action.search-cta-visible:link,
.google-result.local-result-card .search-result-actions a.result-action.search-cta-visible:visited {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 8px 13px;
  border-radius: 999px;
  background: #eef4ff;
  border: 1px solid #9db8f3;
  color: #123a8c;
  font-weight: 800;
  text-decoration: none;
  opacity: 1;
  visibility: visible;
  box-shadow: none;
  white-space: nowrap;
}

.google-result.local-result-card .search-result-actions a.result-action.search-cta-visible:hover {
  background: #dfeaff;
  border-color: #7fa2ee;
  color: #0b2d73;
  text-decoration: none;
}

/* force-search-cta-visible-v1 */
.google-result.local-result-card .search-result-actions a.result-action.search-cta-visible,
.google-result.local-result-card .search-result-actions a.result-action.search-cta-visible:link,
.google-result.local-result-card .search-result-actions a.result-action.search-cta-visible:visited {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 8px 13px !important;
  border-radius: 999px !important;
  background: #eef4ff !important;
  border: 1px solid #8fb0f4 !important;
  color: #0b2d73 !important;
  font-size: .86rem !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  opacity: 1 !important;
  visibility: visible !important;
  box-shadow: none !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.google-result.local-result-card .search-result-actions a.result-action.search-cta-visible:hover {
  background: #dbe8ff !important;
  border-color: #5f8fe8 !important;
  color: #06215a !important;
  text-decoration: none !important;
}

/* search-width-tighten-v1 */
@media (min-width: 900px) {
  main .clean-search {
    max-width: 700px !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }

  main .landing-card-result {
    max-width: 820px !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
}

/* search-width-shadow-fix-v1 */
@media (min-width: 900px) {
  main .clean-search {
    max-width: 560px !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    box-shadow: none !important;
  }

  main .clean-search input,
  main .clean-search button {
    box-shadow: none !important;
  }

  main .landing-card-result {
    max-width: 660px !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
}

/* search-empty-sidebar-layout-fix-v1 */
.search-filter-layout.search-no-sidebar {
  max-width: 780px !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

.search-filter-layout.search-no-sidebar .search-result-main {
  max-width: 720px !important;
  width: 100% !important;
}

.search-filter-layout.search-no-sidebar .result-column-search {
  max-width: 560px !important;
  box-shadow: none !important;
}

.search-filter-layout.search-no-sidebar .landing-card-result {
  max-width: 660px !important;
}

@media (max-width: 900px) {
  .search-filter-layout.search-no-sidebar,
  .search-filter-layout.search-no-sidebar .search-result-main,
  .search-filter-layout.search-no-sidebar .result-column-search,
  .search-filter-layout.search-no-sidebar .landing-card-result {
    max-width: 100% !important;
  }
}

/* mobile-cta-footer-fix-v1 */
@media (max-width: 520px) {
  .google-result.local-result-card .search-result-actions a.result-action.search-cta-visible,
  .google-result.local-result-card .search-result-actions a.result-action.search-cta-visible:link,
  .google-result.local-result-card .search-result-actions a.result-action.search-cta-visible:visited {
    font-size: .76rem !important;
    padding: 7px 10px !important;
    min-height: 30px !important;
    max-width: 100% !important;
    white-space: nowrap !important;
  }

  .site-footer {
    padding: 22px 14px !important;
    gap: 10px !important;
  }

  .footer-links {
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 7px !important;
    font-size: 11px !important;
    line-height: 1.1 !important;
    width: 100% !important;
    justify-content: flex-start !important;
  }

  .footer-links a {
    white-space: nowrap !important;
  }
}

/* admin-top-links-layout-fix-v1 */
.admin-quick-links {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  align-items: center !important;
  max-width: 100% !important;
  margin: 18px 0 22px 0 !important;
}

.admin-quick-links .button,
.admin-quick-links a.button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  padding: 10px 16px !important;
  font-size: 0.95rem !important;
  line-height: 1.15 !important;
  box-sizing: border-box !important;
}

@media (max-width: 760px) {
  .admin-quick-links {
    gap: 8px !important;
  }

  .admin-quick-links .button,
  .admin-quick-links a.button {
    font-size: 0.85rem !important;
    padding: 9px 12px !important;
  }
}

@media (max-width: 520px) {
  .admin-quick-links {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
  }

  .admin-quick-links .button,
  .admin-quick-links a.button {
    width: 100% !important;
    white-space: normal !important;
    text-align: center !important;
  }
}

/* search-web-quick-links-v1 */
.search-web-quick-links {
  margin: 18px 0 20px 0;
  padding: 14px;
  border: 1px solid #d7e3f3;
  border-radius: 14px;
  background: #f7fbff;
}

.search-web-quick-links h2 {
  margin: 0 0 10px 0;
  font-size: 1rem;
}

.quick-link-card {
  display: block;
  padding: 12px 14px;
  border-radius: 12px;
  background: #ffffff;
  border: 1px solid #dfe7f2;
  text-decoration: none;
  color: inherit;
}

.quick-link-card + .quick-link-card {
  margin-top: 10px;
}

.quick-link-card strong,
.quick-link-card span,
.quick-link-card small {
  display: block;
}

.quick-link-card strong {
  font-size: 1rem;
}

.quick-link-card span {
  margin-top: 3px;
}

.quick-link-card small {
  margin-top: 4px;
  color: #4f667d;
}

/* search-web-mode-tabs-v1 */
.search-mode-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0 18px;
}

.search-mode-tab {
  display: inline-flex;
  align-items: center;
  border: 1px solid #d6dbe3;
  border-radius: 999px;
  padding: 7px 12px;
  background: #fff;
  color: #1f2937;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
}

.search-mode-tab:hover {
  border-color: #9aa7b7;
  background: #f8fafc;
  text-decoration: none;
}

.search-mode-tab.is-active {
  border-color: #1f2937;
  background: #1f2937;
  color: #fff;
}

/* MeshBox ChromaPlex left footer project link */
.site-footer .footer-project-link {
  margin: 10px 0 0 !important;
  max-width: 560px !important;
}

.site-footer .footer-project-link .footer-green-link {
  display: inline-flex !important;
  align-items: center !important;
  color: #047857 !important;
  background: #ecfdf5 !important;
  border: 1px solid #34d399 !important;
  border-radius: 999px !important;
  padding: 6px 11px !important;
  font-weight: 850 !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
}

.site-footer .footer-project-link .footer-green-link:hover {
  color: #065f46 !important;
  background: #d1fae5 !important;
  text-decoration: none !important;
}


/* search-web-brand-filter-ui-v1 */
.search-web-filter-panel {
  margin: 14px 0 18px;
  padding: 14px;
  border: 1px solid var(--line, #e2e8f0);
  border-radius: 18px;
  background: rgba(255,255,255,.86);
}

.search-web-filter-form {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: end;
}

.search-web-filter-form label {
  display: grid;
  gap: 5px;
  font-size: 13px;
  font-weight: 800;
  color: #334155;
}

.search-web-filter-form select {
  min-width: 190px;
  border: 1px solid var(--line, #e2e8f0);
  border-radius: 12px;
  padding: 10px 12px;
  background: #fff;
}

.search-web-filter-form button,
.search-web-filter-clear {
  border: 0;
  border-radius: 12px;
  padding: 10px 13px;
  font-weight: 900;
}

.search-web-filter-form button {
  background: linear-gradient(135deg,var(--brand,#2563eb),var(--brand2,#06b6d4));
  color: #fff;
  cursor: pointer;
}

.search-web-filter-clear {
  background: #e2e8f0;
  color: #0f172a;
  text-decoration: none;
}

.search-web-filter-note {
  margin: 10px 0 0;
  color: #64748b;
  font-size: 13px;
}

/* meshbox-search-web-wide-ui-v1 START */
.search-page {
  width: min(1500px, calc(100% - 36px));
  margin: 0 auto;
}

.search-page .search-main {
  width: 100%;
  max-width: none;
  margin: 0 auto;
}

.search-page .search-results-section {
  width: min(1180px, 100%);
  max-width: none;
  margin: 0 auto;
  padding: 22px 0 70px;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.search-page .search-results-section h1 {
  text-align: center;
  font-size: clamp(34px, 4vw, 56px);
  letter-spacing: -0.055em;
  margin: 12px 0 22px;
}

.search-page .search-form {
  width: min(980px, 100%);
  margin: 0 auto 18px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  padding: 10px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(148, 163, 184, 0.42);
  box-shadow: 0 18px 52px rgba(15, 23, 42, 0.10);
}

.search-page .search-form input[type="search"] {
  min-height: 58px;
  border: 0;
  outline: 0;
  border-radius: 999px;
  padding: 0 22px;
  font-size: 21px;
  background: transparent;
}

.search-page .search-form button {
  min-height: 58px;
  border-radius: 999px;
  padding: 0 28px;
  font-size: 17px;
  font-weight: 900;
}

.search-page .search-mode-tabs {
  width: min(980px, 100%);
  margin: 0 auto 24px;
  justify-content: center;
}

.search-page .result-count {
  width: min(980px, 100%);
  margin: 16px auto 18px;
  color: #64748b;
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.search-page .google-result {
  width: min(980px, 100%);
  margin: 0 auto;
  padding: 20px 2px 22px;
  border: 0;
  border-bottom: 1px solid rgba(148, 163, 184, 0.25);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.search-page .google-result:hover {
  background: rgba(248, 250, 252, 0.75);
}

.search-page .google-title {
  font-size: 22px;
  line-height: 1.25;
}

.search-page .google-url {
  margin-top: 5px;
}

.search-page .google-snippet {
  max-width: 920px;
  font-size: 16px;
  line-height: 1.55;
}

.search-page .google-meta {
  color: #94a3b8;
}

.search-page .search-web-quick-links {
  width: min(980px, 100%);
  margin: 0 auto 22px;
}

@media (max-width: 720px) {
  .search-page {
    width: min(100% - 20px, 100%);
  }

  .search-page .search-form {
    grid-template-columns: 1fr;
    border-radius: 24px;
  }

  .search-page .search-form input[type="search"],
  .search-page .search-form button {
    min-height: 52px;
    border-radius: 18px;
  }
}
/* meshbox-search-web-wide-ui-v1 END */
/* meshbox-search-web-wide-ui-v2 */
.search-page .search-form {
  width: min(980px, 100%);
  margin: 0 auto 18px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  padding: 12px;
  border-radius: 32px;
  font-size: 22px;
}

.search-page .search-form input[type="search"] {
  min-height: 60px;
  font-size: 22px;
  padding: 0 24px;
}

.search-page .search-form button {
  min-height: 60px;
  font-size: 18px;
  padding: 0 28px;
  border-radius: 32px;
}

.search-page .search-results-section {
  width: min(1400px, 100%);
  margin: 0 auto;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.search-page .google-result {
  width: min(1400px, 100%);
  margin: 0 auto 16px;
  padding: 18px;
  border: 0;
  border-bottom: 1px solid rgba(148,163,184,0.25);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
/* end meshbox-search-web-wide-ui-v2 */

/* meshbox-global-visual-design-v1 START */
:root {
  --meshbox-primary: #1a365d;
  --meshbox-primary-hover: #2a4365;
  --meshbox-text-dark: #2d3748;
  --meshbox-text-muted: #718096;
  --meshbox-bg-light: #f7fafc;
  --meshbox-border: #e2e8f0;
  --meshbox-focus: rgba(66, 153, 225, 0.6);
}

* {
  box-sizing: border-box;
}

html {
  background: #fafbfc;
}

body {
  background-color: #fafbfc !important;
  color: var(--meshbox-text-dark) !important;
  line-height: 1.5;
  min-height: 100vh;
  position: relative;
  overflow-x: hidden;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M0 0 L100 100 M100 0 L0 100' stroke='%23e2e8f0' stroke-width='0.5' stroke-opacity='0.4'/%3E%3Ccircle cx='0' cy='0' r='1' fill='%23cbd5e0' fill-opacity='0.5'/%3E%3Ccircle cx='100' cy='0' r='1' fill='%23cbd5e0' fill-opacity='0.5'/%3E%3Ccircle cx='50' cy='50' r='1' fill='%23cbd5e0' fill-opacity='0.5'/%3E%3C/svg%3E");
  background-size: 140px 140px;
  z-index: -1;
  opacity: 0.7;
  pointer-events: none;
}

.site-header {
  width: min(1200px, calc(100% - 40px)) !important;
  margin: 0 auto !important;
  padding: 20px 0 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.site-header .brand,
.site-header .brand:visited {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  color: var(--meshbox-primary) !important;
  text-decoration: none !important;
  font-weight: 800 !important;
}

.site-header .brand img {
  width: 40px !important;
  height: 40px !important;
  object-fit: contain !important;
  border-radius: 8px !important;
  background: linear-gradient(135deg, #1a365d 0%, #2b6cb0 100%) !important;
  padding: 6px !important;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05) !important;
}

.site-header .brand span {
  font-size: 22px !important;
  font-weight: 800 !important;
  letter-spacing: -0.5px !important;
  text-transform: uppercase !important;
  color: var(--meshbox-primary) !important;
}

.site-header nav {
  display: flex !important;
  gap: 16px !important;
  align-items: center !important;
  flex-wrap: wrap !important;
}

.site-header nav a {
  text-decoration: none !important;
  color: var(--meshbox-text-dark) !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  padding: 8px 16px !important;
  border-radius: 6px !important;
  transition: all 0.2s ease !important;
  background: transparent !important;
  border: 0 !important;
}

.site-header nav a:hover {
  background-color: rgba(0, 0, 0, 0.03) !important;
  color: var(--meshbox-primary) !important;
}

.site-header nav a[href*="opret-firmaside"],
.site-header nav a[href*="firmaside"] {
  background-color: var(--meshbox-primary) !important;
  color: #fff !important;
}

.site-header nav a[href*="opret-firmaside"]:hover,
.site-header nav a[href*="firmaside"]:hover {
  background-color: var(--meshbox-primary-hover) !important;
  color: #fff !important;
}

main {
  width: min(1200px, calc(100% - 40px)) !important;
  margin: 0 auto !important;
  padding: 40px 0 70px !important;
}

.hero,
.page-head,
.search-page,
.cards-section,
.results,
.filters,
.panel,
.prose,
.city-page,
.city-main,
.search-results-layout {
  position: relative;
}

.hero,
.page-head {
  text-align: center !important;
  padding: 54px 0 34px !important;
}

.hero h1,
.page-head h1,
.search-page h1,
.hero-section h1 {
  color: var(--meshbox-primary) !important;
  font-weight: 760 !important;
  letter-spacing: -0.5px !important;
}

.hero p,
.page-head p,
.hero-section p {
  color: var(--meshbox-text-muted) !important;
}

.search-box,
.search-form {
  background: #ffffff !important;
  border: 2px solid var(--meshbox-border) !important;
  border-radius: 50px !important;
  padding: 4px !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.04) !important;
  transition: all 0.25s ease !important;
}

.search-box:focus-within,
.search-form:focus-within {
  border-color: #3182ce !important;
  box-shadow: 0 10px 25px rgba(49, 130, 206, 0.1), 0 0 0 3px rgba(66, 153, 225, 0.15) !important;
}

.search-box input,
.search-form input,
.search-form input[type="search"],
.form input,
.form select,
.form textarea {
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  color: var(--meshbox-text-dark) !important;
  font-size: 16px !important;
  padding: 12px 18px !important;
  box-shadow: none !important;
}

.search-box input::placeholder,
.search-form input::placeholder {
  color: #a0aec0 !important;
}

.search-box button,
.search-form button,
.button,
.form button,
.inline button {
  background-color: var(--meshbox-primary) !important;
  background-image: none !important;
  color: #ffffff !important;
  border: none !important;
  outline: none !important;
  border-radius: 50px !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease !important;
  font-weight: 650 !important;
  box-shadow: none !important;
}

.search-box button:hover,
.search-form button:hover,
.button:hover,
.form button:hover,
.inline button:hover {
  background-color: var(--meshbox-primary-hover) !important;
}

/* Search-web specific visual layout */
.search-page {
  width: min(1180px, 100%) !important;
  margin: 0 auto !important;
}

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

.search-page .search-results-section {
  width: min(980px, 100%) !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 34px 0 70px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.search-page .search-results-section h1 {
  text-align: center !important;
  font-size: clamp(34px, 4vw, 48px) !important;
  margin: 14px 0 28px !important;
}

.search-page .search-form {
  width: min(820px, 100%) !important;
  margin: 0 auto 22px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

.search-page .search-form input[type="search"] {
  flex: 1 !important;
  min-height: 50px !important;
  font-size: 17px !important;
  padding: 0 22px !important;
}

.search-page .search-form button {
  min-height: 50px !important;
  padding: 0 28px !important;
  font-size: 16px !important;
}

.search-mode-tabs {
  width: min(820px, 100%) !important;
  margin: 0 auto 24px !important;
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

.search-mode-tab,
.tag-link,
.badges span,
.google-meta span {
  text-decoration: none !important;
  color: var(--meshbox-primary) !important;
  background-color: #edf2f7 !important;
  padding: 6px 14px !important;
  border-radius: 20px !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  border: 1px solid transparent !important;
  box-shadow: none !important;
}

.search-mode-tab:hover,
.tag-link:hover {
  background-color: var(--meshbox-primary) !important;
  color: #ffffff !important;
}

.search-mode-tab.is-active {
  background-color: var(--meshbox-primary) !important;
  color: #ffffff !important;
}

.result-count {
  width: min(820px, 100%) !important;
  margin: 16px auto 18px !important;
  color: var(--meshbox-text-muted) !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

.google-result,
.result-card,
.local-result-card,
.business-card,
.local-mini-card,
.card,
.panel,
.city-card,
.city-side-card,
.service-result-card {
  background: rgba(255,255,255,0.72) !important;
  border: 1px solid rgba(226,232,240,0.82) !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 22px rgba(15,23,42,0.04) !important;
}

.search-page .google-result {
  width: min(820px, 100%) !important;
  margin: 0 auto 12px !important;
  padding: 18px 4px 20px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(148, 163, 184, 0.28) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.search-page .google-result:hover {
  background: rgba(255,255,255,0.45) !important;
}

.google-title,
.result-title,
.business-card h3 a,
.local-mini-card a {
  color: #0047d7 !important;
}

.search-page .google-title {
  font-size: 21px !important;
  line-height: 1.25 !important;
}

.google-url,
.result-url {
  color: #008060 !important;
}

.google-snippet,
.result-card p,
.card p,
.city-card p,
.city-side-card p,
.service-result-card p {
  color: var(--meshbox-text-dark) !important;
  line-height: 1.55 !important;
}

.google-meta {
  color: var(--meshbox-text-muted) !important;
  display: flex !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

.table-wrap,
.flash,
.empty,
.status-badge {
  border-color: var(--meshbox-border) !important;
  box-shadow: 0 8px 22px rgba(15,23,42,0.04) !important;
}

.site-footer {
  width: 100% !important;
  border-top: 1px solid var(--meshbox-border) !important;
  background-color: #ffffff !important;
  padding: 24px 20px !important;
  margin-top: auto !important;
  display: block !important;
}

.site-footer > * {
  width: min(1200px, 100%) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.site-footer p,
.site-footer a,
.footer-links a {
  color: var(--meshbox-text-muted) !important;
  font-size: 13px !important;
}

.footer-links {
  display: flex !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
}

@media (max-width: 720px) {
  .site-header {
    width: min(100% - 24px, 100%) !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 14px !important;
  }

  .site-header nav {
    width: 100% !important;
    gap: 8px !important;
  }

  main {
    width: min(100% - 24px, 100%) !important;
    padding: 28px 0 56px !important;
  }

  .search-page .search-form {
    border-radius: 24px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .search-page .search-form input[type="search"],
  .search-page .search-form button {
    min-height: 52px !important;
    border-radius: 18px !important;
  }
}
/* meshbox-global-visual-design-v1 END */

/* meshbox-home-search-web-aligned-v1 START */
:root {
  --meshbox-primary: #1a365d;
  --meshbox-primary-hover: #2a4365;
  --meshbox-text-dark: #2d3748;
  --meshbox-text-muted: #718096;
  --meshbox-border: #e2e8f0;
}

/* Keep all links/buttons functional */
.search-mode-tabs,
.search-mode-tab,
.search-form,
.search-form button,
.search-form input,
.search-box,
.search-box button,
.search-box input {
  pointer-events: auto !important;
}

/* Shared page feel */
body {
  background-color: #fafbfc !important;
  color: var(--meshbox-text-dark) !important;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='100' height='100' viewBox='0 0 100 100'%3E%3Cpath d='M0 0 L100 100 M100 0 L0 100' stroke='%23e2e8f0' stroke-width='0.5' stroke-opacity='0.4'/%3E%3Ccircle cx='0' cy='0' r='1' fill='%23cbd5e0' fill-opacity='0.5'/%3E%3Ccircle cx='100' cy='0' r='1' fill='%23cbd5e0' fill-opacity='0.5'/%3E%3Ccircle cx='50' cy='50' r='1' fill='%23cbd5e0' fill-opacity='0.5'/%3E%3C/svg%3E");
  background-size: 140px 140px;
  opacity: 0.48;
  z-index: -1;
  pointer-events: none;
}

/* Header matches uploaded design without changing links */
.site-header {
  width: min(1200px, calc(100% - 40px)) !important;
  margin: 0 auto !important;
  padding: 22px 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.site-header .brand {
  color: var(--meshbox-primary) !important;
  text-decoration: none !important;
  gap: 12px !important;
}

.site-header .brand img {
  width: 40px !important;
  height: 40px !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, #1a365d 0%, #2b6cb0 100%) !important;
  padding: 6px !important;
  box-shadow: 0 4px 10px rgba(26, 54, 93, 0.18) !important;
}

.site-header .brand span {
  color: var(--meshbox-primary) !important;
  font-size: 22px !important;
  font-weight: 850 !important;
  letter-spacing: -0.5px !important;
  text-transform: uppercase !important;
}

.site-header nav a {
  color: var(--meshbox-text-dark) !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  padding: 8px 16px !important;
  border-radius: 7px !important;
  text-decoration: none !important;
  background: transparent !important;
}

.site-header nav a:hover {
  background: rgba(26, 54, 93, 0.06) !important;
  color: var(--meshbox-primary) !important;
}

.site-header nav a[href*="opret-firmaside"] {
  background: var(--meshbox-primary) !important;
  color: #fff !important;
}

.site-header nav a[href*="opret-firmaside"]:hover {
  background: var(--meshbox-primary-hover) !important;
  color: #fff !important;
}

/* Main width */
main {
  width: min(1200px, calc(100% - 40px)) !important;
  margin: 0 auto !important;
}

/* Frontpage: match search-web search experience */
.hero {
  max-width: 860px !important;
  margin: 0 auto !important;
  padding: 78px 0 34px !important;
  text-align: center !important;
  display: block !important;
}

.hero h1 {
  color: var(--meshbox-primary) !important;
  font-size: clamp(48px, 7vw, 92px) !important;
  line-height: 0.95 !important;
  letter-spacing: -0.065em !important;
  margin: 0 0 18px !important;
}

.hero p {
  color: var(--meshbox-text-muted) !important;
  font-size: 18px !important;
  max-width: 680px !important;
  margin: 0 auto 28px !important;
}

.hero .search-box,
.search-box {
  width: min(760px, 100%) !important;
  margin: 0 auto 24px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

.hero .search-box form,
.search-box form,
.search-page .search-form {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

.hero .search-box input,
.search-box input,
.search-page .search-form input[type="search"] {
  flex: 1 1 auto !important;
  min-height: 58px !important;
  border: 1px solid #cbd5e0 !important;
  border-radius: 50px !important;
  padding: 0 26px !important;
  font-size: 17px !important;
  background: #fff !important;
  color: var(--meshbox-text-dark) !important;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.035) !important;
  outline: 0 !important;
}

.hero .search-box input:focus,
.search-box input:focus,
.search-page .search-form input[type="search"]:focus {
  border-color: #3182ce !important;
  box-shadow: 0 10px 25px rgba(49, 130, 206, 0.10), 0 0 0 3px rgba(66, 153, 225, 0.15) !important;
}

.hero .search-box button,
.search-box button,
.search-page .search-form button {
  flex: 0 0 auto !important;
  min-height: 58px !important;
  border-radius: 50px !important;
  border: 2px solid var(--meshbox-primary) !important;
  background: var(--meshbox-primary) !important;
  color: #fff !important;
  padding: 0 34px !important;
  font-size: 16px !important;
  font-weight: 750 !important;
  box-shadow: none !important;
  cursor: pointer !important;
}

.hero .search-box button:hover,
.search-box button:hover,
.search-page .search-form button:hover {
  background: var(--meshbox-primary-hover) !important;
  border-color: var(--meshbox-primary-hover) !important;
}

/* Frontpage info card: lighter and cleaner */
.hero + .panel,
.hero ~ .panel,
main > .panel {
  width: min(760px, 100%) !important;
  margin: 22px auto !important;
  background: rgba(255,255,255,0.80) !important;
  border: 1px solid rgba(226,232,240,0.95) !important;
  border-radius: 18px !important;
  box-shadow: 0 14px 40px rgba(15,23,42,0.05) !important;
}

/* Search-web: keep mode buttons as real links and style them clearly */
.search-page {
  width: min(1180px, 100%) !important;
  margin: 0 auto !important;
}

.search-page .search-results-section {
  width: min(980px, 100%) !important;
  margin: 0 auto !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.search-page .search-results-section h1 {
  text-align: center !important;
  color: var(--meshbox-primary) !important;
  font-size: clamp(34px, 4vw, 52px) !important;
  margin: 18px 0 24px !important;
}

.search-page .search-form {
  width: min(760px, 100%) !important;
  margin: 0 auto 20px !important;
}

.search-mode-tabs {
  width: min(760px, 100%) !important;
  margin: 0 auto 24px !important;
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

.search-mode-tab {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 7px 15px !important;
  border-radius: 999px !important;
  border: 1px solid #d6dee8 !important;
  background: #fff !important;
  color: var(--meshbox-primary) !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}

.search-mode-tab:hover {
  background: #edf2f7 !important;
  color: var(--meshbox-primary) !important;
}

.search-mode-tab.is-active {
  background: var(--meshbox-primary) !important;
  color: #fff !important;
  border-color: var(--meshbox-primary) !important;
}

.search-page .result-count,
.search-page .google-result,
.search-page .search-web-quick-links {
  width: min(880px, 100%) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.search-page .google-result {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(148, 163, 184, 0.28) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 18px 0 20px !important;
}

.search-page .google-title {
  font-size: 21px !important;
  line-height: 1.28 !important;
}

@media (max-width: 720px) {
  .site-header {
    width: min(100% - 24px, 100%) !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 14px !important;
  }

  main {
    width: min(100% - 24px, 100%) !important;
  }

  .hero {
    padding-top: 44px !important;
  }

  .hero h1 {
    font-size: clamp(42px, 14vw, 64px) !important;
  }

  .hero .search-box form,
  .search-box form,
  .search-page .search-form {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .hero .search-box input,
  .search-box input,
  .search-page .search-form input[type="search"],
  .hero .search-box button,
  .search-box button,
  .search-page .search-form button {
    width: 100% !important;
    min-height: 54px !important;
  }
}
/* meshbox-home-search-web-aligned-v1 END */

/* meshbox-home-searchbox-match-searchweb-v1 START */

/*
  Goal:
  Home page search box must visually match /search-web search box.
  CSS only. Keeps form actions, inputs, buttons and mode-tab links untouched.
*/

:root {
  --meshbox-primary: #1a365d;
  --meshbox-primary-hover: #2a4365;
  --meshbox-text-dark: #2d3748;
  --meshbox-text-muted: #718096;
  --meshbox-border: #d6dee8;
}

/* Shared search area width */
body main .hero .search-box,
body main form.search-box,
body main .search-box,
body main .search-page .search-form {
  width: min(960px, 100%) !important;
  max-width: 960px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* If .search-box is itself the form on home */
body main form.search-box,
body main .search-page form.search-form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 128px !important;
  gap: 14px !important;
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

/* If .search-box contains a nested form */
body main .search-box form {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 128px !important;
  gap: 14px !important;
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

/* Search input identical on home and search-web */
body main form.search-box > input[type="search"],
body main form.search-box > input[name="q"],
body main .search-box form input[type="search"],
body main .search-box form input[name="q"],
body main .search-page .search-form input[type="search"],
body main .search-page .search-form input[name="q"] {
  width: 100% !important;
  min-width: 0 !important;
  height: 72px !important;
  min-height: 72px !important;
  box-sizing: border-box !important;
  border: 1px solid var(--meshbox-border) !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  color: var(--meshbox-text-dark) !important;
  padding: 0 34px !important;
  font-size: 19px !important;
  line-height: 72px !important;
  outline: none !important;
  box-shadow: 0 16px 42px rgba(15, 23, 42, 0.055) !important;
  appearance: none !important;
}

/* Button identical on home and search-web */
body main form.search-box > button,
body main .search-box form button,
body main .search-page .search-form button {
  width: 128px !important;
  min-width: 128px !important;
  height: 72px !important;
  min-height: 72px !important;
  box-sizing: border-box !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: var(--meshbox-primary) !important;
  color: #ffffff !important;
  padding: 0 !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  text-align: center !important;
  cursor: pointer !important;
  box-shadow: none !important;
  appearance: none !important;
}

body main form.search-box > button:hover,
body main .search-box form button:hover,
body main .search-page .search-form button:hover {
  background: var(--meshbox-primary-hover) !important;
  color: #ffffff !important;
}

/* Focus state identical */
body main form.search-box > input[type="search"]:focus,
body main form.search-box > input[name="q"]:focus,
body main .search-box form input[type="search"]:focus,
body main .search-box form input[name="q"]:focus,
body main .search-page .search-form input[type="search"]:focus,
body main .search-page .search-form input[name="q"]:focus {
  border-color: #3182ce !important;
  box-shadow: 0 16px 42px rgba(49, 130, 206, 0.11), 0 0 0 3px rgba(66, 153, 225, 0.16) !important;
}

/* Home hero spacing adjusted so search box sits like search-web */
body main .hero {
  max-width: 1040px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

body main .hero h1 {
  color: var(--meshbox-primary) !important;
}

body main .hero p {
  color: var(--meshbox-text-muted) !important;
  margin-bottom: 30px !important;
}

/* Search-web title/form spacing */
body main .search-page .search-results-section h1 {
  text-align: center !important;
  margin-bottom: 30px !important;
}

body main .search-page .search-form {
  margin-bottom: 26px !important;
}

/* Mode buttons remain links, just aligned below identical searchbox */
body main .search-mode-tabs {
  width: min(960px, 100%) !important;
  margin: 0 auto 26px !important;
  display: flex !important;
  justify-content: center !important;
  gap: 10px !important;
  flex-wrap: wrap !important;
  pointer-events: auto !important;
}

body main .search-mode-tab {
  pointer-events: auto !important;
  cursor: pointer !important;
}

/* Mobile */
@media (max-width: 760px) {
  body main form.search-box,
  body main .search-box form,
  body main .search-page form.search-form {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  body main form.search-box > input[type="search"],
  body main form.search-box > input[name="q"],
  body main .search-box form input[type="search"],
  body main .search-box form input[name="q"],
  body main .search-page .search-form input[type="search"],
  body main .search-page .search-form input[name="q"],
  body main form.search-box > button,
  body main .search-box form button,
  body main .search-page .search-form button {
    width: 100% !important;
    min-width: 0 !important;
    height: 58px !important;
    min-height: 58px !important;
    line-height: 58px !important;
  }
}
/* meshbox-home-searchbox-match-searchweb-v1 END */

/* meshbox-city-dashboard-design-v1 START */
:root {
  --city-primary-bg: #f7fafc;
  --city-card-bg: #ffffff;
  --city-text-dark: #2d3748;
  --city-text-muted: #4a5568;
  --city-accent-main: #2b6cb0;
  --city-accent-light: #4299e1;
  --city-hero-grad: linear-gradient(135deg, #1a365d 0%, #2b6cb0 100%);
  --city-footer-bg: #eef3f0;
  --city-border: #e2e8f0;
  --city-radius-lg: 16px;
  --city-radius-md: 10px;
  --city-shadow-sm: 0 2px 4px rgba(0,0,0,0.04);
  --city-shadow-hover: 0 10px 15px rgba(0,0,0,0.05);
}

body {
  background-color: var(--city-primary-bg) !important;
}

.city-dashboard-page {
  width: 100%;
  color: var(--city-text-dark);
}

.city-dashboard-page .city-hero {
  background: var(--city-hero-grad) !important;
  padding: 60px 20px 80px !important;
  text-align: center !important;
  color: #ffffff !important;
  border-bottom-left-radius: 24px !important;
  border-bottom-right-radius: 24px !important;
  margin: -34px calc(50% - 50vw) -40px !important;
  box-shadow: none !important;
}

.city-dashboard-page .city-hero-inner {
  max-width: 840px !important;
  margin: 0 auto !important;
}

.city-dashboard-page .city-eyebrow {
  color: rgba(255,255,255,0.82) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.12em !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  margin-bottom: 10px !important;
}

.city-dashboard-page .city-hero h1 {
  color: #ffffff !important;
  font-size: clamp(34px, 5vw, 46px) !important;
  font-weight: 800 !important;
  line-height: 1.04 !important;
  letter-spacing: -1px !important;
  margin: 0 0 12px !important;
}

.city-dashboard-page .city-lead {
  color: rgba(255,255,255,0.92) !important;
  font-size: 17px !important;
  max-width: 650px !important;
  margin: 0 auto 30px !important;
  font-weight: 400 !important;
}

.city-dashboard-page .city-search {
  max-width: 720px !important;
  margin: 0 auto !important;
  position: relative !important;
  display: block !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

.city-dashboard-page .city-search input {
  width: 100% !important;
  height: 64px !important;
  padding: 0 135px 0 30px !important;
  font-size: 16px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 50px !important;
  background: #ffffff !important;
  color: var(--city-text-dark) !important;
  box-shadow: 0 4px 6px rgba(0,0,0,0.05) !important;
  outline: none !important;
}

.city-dashboard-page .city-search input:focus {
  border-color: var(--city-accent-light) !important;
  box-shadow: 0 8px 15px rgba(43,108,176,0.12) !important;
}

.city-dashboard-page .city-search button {
  position: absolute !important;
  right: 6px !important;
  top: 6px !important;
  bottom: 6px !important;
  min-width: 108px !important;
  height: auto !important;
  background: var(--city-text-dark) !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 40px !important;
  padding: 0 26px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  box-shadow: none !important;
}

.city-dashboard-page .city-search button:hover {
  background: #1a202c !important;
}

.city-dashboard-page .city-hero-links {
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  margin-top: 18px !important;
}

.city-dashboard-page .city-hero-links a {
  background: rgba(255,255,255,0.12) !important;
  border: 1px solid rgba(255,255,255,0.22) !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  padding: 7px 12px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
}

.city-dashboard-page .city-hero-links a:hover {
  background: rgba(255,255,255,0.22) !important;
}

.city-dashboard-page .city-page-grid.city-dashboard-grid {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 20px !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 25px !important;
  align-items: start !important;
}

@media (min-width: 900px) {
  .city-dashboard-page .city-page-grid.city-dashboard-grid {
    grid-template-columns: 280px minmax(0, 1fr) 280px !important;
  }
}

.city-dashboard-page .city-main,
.city-dashboard-page .city-sidebar,
.city-dashboard-page .city-dashboard-main,
.city-dashboard-page .city-dashboard-left,
.city-dashboard-page .city-dashboard-right {
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 25px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.city-dashboard-page .city-dashboard-card,
.city-dashboard-page .city-card,
.city-dashboard-page .city-side-card {
  background: var(--city-card-bg) !important;
  border-radius: var(--city-radius-lg) !important;
  padding: 24px !important;
  box-shadow: var(--city-shadow-sm) !important;
  border: 1px solid #edf2f7 !important;
}

.city-dashboard-page .city-services-card {
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  border: none !important;
}

.city-dashboard-page .city-services-card .section-head {
  background: #ffffff !important;
  padding: 20px !important;
  border-radius: var(--city-radius-lg) !important;
  box-shadow: var(--city-shadow-sm) !important;
  border: 1px solid #edf2f7 !important;
  margin-bottom: 15px !important;
}

.city-dashboard-page .section-head {
  display: block !important;
  margin-bottom: 18px !important;
}

.city-dashboard-page .section-kicker,
.city-dashboard-page .ad-label {
  color: var(--city-accent-main) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  margin: 0 0 6px !important;
}

.city-dashboard-page .city-card h2,
.city-dashboard-page .city-side-card h2,
.city-dashboard-page .section-head h2 {
  font-size: 16px !important;
  font-weight: 800 !important;
  margin: 0 0 16px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: var(--city-text-dark) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
}

.city-dashboard-page .city-card-subtitle {
  margin-top: 30px !important;
}

.city-dashboard-page .city-side-card p,
.city-dashboard-page .city-card p {
  color: var(--city-text-muted) !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
}

.city-dashboard-page .sidebar-link-list,
.city-dashboard-page .city-daily-links,
.city-dashboard-page .city-news-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

.city-dashboard-page .sidebar-link-list a,
.city-dashboard-page .sidebar-link-list span {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 12px 16px !important;
  background: #f8fafc !important;
  border-radius: var(--city-radius-md) !important;
  text-decoration: none !important;
  color: var(--city-text-dark) !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  transition: all 0.2s ease !important;
  border: 1px solid transparent !important;
}

.city-dashboard-page .city-news-list a {
  padding: 4px 0 !important;
  background: transparent !important;
  color: var(--city-text-muted) !important;
  border-radius: 0 !important;
}

.city-dashboard-page .city-news-list a::before {
  content: "■" !important;
  color: #cbd5e0 !important;
  font-size: 10px !important;
}

.city-dashboard-page .sidebar-link-list a:hover {
  background: #ffffff !important;
  border-color: #e2e8f0 !important;
  box-shadow: var(--city-shadow-sm) !important;
  color: var(--city-accent-main) !important;
}

.city-dashboard-page .city-news-list a:hover::before {
  color: var(--city-accent-main) !important;
}

.city-dashboard-page .daily-icon {
  width: 20px !important;
  display: inline-flex !important;
  justify-content: center !important;
  font-size: 17px !important;
}

.city-dashboard-page .service-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(112px, 1fr)) !important;
  gap: 15px !important;
}

.city-dashboard-page .service-tile {
  background: #f8fafc !important;
  border-radius: var(--city-radius-md) !important;
  padding: 20px 10px !important;
  text-align: center !important;
  text-decoration: none !important;
  color: var(--city-text-dark) !important;
  transition: all 0.2s ease !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 10px !important;
  border: 1px solid #edf2f7 !important;
  box-shadow: none !important;
}

.city-dashboard-page .service-tile::before {
  content: "•" !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 999px !important;
  background: #edf2f7 !important;
  color: var(--city-accent-main) !important;
  font-size: 20px !important;
  line-height: 1 !important;
}

.city-dashboard-page .service-tile:hover {
  background: #ffffff !important;
  border-color: var(--city-accent-light) !important;
  box-shadow: var(--city-shadow-hover) !important;
  transform: translateY(-2px) !important;
}

.city-dashboard-page .service-tile span {
  font-size: 13px !important;
  font-weight: 700 !important;
}

.city-dashboard-page .service-tile small {
  font-size: 11px !important;
  color: var(--city-text-muted) !important;
  background: #edf2f7 !important;
  padding: 4px 8px !important;
  border-radius: 12px !important;
}

.city-dashboard-page .city-dashboard-wide,
.city-dashboard-page .city-business-section,
.city-dashboard-page .city-community-banner,
.city-dashboard-page .city-register-card {
  max-width: 1200px !important;
  margin: 25px auto 0 !important;
  width: calc(100% - 40px) !important;
}

.city-dashboard-page .business-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important;
  gap: 20px !important;
}

.city-dashboard-page .business-card,
.city-dashboard-page .local-mini-card {
  background: var(--city-card-bg) !important;
  border-radius: var(--city-radius-md) !important;
  padding: 20px !important;
  border: 1px solid #e2e8f0 !important;
  transition: all 0.2s ease !important;
  box-shadow: none !important;
}

.city-dashboard-page .business-card:hover,
.city-dashboard-page .local-mini-card:hover {
  border-color: #cbd5e0 !important;
  box-shadow: var(--city-shadow-sm) !important;
}

.city-dashboard-page .business-card h3,
.city-dashboard-page .local-mini-card strong {
  font-weight: 700 !important;
  font-size: 15px !important;
  margin: 0 0 4px !important;
  color: var(--city-text-dark) !important;
}

.city-dashboard-page .business-card a,
.city-dashboard-page .local-mini-card a {
  font-size: 13px !important;
  color: var(--city-accent-main) !important;
  text-decoration: none !important;
  margin-bottom: 8px !important;
  display: block !important;
}

.city-dashboard-page .business-card a:hover,
.city-dashboard-page .local-mini-card a:hover {
  text-decoration: underline !important;
}

.city-dashboard-page .business-card p,
.city-dashboard-page .local-mini-card p {
  font-size: 12px !important;
  color: var(--city-text-muted) !important;
}

.city-dashboard-page .local-card-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  gap: 15px !important;
}

.city-dashboard-page .city-community-banner {
  background: #e6fffa !important;
  border: 1px solid #b2f5ea !important;
  border-radius: var(--city-radius-lg) !important;
  padding: 30px !important;
  text-align: center !important;
  color: #234e52 !important;
  box-shadow: none !important;
}

.city-dashboard-page .city-community-banner h2 {
  color: #234e52 !important;
  justify-content: center !important;
  font-size: 20px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin-bottom: 8px !important;
}

.city-dashboard-page .city-community-banner p {
  color: #234e52 !important;
  font-size: 15px !important;
}

.city-dashboard-page .city-community-banner .side-link {
  display: inline-block !important;
  background: #319795 !important;
  color: #ffffff !important;
  text-decoration: none !important;
  padding: 10px 24px !important;
  border-radius: 50px !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  margin-top: 16px !important;
}

.city-dashboard-page .city-community-banner .side-link:hover {
  background: #2c7a7b !important;
}

.city-dashboard-page .city-register-card {
  background: #ffffff !important;
  border: 1px solid #edf2f7 !important;
  border-radius: var(--city-radius-lg) !important;
  text-align: center !important;
}

.city-dashboard-page .city-overview-list {
  display: grid !important;
  gap: 10px !important;
}

.city-dashboard-page .city-overview-list li {
  background: #f8fafc !important;
  border: 1px solid #edf2f7 !important;
  border-radius: var(--city-radius-md) !important;
  padding: 12px 14px !important;
}

.site-footer {
  background: var(--city-footer-bg, #eef3f0) !important;
  border-top: 1px solid #dde7e2 !important;
}

@media (max-width: 760px) {
  .city-dashboard-page .city-hero {
    padding: 42px 14px 64px !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }

  .city-dashboard-page .city-search input {
    height: 58px !important;
    padding: 0 22px !important;
  }

  .city-dashboard-page .city-search button {
    position: static !important;
    width: 100% !important;
    height: 52px !important;
    margin-top: 10px !important;
  }

  .city-dashboard-page .city-dashboard-wide,
  .city-dashboard-page .city-business-section,
  .city-dashboard-page .city-community-banner,
  .city-dashboard-page .city-register-card {
    width: calc(100% - 24px) !important;
  }
}
/* meshbox-city-dashboard-design-v1 END */

/* meshbox-home-submit-actual-selectors-design-v3 START */

/* Frontpage: verified .clean-home / .clean-search */
.clean-home.home-dashboard-page {
  background: linear-gradient(135deg, #1a365d 0%, #2b6cb0 100%) !important;
  color: #ffffff !important;
  border-radius: 24px !important;
  padding: 62px 20px 52px !important;
  margin: -34px auto 34px !important;
  width: min(1120px, 100%) !important;
  box-shadow: 0 18px 45px rgba(26, 54, 93, 0.14) !important;
  text-align: center !important;
}

.clean-home.home-dashboard-page .clean-home-inner {
  max-width: 820px !important;
  margin: 0 auto !important;
}

.clean-home.home-dashboard-page h1 {
  color: #ffffff !important;
  font-size: clamp(38px, 6vw, 54px) !important;
  line-height: 1.02 !important;
  letter-spacing: -1.4px !important;
  font-weight: 850 !important;
  margin: 0 0 12px !important;
}

.clean-home.home-dashboard-page .clean-tagline {
  color: rgba(255,255,255,0.92) !important;
  font-size: 17px !important;
  max-width: 640px !important;
  margin: 0 auto 28px !important;
}

.clean-home.home-dashboard-page .clean-search.home-main-search,
.clean-home.home-dashboard-page .clean-search {
  max-width: 700px !important;
  margin: 0 auto !important;
  position: relative !important;
  display: block !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

.clean-home.home-dashboard-page .clean-search input {
  width: 100% !important;
  height: 64px !important;
  border-radius: 999px !important;
  border: 1px solid #e2e8f0 !important;
  background: #ffffff !important;
  color: #2d3748 !important;
  padding: 0 132px 0 28px !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  outline: none !important;
  box-shadow: 0 6px 18px rgba(15, 23, 42, 0.08) !important;
}

.clean-home.home-dashboard-page .clean-search input:focus {
  border-color: #4299e1 !important;
  box-shadow: 0 10px 24px rgba(43,108,176,0.18) !important;
}

.clean-home.home-dashboard-page .clean-search button {
  position: absolute !important;
  top: 6px !important;
  right: 6px !important;
  bottom: 6px !important;
  min-width: 108px !important;
  height: auto !important;
  border-radius: 999px !important;
  background: #2d3748 !important;
  color: #ffffff !important;
  border: 0 !important;
  padding: 0 24px !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  box-shadow: none !important;
}

.clean-home.home-dashboard-page .clean-search button:hover {
  background: #1a202c !important;
}

.clean-home.home-dashboard-page .beta-info-box {
  margin: 34px auto 0 !important;
  max-width: 760px !important;
  background: rgba(255,255,255,0.12) !important;
  border: 1px solid rgba(255,255,255,0.22) !important;
  color: rgba(255,255,255,0.92) !important;
  border-radius: 18px !important;
  padding: 22px 24px !important;
  text-align: left !important;
  box-shadow: none !important;
}

.clean-home.home-dashboard-page .beta-info-box h2 {
  color: #ffffff !important;
  font-size: 17px !important;
  line-height: 1.28 !important;
  letter-spacing: 0 !important;
  margin: 0 0 10px !important;
}

.clean-home.home-dashboard-page .beta-info-box p {
  color: rgba(255,255,255,0.88) !important;
  font-size: 14px !important;
  line-height: 1.58 !important;
}

.clean-home.home-dashboard-page .clean-examples {
  margin-top: 22px !important;
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.clean-home.home-dashboard-page .clean-examples a {
  background: rgba(255,255,255,0.12) !important;
  border: 1px solid rgba(255,255,255,0.22) !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  padding: 8px 13px !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}

.clean-home.home-dashboard-page .clean-links {
  margin-top: 18px !important;
}

.clean-home.home-dashboard-page .clean-links a {
  color: #ffffff !important;
  background: rgba(255,255,255,0.18) !important;
  border: 1px solid rgba(255,255,255,0.25) !important;
  border-radius: 999px !important;
  padding: 9px 15px !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

/* Register website: verified .page-head + form.panel.form */
.page-head.submit-page-head {
  max-width: 820px !important;
  margin: 0 auto 18px !important;
  padding: 34px 0 10px !important;
  text-align: center !important;
}

.page-head.submit-page-head h1 {
  font-size: clamp(30px, 4vw, 42px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.9px !important;
  font-weight: 850 !important;
  color: #2d3748 !important;
  margin: 0 0 12px !important;
}

.page-head.submit-page-head p {
  color: #4a5568 !important;
  font-size: 16px !important;
  line-height: 1.62 !important;
  max-width: 720px !important;
  margin: 0 auto !important;
}

form.panel.form.submit-form {
  max-width: 760px !important;
  margin: 24px auto 54px !important;
  padding: 28px !important;
  background: #ffffff !important;
  border: 1px solid #edf2f7 !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 26px rgba(26,54,93,0.07) !important;
  display: grid !important;
  gap: 12px !important;
}

form.panel.form.submit-form label {
  color: #2d3748 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 0.01em !important;
  margin-top: 4px !important;
}

form.panel.form.submit-form input,
form.panel.form.submit-form select,
form.panel.form.submit-form textarea {
  width: 100% !important;
  background: #f8fafc !important;
  border: 1px solid #dbe7f7 !important;
  color: #2d3748 !important;
  border-radius: 14px !important;
  padding: 13px 15px !important;
  font-size: 15px !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.8) !important;
  outline: none !important;
}

form.panel.form.submit-form input:focus,
form.panel.form.submit-form select:focus,
form.panel.form.submit-form textarea:focus {
  background: #ffffff !important;
  border-color: #4299e1 !important;
  box-shadow: 0 0 0 4px rgba(66,153,225,0.13) !important;
}

form.panel.form.submit-form .small-help,
form.panel.form.submit-form .muted {
  color: #64748b !important;
  font-size: 13px !important;
  margin: -4px 0 4px !important;
}

form.panel.form.submit-form .two {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px !important;
}

form.panel.form.submit-form .check {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  padding: 12px 14px !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  line-height: 1.45 !important;
  color: #4a5568 !important;
}

form.panel.form.submit-form .check input {
  width: auto !important;
  margin-top: 3px !important;
  accent-color: #2b6cb0 !important;
}

form.panel.form.submit-form button {
  margin-top: 10px !important;
  justify-self: start !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #2d3748 !important;
  color: #ffffff !important;
  padding: 13px 24px !important;
  font-size: 15px !important;
  font-weight: 850 !important;
  box-shadow: none !important;
}

form.panel.form.submit-form button:hover {
  background: #1a202c !important;
}

.site-footer {
  background: #eef3f0 !important;
  border-top: 1px solid #dde7e2 !important;
}

@media (max-width: 760px) {
  .clean-home.home-dashboard-page {
    padding: 44px 14px 36px !important;
    margin-top: -24px !important;
  }

  .clean-home.home-dashboard-page .clean-search input {
    height: 58px !important;
    padding: 0 22px !important;
  }

  .clean-home.home-dashboard-page .clean-search button {
    position: static !important;
    width: 100% !important;
    height: 52px !important;
    margin-top: 10px !important;
  }

  form.panel.form.submit-form {
    padding: 20px !important;
    margin-bottom: 36px !important;
  }

  form.panel.form.submit-form .two {
    grid-template-columns: 1fr !important;
  }
}

/* meshbox-home-submit-actual-selectors-design-v3 END */

/* meshbox-firmaside-cities-actual-templates-design-v1 START */

/* Opret firmaside: exact template firmaside_register.html */
.firmaside-dashboard-page {
  max-width: 1120px !important;
  margin: -34px auto 54px !important;
  padding: 0 0 20px !important;
}

.firmaside-dashboard-page > h1 {
  max-width: 820px !important;
  margin: 0 auto !important;
  padding: 58px 20px 12px !important;
  text-align: center !important;
  color: #2d3748 !important;
  font-size: clamp(32px, 5vw, 46px) !important;
  line-height: 1.05 !important;
  letter-spacing: -1.1px !important;
  font-weight: 850 !important;
}

.firmaside-dashboard-page > h1 + p {
  max-width: 760px !important;
  margin: 0 auto 28px !important;
  padding: 0 20px !important;
  text-align: center !important;
  color: #4a5568 !important;
  font-size: 16px !important;
  line-height: 1.62 !important;
}

.firmaside-dashboard-info {
  max-width: 860px !important;
  margin: 0 auto 26px !important;
  padding: 24px 26px !important;
  background: #ffffff !important;
  border: 1px solid #edf2f7 !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 26px rgba(26,54,93,0.07) !important;
  color: #4a5568 !important;
}

.firmaside-dashboard-info h2 {
  color: #2d3748 !important;
  font-size: 19px !important;
  line-height: 1.25 !important;
  margin: 0 0 14px !important;
  letter-spacing: -0.2px !important;
}

.firmaside-dashboard-info ol {
  display: grid !important;
  gap: 8px !important;
  margin: 0 0 16px 20px !important;
  padding: 0 !important;
}

.firmaside-dashboard-info li,
.firmaside-dashboard-info p {
  color: #4a5568 !important;
  font-size: 14px !important;
  line-height: 1.58 !important;
}

.firmaside-dashboard-form {
  max-width: 860px !important;
  margin: 0 auto 24px !important;
  padding: 28px !important;
  background: #ffffff !important;
  border: 1px solid #edf2f7 !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 26px rgba(26,54,93,0.07) !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 16px 18px !important;
}

.firmaside-dashboard-form label {
  display: grid !important;
  gap: 7px !important;
  color: #2d3748 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 0.01em !important;
}

.firmaside-dashboard-form label:has(textarea),
.firmaside-dashboard-form label:has(select),
.firmaside-dashboard-form label:nth-last-of-type(1) {
  grid-column: 1 / -1 !important;
}

.firmaside-dashboard-form input,
.firmaside-dashboard-form select,
.firmaside-dashboard-form textarea {
  width: 100% !important;
  background: #f8fafc !important;
  border: 1px solid #dbe7f7 !important;
  color: #2d3748 !important;
  border-radius: 14px !important;
  padding: 13px 15px !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  outline: none !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.8) !important;
}

.firmaside-dashboard-form input[type="file"] {
  padding: 11px 13px !important;
  background: #ffffff !important;
}

.firmaside-dashboard-form input:focus,
.firmaside-dashboard-form select:focus,
.firmaside-dashboard-form textarea:focus {
  background: #ffffff !important;
  border-color: #4299e1 !important;
  box-shadow: 0 0 0 4px rgba(66,153,225,0.13) !important;
}

.firmaside-dashboard-form button {
  grid-column: 1 / -1 !important;
  justify-self: start !important;
  margin-top: 8px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: #2d3748 !important;
  color: #ffffff !important;
  padding: 13px 25px !important;
  font-size: 15px !important;
  font-weight: 850 !important;
  box-shadow: none !important;
}

.firmaside-dashboard-form button:hover {
  background: #1a202c !important;
}

.firmaside-dashboard-page > .muted {
  max-width: 860px !important;
  margin: 0 auto !important;
  color: #64748b !important;
  font-size: 14px !important;
  line-height: 1.55 !important;
  text-align: center !important;
}

/* Byer: exact template cities.html */
.cities-dashboard-page {
  max-width: 1180px !important;
  margin: -34px auto 54px !important;
  padding: 46px 20px 34px !important;
  background: #ffffff !important;
  border: 1px solid #edf2f7 !important;
  border-radius: 22px !important;
  box-shadow: 0 8px 26px rgba(26,54,93,0.07) !important;
}

.cities-dashboard-page .cities-dashboard-kicker,
.cities-dashboard-page .result-count {
  color: #2b6cb0 !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.09em !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  margin: 0 0 10px !important;
}

.cities-dashboard-page > p {
  max-width: 720px !important;
  color: #4a5568 !important;
  font-size: 16px !important;
  line-height: 1.62 !important;
  margin: 0 0 26px !important;
}

.cities-dashboard-page h2 {
  color: #2d3748 !important;
  font-size: 20px !important;
  line-height: 1.25 !important;
  letter-spacing: -0.3px !important;
  margin: 26px 0 14px !important;
}

.cities-dashboard-page .clean-examples {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(128px, 1fr)) !important;
  gap: 10px !important;
  margin: 0 0 10px !important;
  align-items: stretch !important;
}

.cities-dashboard-page .clean-examples a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 10px 12px !important;
  background: #f8fafc !important;
  border: 1px solid #edf2f7 !important;
  color: #2d3748 !important;
  border-radius: 12px !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  text-align: center !important;
  box-shadow: none !important;
}

.cities-dashboard-page .clean-examples a:hover {
  background: #ffffff !important;
  border-color: #4299e1 !important;
  color: #2b6cb0 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 16px rgba(43,108,176,0.08) !important;
}

.site-footer {
  background: #eef3f0 !important;
  border-top: 1px solid #dde7e2 !important;
}

@media (max-width: 760px) {
  .firmaside-dashboard-page,
  .cities-dashboard-page {
    margin-top: -24px !important;
  }

  .firmaside-dashboard-form {
    grid-template-columns: 1fr !important;
    padding: 20px !important;
  }

  .firmaside-dashboard-form label {
    grid-column: 1 / -1 !important;
  }

  .cities-dashboard-page {
    padding: 30px 14px 24px !important;
  }

  .cities-dashboard-page .clean-examples {
    grid-template-columns: repeat(auto-fill, minmax(112px, 1fr)) !important;
  }
}

/* meshbox-firmaside-cities-actual-templates-design-v1 END */

/* meshbox-cities-heading-polish START */
.cities-dashboard-page .cities-dashboard-kicker {
  color: #2b6cb0 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  margin: 0 0 10px !important;
}

.cities-dashboard-page .cities-dashboard-title {
  color: #2d3748 !important;
  font-size: clamp(34px, 5vw, 52px) !important;
  line-height: 1.04 !important;
  letter-spacing: -1.1px !important;
  font-weight: 880 !important;
  margin: 0 0 14px !important;
}

.cities-dashboard-page .cities-dashboard-lead {
  max-width: 780px !important;
  color: #4a5568 !important;
  font-size: 18px !important;
  line-height: 1.65 !important;
  margin: 0 0 32px !important;
}

.cities-dashboard-page h2 {
  font-size: 23px !important;
  margin-top: 34px !important;
}

@media (max-width: 760px) {
  .cities-dashboard-page .cities-dashboard-title {
    font-size: 34px !important;
  }

  .cities-dashboard-page .cities-dashboard-lead {
    font-size: 16px !important;
  }
}
/* meshbox-cities-heading-polish END */

/* meshbox-cities-h1-h2-center START */
.cities-dashboard-page {
  text-align: center !important;
}

.cities-dashboard-page .cities-dashboard-title {
  color: #2d3748 !important;
  font-size: clamp(36px, 5vw, 50px) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.8px !important;
  font-weight: 820 !important;
  margin: 0 auto 14px !important;
  max-width: 820px !important;
}

.cities-dashboard-page .cities-dashboard-subtitle {
  color: #4a5568 !important;
  font-size: clamp(17px, 2.2vw, 21px) !important;
  line-height: 1.55 !important;
  letter-spacing: -0.15px !important;
  font-weight: 520 !important;
  margin: 0 auto 34px !important;
  max-width: 780px !important;
}

.cities-dashboard-page > h2:not(.cities-dashboard-subtitle) {
  text-align: left !important;
}

.cities-dashboard-page .clean-examples {
  text-align: left !important;
}

@media (max-width: 760px) {
  .cities-dashboard-page .cities-dashboard-title {
    font-size: 34px !important;
  }

  .cities-dashboard-page .cities-dashboard-subtitle {
    font-size: 16px !important;
  }
}
/* meshbox-cities-h1-h2-center END */

/* meshbox-cities-local-filter-search START */
.cities-dashboard-page .cities-local-filter {
  max-width: 680px !important;
  margin: 0 auto 36px !important;
  text-align: center !important;
}

.cities-dashboard-page .cities-local-filter label {
  display: block !important;
  color: #2d3748 !important;
  font-size: 15px !important;
  font-weight: 850 !important;
  margin: 0 0 10px !important;
}

.cities-dashboard-page .cities-local-filter input {
  width: 100% !important;
  background: #ffffff !important;
  border: 1px solid #dbe7f7 !important;
  color: #2d3748 !important;
  border-radius: 999px !important;
  padding: 15px 20px !important;
  font-size: 17px !important;
  font-weight: 550 !important;
  outline: none !important;
  box-shadow: 0 8px 22px rgba(26,54,93,0.07) !important;
}

.cities-dashboard-page .cities-local-filter input:focus {
  border-color: #4299e1 !important;
  box-shadow: 0 0 0 4px rgba(66,153,225,0.13), 0 8px 22px rgba(26,54,93,0.07) !important;
}

.cities-dashboard-page .cities-filter-status {
  min-height: 22px !important;
  margin: 10px 0 0 !important;
  color: #64748b !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

.cities-dashboard-page .clean-examples a[hidden],
.cities-dashboard-page .clean-examples[hidden],
.cities-dashboard-page h2[hidden] {
  display: none !important;
}
/* meshbox-cities-local-filter-search END */

/* meshbox-cities-paged-grid-12 START */
.cities-dashboard-page {
  max-width: 1080px !important;
  padding-left: clamp(22px, 4vw, 46px) !important;
  padding-right: clamp(22px, 4vw, 46px) !important;
}

.cities-dashboard-page .clean-examples {
  max-width: 920px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.cities-dashboard-page .clean-examples a {
  min-height: 48px !important;
  padding: 12px 16px !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
  border-radius: 14px !important;
  justify-content: center !important;
}

.cities-dashboard-page > h2:not(.cities-dashboard-subtitle) {
  max-width: 920px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: left !important;
}

.cities-dashboard-page .cities-pager {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  margin: 16px auto 0 !important;
  flex-wrap: wrap !important;
}

.cities-dashboard-page .cities-pager button {
  border: 1px solid #dbe7f7 !important;
  background: #ffffff !important;
  color: #2d3748 !important;
  border-radius: 999px !important;
  padding: 9px 16px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  cursor: pointer !important;
}

.cities-dashboard-page .cities-pager button:hover:not(:disabled) {
  border-color: #4299e1 !important;
  color: #2b6cb0 !important;
}

.cities-dashboard-page .cities-pager button:disabled {
  opacity: 0.45 !important;
  cursor: default !important;
}

.cities-dashboard-page .cities-pager span {
  color: #64748b !important;
  font-size: 14px !important;
  font-weight: 750 !important;
}

@media (max-width: 840px) {
  .cities-dashboard-page .clean-examples {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 640px !important;
  }
}

@media (max-width: 520px) {
  .cities-dashboard-page .clean-examples {
    grid-template-columns: 1fr !important;
  }
}

/* meshbox-web-section-buttons-v1 */
.web-section-buttons {
  width: min(760px, 100%) !important;
  margin: 0 auto 24px !important;
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.web-section-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  padding: 7px 15px !important;
  border-radius: 999px !important;
  border: 1px solid #d6dee8 !important;
  background: #ffffff !important;
  color: var(--meshbox-primary, #1a365d) !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
}

.web-section-button:hover {
  background: #edf2f7 !important;
  color: var(--meshbox-primary, #1a365d) !important;
  text-decoration: none !important;
}

.web-section-button.active {
  background: var(--meshbox-primary, #1a365d) !important;
  color: #ffffff !important;
  border-color: var(--meshbox-primary, #1a365d) !important;
}

.web-section-button.clear {
  background: #f8fafc !important;
  color: #64748b !important;
}

.web-section-button.clear:hover {
  background: #e2e8f0 !important;
  color: #1a365d !important;
}

@media (max-width: 720px) {
  .web-section-buttons {
    width: 100% !important;
    justify-content: flex-start !important;
    margin-bottom: 18px !important;
  }

  .web-section-button {
    font-size: 13px !important;
    padding: 7px 12px !important;
  }
}
/* meshbox-cities-paged-grid-12 END */

/* home-live-quicklinks-clean-accessible-v1 */
.home-live-quicklinks {
  width: min(820px, calc(100% - 24px));
  margin: 18px auto 0;
  padding: 16px;
  border: 1px solid rgba(191, 219, 254, 0.72);
  border-radius: 22px;
  background: rgba(239, 246, 255, 0.88);
  box-shadow: none;
  text-align: left;
}

.home-live-quicklinks h2 {
  margin: 0 0 6px;
  color: #0f172a;
  font-size: 20px;
  line-height: 1.25;
  font-weight: 700;
}

.home-live-quicklinks p {
  margin: 0 0 12px;
  color: #334155;
  font-size: 15px;
  line-height: 1.45;
}

.home-live-quicklink-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.home-live-quicklink-card {
  display: block;
  min-height: 68px;
  padding: 14px 16px;
  border: 1px solid rgba(148, 163, 184, 0.34);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.96);
  color: #0f172a;
  text-decoration: none;
  box-shadow: none;
}

.home-live-quicklink-card strong {
  display: block;
  margin-bottom: 4px;
  color: #0f172a;
  font-size: 17px;
  line-height: 1.25;
  font-weight: 700;
}

.home-live-quicklink-card span {
  display: block;
  color: #334155;
  font-size: 15px;
  line-height: 1.35;
}

.home-live-quicklink-card small {
  display: block;
  margin-top: 6px;
  color: #2563eb;
  font-size: 14px;
  line-height: 1.25;
  font-weight: 650;
}

.home-live-quicklink-card:hover {
  background: #eff6ff;
  border-color: #60a5fa;
  transform: none;
}

@media (max-width: 560px) {
  .home-live-quicklink-grid {
    grid-template-columns: 1fr;
  }
}


/* home-live-quicklinks-design-final-v1 */
.home-live-quicklinks {
  width: min(820px, calc(100% - 24px)) !important;
  margin: 18px auto 0 !important;
  padding: 16px !important;
  border: 1px solid rgba(147, 197, 253, 0.65) !important;
  border-radius: 20px !important;
  background: #f8fbff !important;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06) !important;
  text-align: left !important;
}

.home-live-quicklinks h2 {
  margin: 0 0 6px !important;
  color: #0f172a !important;
  font-size: 21px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
}

.home-live-quicklinks p {
  margin: 0 0 12px !important;
  color: #475569 !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
}

.home-live-quicklink-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.home-live-quicklink-card {
  display: block !important;
  min-height: 74px !important;
  padding: 15px 17px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 15px !important;
  background: #ffffff !important;
  color: #0f172a !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.home-live-quicklink-card strong {
  display: block !important;
  margin-bottom: 4px !important;
  color: #0f172a !important;
  font-size: 18px !important;
  line-height: 1.25 !important;
  font-weight: 700 !important;
}

.home-live-quicklink-card span {
  display: block !important;
  color: #334155 !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
}

.home-live-quicklink-card small {
  display: block !important;
  margin-top: 6px !important;
  color: #2563eb !important;
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 650 !important;
}

.home-live-quicklink-card:hover {
  background: #eff6ff !important;
  border-color: #3b82f6 !important;
}

@media (max-width: 560px) {
  .home-live-quicklink-grid {
    grid-template-columns: 1fr !important;
  }

  .home-live-quicklink-card {
    min-height: 78px !important;
  }
}


/* search-web-full-white-width-v1 */
.search-page {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background: #ffffff;
}

.search-main {
  width: min(1180px, calc(100% - 32px));
  margin-left: auto;
  margin-right: auto;
}

/* search-web-live-quicklinks-v1 */
.search-web-live-quicklinks {
  width: min(820px, calc(100% - 24px));
  margin: 18px auto 0;
  padding: 16px;
  border: 1px solid rgba(147, 197, 253, 0.65);
  border-radius: 20px;
  background: #f8fbff;
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
  text-align: left;
}

.search-web-live-quicklinks h2 {
  margin: 0 0 6px;
  color: #0f172a;
  font-size: 21px;
  line-height: 1.25;
  font-weight: 700;
}

.search-web-live-quicklinks p {
  margin: 0 0 12px;
  color: #475569;
  font-size: 16px;
  line-height: 1.45;
}

.search-web-live-quicklink-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.search-web-live-quicklink-card {
  display: block;
  min-height: 74px;
  padding: 15px 17px;
  border: 1px solid #cbd5e1;
  border-radius: 15px;
  background: #ffffff;
  color: #0f172a;
  text-decoration: none;
  box-shadow: none;
}

.search-web-live-quicklink-card strong {
  display: block;
  margin-bottom: 4px;
  color: #0f172a;
  font-size: 18px;
  line-height: 1.25;
  font-weight: 700;
}

.search-web-live-quicklink-card span {
  display: block;
  color: #334155;
  font-size: 15px;
  line-height: 1.35;
}

.search-web-live-quicklink-card small {
  display: block;
  margin-top: 6px;
  color: #2563eb;
  font-size: 14px;
  line-height: 1.25;
  font-weight: 650;
}

.search-web-live-quicklink-card:hover {
  background: #eff6ff;
  border-color: #3b82f6;
}

@media (max-width: 560px) {
  .search-web-live-quicklink-grid {
    grid-template-columns: 1fr;
  }
}

/* meshbox-home-neutral-white-final-v1 */
.clean-home.home-dashboard-page {
  background: #ffffff !important;
  color: #111827 !important;
  border: 1px solid #e5e7eb !important;
  border-radius: 24px !important;
  box-shadow: none !important;
}

.clean-home.home-dashboard-page .clean-home-inner {
  color: #111827 !important;
}

.clean-home.home-dashboard-page h1,
.clean-home.home-dashboard-page .clean-tagline,
.clean-home.home-dashboard-page .beta-info-box h2 {
  color: #111827 !important;
  text-shadow: none !important;
}

.clean-home.home-dashboard-page .beta-info-box {
  background: #ffffff !important;
  color: #111827 !important;
  border: 1px solid #e5e7eb !important;
  box-shadow: none !important;
}

.clean-home.home-dashboard-page .clean-search.home-main-search,
.clean-home.home-dashboard-page .clean-search {
  background: #ffffff !important;
  border: 1px solid #d1d5db !important;
  box-shadow: none !important;
}

.clean-home.home-dashboard-page .clean-search input {
  background: #ffffff !important;
  color: #111827 !important;
  border: 0 !important;
  box-shadow: none !important;
}

.clean-home.home-dashboard-page .clean-search input::placeholder {
  color: #6b7280 !important;
}

.clean-home.home-dashboard-page .clean-search button,
.clean-home.home-dashboard-page .clean-examples a,
.clean-home.home-dashboard-page .clean-links a {
  background: #f3f4f6 !important;
  color: #111827 !important;
  border: 1px solid #d1d5db !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

.clean-home.home-dashboard-page .clean-search button:hover,
.clean-home.home-dashboard-page .clean-examples a:hover,
.clean-home.home-dashboard-page .clean-links a:hover {
  background: #e5e7eb !important;
  color: #111827 !important;
  border-color: #cbd5e1 !important;
}
