/* ZVGPro 8.9.66 — UI Polish
   Visual-only overrides. No data, auth, payment or sync logic is changed. */

:root{
  --ui-bg:#f4f7fb;
  --ui-panel:#ffffff;
  --ui-navy:#10243d;
  --ui-muted:#60758a;
  --ui-line:#dce5ef;
  --ui-soft:#f7f9fc;
  --ui-blue:#4665d8;
  --ui-blue-dark:#3653c5;
  --ui-shadow:0 10px 28px rgba(16,36,61,.055);
  --ui-shadow-hover:0 12px 30px rgba(16,36,61,.09);
}

html{scroll-behavior:smooth;scroll-padding-top:92px}
body{background:var(--ui-bg)!important}
#suche,#karte,#ergebnisse,#ueber-zvgpro{scroll-margin-top:92px}

/* ---------- Header: calmer, more compact, more premium ---------- */
@media(min-width:981px){
  .topbar.v2-header{
    height:82px!important;
    min-height:82px!important;
    grid-template-columns:minmax(250px,280px) 1fr auto!important;
    padding:0 clamp(24px,3vw,48px)!important;
    border-bottom:1px solid rgba(255,255,255,.08)!important;
    box-shadow:0 4px 18px rgba(3,18,35,.10)!important;
  }
  .v2-header .zvgpro-header-logo{
    width:250px!important;
    max-width:250px!important;
    height:auto!important;
  }
  .v2-header .v2-primary-nav{gap:18px!important}
  .v2-header .v23-primary-nav :is(a,button),
  .v2-header .v2-primary-nav :is(a,button){
    padding:10px 2px!important;
    font-size:13px!important;
    font-weight:760!important;
    letter-spacing:-.01em!important;
  }
  .v2-header .v23-primary-nav :is(a,button)::after,
  .v2-header .v2-primary-nav :is(a,button)::after{left:0!important;right:0!important;bottom:3px!important}
  .v2-header .top-actions{gap:8px!important}
  .v2-header .account-btn{min-height:42px!important;border-radius:11px!important;padding:0 14px!important}
  .v2-header .top-upgrade{min-height:42px!important;border-radius:11px!important;padding:0 15px!important}
}

/* ---------- Main frame ---------- */
.main.premium-home{
  width:min(1500px,100%)!important;
  margin:0 auto!important;
  padding:28px clamp(18px,2.7vw,42px) 56px!important;
}

/* ---------- Main cockpit ---------- */
.showcase-hero.v2-cockpit{gap:14px!important;margin-bottom:16px!important}
.v2-cockpit-main{
  padding:27px 28px 25px!important;
  border-radius:18px!important;
  border:1px solid var(--ui-line)!important;
  box-shadow:var(--ui-shadow)!important;
}
.v2-welcome-row{align-items:center!important;margin-bottom:20px!important}
.v2-cockpit .eyebrow{font-size:10px!important;color:var(--ui-blue)!important}
.v2-cockpit h1{
  font-size:clamp(32px,2.65vw,42px)!important;
  line-height:1.04!important;
  margin:7px 0 7px!important;
  color:var(--ui-navy)!important;
}
.v2-cockpit .v2-welcome-row p{font-size:14px!important;color:var(--ui-muted)!important}
.v2-live-pill{
  min-width:174px!important;
  padding:10px 12px!important;
  border:1px solid #e1e8f1!important;
  background:#f9fbfe!important;
  border-radius:12px!important;
}
.v2-live-pill small{font-size:9px!important;color:#6c8095!important}
.v2-live-pill strong{font-size:12px!important;color:var(--ui-navy)!important}

/* Search reads as one tool, not five unrelated boxes. */
.hero-search.v2-command-search{
  grid-template-columns:minmax(270px,1.6fr) minmax(170px,.9fr) minmax(170px,.82fr) minmax(205px,.92fr)!important;
  gap:9px!important;
  padding:10px!important;
  border-radius:16px!important;
  border:1px solid #e0e8f1!important;
  background:#f6f8fb!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75)!important;
}
.v2-command-search .hero-search-field{
  min-height:64px!important;
  padding:9px 11px!important;
  border:1px solid #e2e8f0!important;
  border-radius:11px!important;
  background:#fff!important;
  box-shadow:0 1px 1px rgba(16,36,61,.015)!important;
}
.v2-command-search .hero-search-field:focus-within{
  border-color:#9bb0ee!important;
  box-shadow:0 0 0 3px rgba(70,101,216,.09)!important;
}
.v2-command-search .hero-field-icon{
  width:32px!important;height:32px!important;flex:0 0 32px!important;
  border-radius:9px!important;background:#f4f6fd!important;color:var(--ui-blue)!important;
}
.v2-command-search small{font-size:10px!important;color:#60758a!important;margin-bottom:4px!important}
.v2-command-search input,.v2-command-search select{font-size:15px!important;color:var(--ui-navy)!important;font-weight:720!important}
.v2-search-actions{padding-top:1px!important;gap:9px!important}
.v2-command-search .v2-primary-action{
  min-height:46px!important;min-width:180px!important;border-radius:11px!important;
  background:var(--ui-blue)!important;box-shadow:none!important;
}
.v2-command-search .v2-primary-action:hover{background:var(--ui-blue-dark)!important;transform:none!important}
.v2-filter-action{min-height:46px!important;min-width:140px!important;border-radius:11px!important;background:#fff!important}
.search-query-help{margin:8px 2px 14px!important;font-size:11.5px!important;color:#6c8095!important}

/* Feature shortcuts: lighter surface, stronger content hierarchy. */
.v2-function-grid{gap:10px!important;margin-top:12px!important}
.v2-function-card{
  min-height:74px!important;
  padding:12px 13px!important;
  border:1px solid #e0e7ef!important;
  border-radius:13px!important;
  background:#fbfcfe!important;
  box-shadow:none!important;
}
.v2-function-card:hover{
  background:#fff!important;border-color:#a9bced!important;
  box-shadow:0 7px 18px rgba(33,67,119,.07)!important;transform:translateY(-1px)!important;
}
.v2-fn-icon{width:38px!important;height:38px!important;flex:0 0 38px!important;border-radius:10px!important;background:#f1f4fc!important;color:var(--ui-blue)!important}
.v2-function-card strong{font-size:14px!important;color:var(--ui-navy)!important}
.v2-function-card small{font-size:10.5px!important;color:#6a7f94!important;margin-top:3px!important}
.v2-function-card em{background:#f1f4f8!important;color:var(--ui-navy)!important;border:0!important;font-style:normal!important}

/* Account area: status rail rather than another large dashboard card. */
.v2-account-panel{
  grid-template-columns:minmax(260px,1.05fr) minmax(430px,1.7fr) 170px minmax(210px,.8fr)!important;
  gap:14px!important;
  padding:14px 16px!important;
  border-radius:14px!important;
  border:1px solid #dce5ef!important;
  background:linear-gradient(90deg,#fff 0%,#fbfcff 100%)!important;
  box-shadow:0 6px 18px rgba(16,36,61,.035)!important;
}
.v2-account-head{padding:0!important;border:0!important;grid-template-columns:38px minmax(0,1fr) auto!important;gap:10px!important}
.v2-account-icon{width:38px!important;height:38px!important;border-radius:10px!important;background:#f1f4fd!important;color:var(--ui-blue)!important}
.v2-account-head strong{font-size:16px!important}
.v2-account-head div>span{font-size:10.5px!important;color:#6b7e91!important}
.v2-account-benefits{gap:6px!important;margin:0!important;font-size:10.5px!important}
.v2-account-benefits span{min-height:28px!important;padding:5px 8px!important;background:#fff!important;border-color:#e1e8f0!important}
.v2-account-panel>button{min-height:40px!important;border-radius:10px!important;font-size:11.5px!important;background:#fff!important}
.v2-account-meta{gap:7px!important;margin:0!important}
.v2-account-meta div{padding:9px 10px!important;background:#f7f9fc!important;border:1px solid #e4eaf1!important}
.v2-account-meta small{font-size:8px!important}.v2-account-meta strong{font-size:18px!important}

/* KPI strip: one calm information bar instead of five floating boxes. */
.premium-kpis{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:0!important;
  margin:0 0 16px!important;
  padding:0!important;
  overflow:hidden!important;
  border:1px solid var(--ui-line)!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 5px 18px rgba(16,36,61,.035)!important;
}
.premium-kpis article{
  min-height:78px!important;
  padding:15px 20px!important;
  border:0!important;
  border-left:1px solid #e7edf3!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.premium-kpis article:first-child{border-left:0!important}
.premium-kpis article:before{display:none!important}
.premium-kpis strong{font-size:23px!important;line-height:1.1!important;color:var(--ui-navy)!important;font-variant-numeric:tabular-nums!important}
.premium-kpis span{font-size:9px!important;letter-spacing:.07em!important;text-transform:uppercase!important;color:#72859a!important;margin-top:6px!important}

/* ---------- Map + result rail ---------- */
.home-grid.v21-map-focus{
  grid-template-columns:minmax(0,1.6fr) minmax(360px,.68fr)!important;
  gap:14px!important;
  align-items:stretch!important;
}
.v21-map-card,.v21-results-card,.v21-pricing-teaser,.seo-copy{
  border:1px solid var(--ui-line)!important;
  border-radius:16px!important;
  box-shadow:var(--ui-shadow)!important;
  overflow:hidden!important;
}
.v21-map-card .cardhead{padding:16px 18px!important;border-bottom:1px solid #e7edf3!important}
.v21-map-card .cardhead h3{font-size:20px!important;color:var(--ui-navy)!important}
.v21-map-card .map,.v21-map-card .map-fallback{height:clamp(560px,64vh,720px)!important;min-height:560px!important}
.mapnote{font-size:10px!important;color:#6c8095!important;padding:8px 14px!important;background:#fbfcfe!important}
.map-actions .mini,.result-list-link{border-radius:9px!important}

.v21-results-rail{gap:10px!important}
.v21-results-card>.cardhead{padding:14px 14px 12px!important;background:#fff!important}
.v21-results-card .cardhead h3{font-size:17px!important}
.v21-results-card .results{
  max-height:clamp(465px,54vh,610px)!important;
  padding:8px!important;
  background:#f7f9fc!important;
  overflow:auto!important;
}
.v21-results-card .result.customer-card{
  margin:0 0 8px!important;
  border:1px solid #dde6ef!important;
  border-radius:12px!important;
  background:#fff!important;
  overflow:hidden!important;
  box-shadow:none!important;
}
.v21-results-card .result.customer-card:last-child{margin-bottom:0!important}
.v21-results-card .result.customer-card:hover{border-color:#aabce5!important;box-shadow:0 6px 15px rgba(16,36,61,.06)!important}
.v21-results-card .result-media{display:block!important;height:112px!important;min-height:112px!important}
.v21-results-card .result-media-empty{display:none!important}
.v21-results-card .result-card-body{padding:11px 12px 12px!important}
.v21-results-card .result-place{font-size:10px!important;color:#65798e!important}
.v21-results-card .result-date{font-size:9px!important}
.v21-results-card .result h4,.v21-results-card .customer-card h4{font-size:15px!important;line-height:1.25!important;margin:5px 0 9px!important}
.v21-results-card .result-keyfacts{gap:6px!important}
.v21-results-card .result-keyfacts>div{padding:7px 8px!important;background:#f7f9fc!important;border-color:#e5eaf0!important}
.v21-results-card .result-keyfacts small{font-size:8px!important}.v21-results-card .result-keyfacts strong{font-size:11px!important}
.v21-results-card .customer-actions .action{min-height:38px!important;font-size:11px!important;border-radius:9px!important}
.v21-results-card .loadmore{padding:9px!important;background:#fff!important;border-top:1px solid #e7edf3!important}
.v21-results-card .loadmore .btn{min-height:38px!important;font-size:11px!important}

.v21-pricing-teaser{padding:18px!important;background:linear-gradient(145deg,#10243d 0%,#17365c 100%)!important}
.v21-pricing-teaser h3{font-size:21px!important}.v21-pricing-teaser p{font-size:12px!important;line-height:1.5!important}
.v22-pro-button{min-height:42px!important;border-radius:10px!important}

/* Lower information block should recede behind the actual product. */
.seo-copy{margin-top:14px!important;padding:22px!important;box-shadow:none!important}
.seo-copy h2{font-size:24px!important}.seo-copy p,.seo-points span{color:#687c90!important}

/* ---------- Tablet ---------- */
@media(max-width:1180px){
  .v2-account-panel{grid-template-columns:1fr 1fr!important;padding:16px!important}
  .v2-account-benefits{grid-column:2!important;grid-row:1/3!important}
  .v2-account-panel>button{grid-column:1!important}
  .v2-account-meta{grid-column:1/-1!important;grid-template-columns:1fr 1fr!important}
  .home-grid.v21-map-focus{grid-template-columns:1fr!important}
  .v21-map-card .map,.v21-map-card .map-fallback{height:56vh!important;min-height:440px!important}
  .v21-results-card .results{max-height:none!important;overflow:visible!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .v21-results-card .result.customer-card{margin:0!important}
  .v21-results-card .result-media{height:145px!important}
}

/* ---------- Mobile: shorten the route to the first useful action ---------- */
@media(max-width:680px){
  html{scroll-padding-top:72px}
  #suche,#karte,#ergebnisse,#ueber-zvgpro{scroll-margin-top:72px}
  .topbar.v2-header{height:68px!important;min-height:68px!important;padding:0 10px!important;box-shadow:0 3px 15px rgba(3,18,35,.13)!important}
  .v2-header .zvgpro-header-logo{width:184px!important;max-width:min(184px,calc(100vw - 146px))!important}
  .topbar.v2-header .account-btn{min-width:58px!important;max-width:68px!important;min-height:38px!important;padding:0 7px!important}
  .topbar.v2-header .mobile-menu-filter{width:38px!important;min-width:38px!important;min-height:38px!important}

  .main.premium-home{padding:10px 9px calc(92px + env(safe-area-inset-bottom,0px))!important}
  .showcase-hero.v2-cockpit{gap:9px!important;margin-bottom:10px!important}
  .v2-cockpit-main{padding:16px!important;border-radius:14px!important;box-shadow:none!important}
  .v2-welcome-row{margin-bottom:13px!important}
  .v2-cockpit .eyebrow{font-size:9px!important}
  .v2-cockpit h1{font-size:27px!important;line-height:1.05!important;margin:5px 0 5px!important}
  .v2-cockpit .v2-welcome-row p{font-size:12px!important;line-height:1.45!important}
  .v2-live-pill{width:auto!important;max-width:100%!important;display:inline-flex!important;margin-top:9px!important;padding:8px 10px!important}

  .hero-search.v2-command-search{grid-template-columns:1fr!important;padding:7px!important;gap:7px!important;border-radius:13px!important}
  .v2-command-search .hero-search-field{min-height:58px!important;padding:8px 10px!important}
  .v2-command-search .hero-search-field:nth-of-type(3),
  .v2-command-search .hero-search-field.hero-date{display:none!important}
  .v2-command-search input,.v2-command-search select{font-size:16px!important}
  .v2-search-actions{grid-template-columns:1fr 1fr!important;display:grid!important;gap:7px!important}
  .v2-command-search .v2-primary-action,.v2-filter-action{min-width:0!important;width:100%!important;min-height:44px!important;font-size:13px!important;padding:0 10px!important}
  .search-query-help{display:none!important}

  .v2-function-grid{grid-template-columns:1fr 1fr!important;gap:7px!important;margin-top:10px!important}
  .v2-function-card{grid-template-columns:34px minmax(0,1fr) auto!important;min-height:64px!important;padding:9px!important;gap:8px!important;border-radius:11px!important}
  .v2-fn-icon{width:34px!important;height:34px!important;flex-basis:34px!important;font-size:16px!important}
  .v2-function-card strong{font-size:12px!important}
  .v2-function-card small{display:none!important}
  .v2-function-card em{display:block!important;min-width:24px!important;padding:4px 5px!important;font-size:9px!important}

  .v2-account-panel{display:grid!important;grid-template-columns:1fr auto!important;gap:9px!important;padding:12px!important;border-radius:13px!important;box-shadow:none!important}
  .v2-account-head{grid-column:1!important;grid-template-columns:34px minmax(0,1fr) auto!important;gap:8px!important}
  .v2-account-icon{width:34px!important;height:34px!important}
  .v2-account-head strong{font-size:14px!important}.v2-account-head div>span{display:none!important}
  .v2-account-benefits{display:none!important}
  .v2-account-panel>button{grid-column:2!important;grid-row:1!important;min-height:38px!important;width:auto!important;margin:0!important;padding:0 10px!important;font-size:10px!important}
  .v2-account-meta{grid-column:1/-1!important;display:grid!important;grid-template-columns:1fr 1fr!important;margin:0!important}
  .v2-account-meta div{padding:7px 9px!important}.v2-account-meta strong{font-size:16px!important}

  .premium-kpis{
    display:flex!important;overflow-x:auto!important;scroll-snap-type:x proximity!important;
    border-radius:12px!important;margin-bottom:10px!important;scrollbar-width:none!important;
  }
  .premium-kpis::-webkit-scrollbar{display:none!important}
  .premium-kpis article{min-width:132px!important;min-height:67px!important;padding:12px 13px!important;scroll-snap-align:start!important}
  .premium-kpis strong{font-size:19px!important}.premium-kpis span{font-size:8px!important;margin-top:4px!important}

  .home-grid.v21-map-focus{gap:9px!important}
  .v21-map-card,.v21-results-card,.v21-pricing-teaser,.seo-copy{border-radius:13px!important;box-shadow:none!important}
  .v21-map-card .cardhead{padding:13px!important}.v21-map-card .cardhead h3{font-size:18px!important}
  .v21-map-card .map,.v21-map-card .map-fallback{height:52vh!important;min-height:350px!important}
  .v21-results-card .results{display:block!important;padding:7px!important}
  .v21-results-card .result.customer-card{margin:0 0 7px!important}
  .v21-results-card .result-media{height:150px!important;min-height:150px!important}
  .v21-results-card .result-media-empty{display:none!important}
  .v21-results-card .result h4,.v21-results-card .customer-card h4{font-size:16px!important}
  .v21-results-card .result-place{font-size:11px!important}
  .v21-results-card .result-keyfacts small{font-size:9px!important}.v21-results-card .result-keyfacts strong{font-size:12px!important}
  .v21-results-card .customer-actions .action{min-height:42px!important;font-size:12px!important}

  .seo-copy{padding:17px!important}.seo-copy h2{font-size:20px!important}
}

@media(max-width:340px){
  .v2-header .zvgpro-header-logo{width:166px!important;max-width:min(166px,calc(100vw - 136px))!important}
  .v2-function-grid{grid-template-columns:1fr!important}
  .v2-function-card small{display:block!important;font-size:9.5px!important}
  .v2-account-panel{display:block!important}.v2-account-panel>button{width:100%!important;margin-top:9px!important}.v2-account-meta{margin-top:8px!important}
}
