/*
Theme Name: Vandresteder
Theme URI: https://vandresteder.dk
Author: Christoffer Carl Evers
Description: API-drevet Vandresteder tema med kort, ruter, shelters, steder, guides og SEO-landingssider.
Version: 4.2.5
*/
:root{
  --bg:#f6f4ec;
  --surface:#ffffff;
  --surface-2:#eeebdf;
  --primary:#1a1f17;
  --secondary:#5c6654;
  --muted:#8e9685;
  --green:#336640;
  --green-2:#e4ecdf;
  --border:#dbd9cc;
  --error:#b3261e;
  --radius:22px;
  --radius-sm:14px;
  --container:1180px;
  --header-h:76px;
  --wv-route-color:#336640;
  --wv-tent-color:#336640;
  --wv-toilet-color:#1a1f17;
  --wv-water-color:#2f6673;
  --wv-parking-color:#3f463a;
  --wv-fire-color:#9a4f24;
  --wv-food-color:#6d5738;
  --wv-bus-color:#4f5f6f;
  --wv-firstaid-color:#8a332f;
  --wv-bike-color:#4c6b3d;
  --wv-pin-color:#5c6654;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--primary);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;font-size:17px;line-height:1.58;text-rendering:optimizeLegibility}
body.mobile-menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
img,svg{max-width:100%;height:auto}button,input{font:inherit}.skip-link{position:absolute;left:-999px;top:10px;background:var(--primary);color:#fff;padding:10px 14px;border-radius:10px;z-index:999}.skip-link:focus{left:10px}.wv-container{width:min(var(--container),calc(100% - 40px));margin-inline:auto}.site-main{min-height:64vh}.narrow{max-width:820px}.site-header{position:sticky;top:0;z-index:100;background:rgba(246,244,236,.98);border-bottom:1px solid var(--border)}.header-inner{min-height:var(--header-h);display:flex;align-items:center;gap:22px}.site-logo{display:inline-flex;align-items:center;gap:12px;flex:0 0 auto}.site-logo-mark{width:44px;height:44px;border-radius:15px;background:var(--primary);color:#fff;display:grid;place-items:center}.site-logo-mark svg{width:22px;height:22px}.site-logo-text{font-size:22px;line-height:1;font-weight:900;letter-spacing:-.03em;color:var(--primary)}.main-nav{margin-left:auto}.main-nav-list{list-style:none;display:flex;align-items:center;gap:4px;margin:0;padding:0}.main-nav-list a{display:flex;align-items:center;min-height:42px;padding:0 12px;border-radius:999px;color:var(--secondary);font-weight:850;font-size:15px}.main-nav-list a:hover,.main-nav-list .current-menu-item>a{background:var(--surface-2);color:var(--primary)}.header-cta,.wv-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 18px;border-radius:999px;border:1px solid var(--primary);font-weight:900;line-height:1.1;cursor:pointer;white-space:nowrap;background:transparent}.header-cta,.wv-button.primary{background:var(--primary);color:#fff}.wv-button.secondary{background:var(--surface);color:var(--primary);border-color:var(--border)}.wv-button:hover,.header-cta:hover{border-color:var(--green);color:var(--green)}.wv-button.primary:hover,.header-cta:hover{background:var(--green);color:#fff}.mobile-menu-toggle{display:none;margin-left:auto;width:46px;height:46px;border:1px solid var(--border);border-radius:999px;background:var(--surface);align-items:center;justify-content:center;flex-direction:column;gap:5px;color:var(--primary)}.mobile-menu-toggle span{display:block;width:20px;height:2px;background:currentColor;border-radius:999px;transition:transform .18s ease,opacity .18s ease}.mobile-menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.mobile-menu-toggle.is-open span:nth-child(2){opacity:0}.mobile-menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu{position:fixed;inset:var(--header-h) 0 0;background:var(--bg);z-index:99;border-top:1px solid var(--border);overflow:auto;padding:16px 0 28px}.mobile-menu[hidden]{display:none!important}.mobile-menu-inner{display:grid;gap:10px}.mobile-menu-inner a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px;border:1px solid var(--border);border-radius:18px;background:var(--surface);font-weight:900}.mobile-menu-inner a span{display:flex;align-items:center;gap:10px}.mobile-menu-inner a small{color:var(--secondary);font-weight:750;text-align:right}.mobile-menu-inner .mobile-menu-cta{justify-content:center;background:var(--primary);color:#fff;border-color:var(--primary)}
.wv-icon{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}.wv-icon svg,.site-logo-mark svg,.wv-iconbox svg,.wv-layer-icon svg,.wv-map-marker svg,.wv-map-result-icon svg{width:20px;height:20px}.wv-eyebrow{margin:0 0 8px;color:var(--green);font-size:13px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.lead,.wv-page-hero p,.front-hero-copy p,.wv-map-hero-copy p,.wv-seo-hero-copy p,.blog-hero-grid p,.article-hero-copy p{color:var(--secondary);font-size:19px;line-height:1.62;max-width:720px}.front-hero,.wv-page-hero,.wv-map-landing-hero,.wv-seo-hero,.blog-landing-hero,.article-hero-v2{padding:64px 0 36px}.front-hero-grid,.wv-map-hero-grid,.wv-seo-hero-grid,.blog-hero-grid,.article-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:34px;align-items:center}.front-hero h1,.wv-page-hero h1,.wv-map-hero-copy h1,.wv-seo-hero-copy h1,.blog-hero-grid h1,.article-hero-v2 h1{font-size:clamp(44px,6vw,76px);line-height:.98;letter-spacing:-.055em;margin:0 0 18px}.hero-actions,.wv-hero-actions,.wv-map-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.front-planner-card,.wv-map-hero-panel,.wv-seo-hero-panel,.blog-hero-panel,.article-aside,.filter-card,.listing-sidebar,.wv-map-control-panel,.article-prose,.detail-aside-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.front-planner-card{padding:16px;display:grid;gap:10px}.planner-step,.front-focus-row{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:start;padding:14px;border:1px solid var(--border);border-radius:18px;background:var(--bg)}.planner-step span,.front-focus-row span{width:42px;height:42px;border-radius:14px;background:var(--primary);color:#fff;display:grid;place-items:center;font-weight:950}.planner-step.active span{background:var(--green)}.planner-step strong,.front-focus-row strong{display:block;font-size:16px}.planner-step small,.front-focus-row small{display:block;color:var(--secondary);font-weight:700;line-height:1.35;margin-top:2px}.wv-section{padding:56px 0}.soft-section{background:var(--surface-2)}.wv-section-head{margin-bottom:22px}.wv-section-head h2,.wv-map-toolbar h2{font-size:clamp(30px,4vw,46px);line-height:1.05;letter-spacing:-.04em;margin:0 0 8px}.wv-section-head p,.wv-map-toolbar p{margin:0;color:var(--secondary);max-width:760px}.split{display:flex;align-items:end;justify-content:space-between;gap:24px}.wv-link{font-weight:950;color:var(--green)}.wv-grid{display:grid;gap:16px}.cards-grid,.area-grid,.blog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.wv-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;min-height:218px}.wv-card>a{display:flex;flex-direction:column;height:100%}.wv-card h2,.wv-card h3{font-size:23px;line-height:1.14;letter-spacing:-.025em;margin:14px 0 8px}.wv-card p{color:var(--secondary);margin:0 0 14px}.wv-card:hover{border-color:var(--green)}.wv-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.wv-iconbox{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;color:#fff;flex:0 0 auto}.wv-iconbox.green{background:var(--green)}.wv-iconbox.dark{background:var(--primary)}.wv-chip,.wv-chip-link,.wv-area-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);background:var(--bg);border-radius:999px;padding:7px 10px;color:var(--primary);font-size:12px;font-weight:950}.wv-chip-link.active,.wv-area-pill.active{background:var(--primary);border-color:var(--primary);color:#fff}.wv-meta-line{color:var(--green)!important;font-weight:850}.wv-card-facts{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto;color:var(--secondary);font-size:13px;font-weight:850}.quick-links-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.quick-links-grid a{display:flex;flex-direction:column;gap:8px;min-height:150px;padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.quick-links-grid a:hover{border-color:var(--green)}.quick-links-grid strong{font-size:21px;line-height:1.15}.quick-links-grid span:last-child{color:var(--secondary);font-weight:700}.wv-area-strip{display:flex;gap:8px;overflow:auto;padding-bottom:10px;scrollbar-width:thin}.wv-area-pill{min-height:42px;padding:9px 14px;white-space:nowrap}.task-card.primary-task{background:var(--green-2);border-color:#c9d8c1}
.wv-map-preview,.map-main,.wv-map-app-shell{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.wv-map{height:480px;width:100%;background:var(--surface-2)}.wv-map.large,.wv-map-full{height:min(74vh,720px);min-height:560px}.wv-map.detail{height:430px;border-bottom:1px solid var(--border)}.wv-map-toolbar{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px}.wv-map-toolbar-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.wv-map-app-shell{display:grid;grid-template-columns:360px minmax(0,1fr);align-items:stretch}.wv-map-control-panel{border:0;border-radius:0;border-right:1px solid var(--border);padding:16px;display:grid;align-content:start;gap:14px}.wv-map-canvas-panel{min-width:0}.wv-map-search-card,.wv-map-filter-card,.wv-map-results-panel{border:1px solid var(--border);border-radius:20px;background:var(--bg);padding:14px}.wv-map-search-card p{margin:10px 2px 0;color:var(--secondary);font-weight:800}.wv-map-search-card strong{color:var(--primary)}.search-label{display:flex;align-items:center;gap:10px;height:48px;border:1px solid var(--border);border-radius:999px;background:var(--surface);padding:0 14px}.search-label input{width:100%;border:0;outline:0;background:transparent;color:var(--primary)}.wv-map-filter-head,.wv-map-results-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.wv-map-filter-head h3,.wv-map-results-head h3{margin:0;font-size:18px}.wv-map-filter-head button{border:0;background:transparent;color:var(--green);font-weight:950;padding:4px 0;cursor:pointer}.wv-layer-grid{display:grid;gap:8px}.wv-layer-toggle{display:grid;grid-template-columns:18px 42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border:1px solid var(--border);border-radius:16px;background:var(--surface);cursor:pointer}.wv-layer-toggle input{width:18px;height:18px;accent-color:var(--green)}.wv-layer-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--bg);color:var(--primary)}.wv-layer-text strong,.wv-layer-text small{display:block}.wv-layer-text small{font-size:12px;line-height:1.25;color:var(--secondary);font-weight:750}.wv-layer-count{font-size:13px;font-weight:950;color:var(--green)}.wv-layer-toggle input:not(:checked)~.wv-layer-icon,.wv-layer-toggle input:not(:checked)~.wv-layer-text,.wv-layer-toggle input:not(:checked)~.wv-layer-count{opacity:.55}.wv-map-results-list{display:grid;gap:8px;max-height:390px;overflow:auto;padding-right:2px}.wv-map-result-row{width:100%;display:grid;grid-template-columns:42px minmax(0,1fr) 18px;align-items:center;gap:10px;padding:10px;border:1px solid var(--border);border-radius:16px;background:var(--surface);text-align:left;color:var(--primary);cursor:pointer}.wv-map-result-row:hover{border-color:var(--green)}.wv-map-result-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--primary);color:#fff}.wv-map-result-icon.route{background:var(--green)}.wv-map-result-text strong,.wv-map-result-text small,.wv-map-result-text em{display:block}.wv-map-result-text small{color:var(--secondary);font-size:12px;font-weight:760;line-height:1.25}.wv-map-result-text em{font-style:normal;color:var(--green);font-size:12px;font-weight:850;margin-top:2px}.wv-map-result-arrow{font-size:24px;color:var(--muted)}.wv-map-no-results{padding:12px;color:var(--secondary);font-weight:760}.wv-map-no-results strong{display:block;color:var(--primary)}.wv-map-marker{width:36px;height:36px;border-radius:50%;background:var(--primary);color:#fff;border:2px solid #fff;display:grid;place-items:center}.wv-map-marker.route{background:var(--green)}.wv-route-endpoint{width:30px;height:30px;border-radius:999px;color:#fff;border:2px solid #fff;display:grid;place-items:center}.wv-route-endpoint.start{background:var(--green)}.wv-route-endpoint.end{background:var(--primary)}.wv-route-endpoint svg{width:15px;height:15px}.wv-popup h3{margin:2px 0 4px;font-size:16px;line-height:1.2}.wv-popup span{font-size:12px;font-weight:950;color:var(--green)}.wv-popup p{margin:0 0 8px;color:var(--secondary)}.wv-popup a{font-weight:950;color:var(--green)}
.wv-map-stat-card,.wv-seo-stat{border:1px solid var(--border);border-radius:18px;background:var(--bg);padding:16px}.wv-map-hero-panel,.wv-seo-hero-panel{padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.wv-map-stat-card.wide,.wv-seo-stat.main{grid-column:1/-1}.wv-map-stat-card span,.wv-seo-stat .wv-icon{width:44px;height:44px;border-radius:14px;background:var(--primary);color:#fff;display:grid;place-items:center;margin-bottom:12px}.wv-map-stat-card strong,.wv-seo-stat strong{display:block;font-size:30px;line-height:1;font-weight:950;letter-spacing:-.04em}.wv-map-stat-card small,.wv-seo-stat span{display:block;color:var(--secondary);font-weight:750;margin-top:4px}.listing-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;align-items:start}.listing-sidebar,.filter-card,.sticky{position:sticky;top:96px}.filter-card{padding:18px}.filter-card h2{font-size:22px;margin:0 0 6px}.filter-card p{margin:0 0 16px;color:var(--secondary)}.chip-list{display:grid;gap:8px}.chip-list.vertical .wv-chip-link{justify-content:space-between;min-height:42px;padding:8px 12px}.listing-count{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;color:var(--secondary);font-weight:760}.listing-count strong{color:var(--primary)}.detail-hero{background:var(--surface-2);padding:36px 0}.detail-grid,.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:start}.detail-grid h1{font-size:clamp(38px,5vw,64px);line-height:1;letter-spacing:-.055em;margin:6px 0 12px}.fact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0}.fact-grid div{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:16px}.fact-grid strong{display:block;font-size:20px;line-height:1.15}.fact-grid span{color:var(--secondary);font-size:13px;font-weight:800}.wv-prose,.article-prose{font-size:18px;line-height:1.75;color:var(--secondary)}.wv-prose h1,.wv-prose h2,.wv-prose h3,.article-prose h1,.article-prose h2,.article-prose h3{color:var(--primary);line-height:1.12;letter-spacing:-.03em}.article-prose{padding:34px}.wv-faq{display:grid;gap:10px}.wv-faq details{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:16px}.wv-faq summary{font-weight:950;cursor:pointer}.blog-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.enhanced-post-card{padding:0;overflow:hidden}.post-card-image{height:210px;background:var(--surface-2);border-bottom:1px solid var(--border)}.post-card-body{padding:20px}.post-card-body h2{font-size:24px;line-height:1.15;margin:0 0 8px}.featured-post-card>a{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr)}.featured-post-content{padding:34px}.post-meta,.article-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--secondary);font-size:13px;font-weight:850}.site-footer{background:var(--primary);color:#fff;margin-top:48px;padding:48px 0}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px}.site-footer p,.site-footer a{color:#e4e8dd}.site-footer a{display:block;margin:8px 0}.footer-logo{display:flex;align-items:center;gap:10px;color:#fff;font-weight:950;font-size:20px}.footer-logo .site-logo-mark{background:#fff;color:var(--primary)}
@media(max-width:1100px){.front-hero-grid,.wv-map-hero-grid,.wv-seo-hero-grid,.blog-hero-grid,.article-hero-grid,.detail-grid,.article-layout{grid-template-columns:1fr}.wv-map-app-shell{grid-template-columns:1fr}.wv-map-control-panel{order:2;border-right:0;border-top:1px solid var(--border)}.wv-map-canvas-panel{order:1}.listing-layout{grid-template-columns:1fr}.listing-sidebar,.filter-card,.sticky{position:static}.quick-links-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:980px){:root{--header-h:68px}.desktop-nav,.header-cta{display:none!important}.mobile-menu-toggle{display:flex}.header-inner{min-height:var(--header-h)}.cards-grid,.area-grid,.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.front-hero,.wv-page-hero,.wv-map-landing-hero,.wv-seo-hero,.blog-landing-hero,.article-hero-v2{padding:46px 0 28px}}
@media(max-width:720px){body{font-size:16px}.wv-container{width:min(100% - 28px,var(--container))}.site-logo-text{font-size:19px}.site-logo-mark{width:40px;height:40px;border-radius:14px}.front-hero h1,.wv-page-hero h1,.wv-map-hero-copy h1,.wv-seo-hero-copy h1,.blog-hero-grid h1,.article-hero-v2 h1{font-size:clamp(38px,12vw,52px)}.lead,.wv-page-hero p,.front-hero-copy p,.wv-map-hero-copy p,.wv-seo-hero-copy p,.blog-hero-grid p,.article-hero-copy p{font-size:16px}.hero-actions,.wv-hero-actions,.wv-map-hero-actions,.wv-map-toolbar-actions{display:grid;grid-template-columns:1fr;width:100%}.wv-button{width:100%;min-height:50px}.split,.wv-map-toolbar{display:block}.wv-section{padding:38px 0}.wv-section-head h2,.wv-map-toolbar h2{font-size:32px}.cards-grid,.area-grid,.blog-grid,.quick-links-grid{grid-template-columns:1fr}.wv-card{min-height:0;border-radius:18px}.wv-map.large,.wv-map-full{height:540px;min-height:460px}.wv-map-control-panel{padding:12px}.wv-map-hero-panel,.wv-seo-hero-panel{grid-template-columns:1fr}.wv-layer-toggle{grid-template-columns:18px 38px minmax(0,1fr) auto;padding:9px;border-radius:14px}.wv-layer-icon{width:38px;height:38px}.wv-map-results-list{max-height:280px}.fact-grid{grid-template-columns:1fr}.article-prose{padding:22px}.footer-grid{grid-template-columns:1fr}.featured-post-card>a{grid-template-columns:1fr}.mobile-menu-inner a{align-items:flex-start}.mobile-menu-inner a small{font-size:12px}}
@media(max-width:430px){.wv-container{width:min(100% - 22px,var(--container))}.site-logo-text{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-menu-toggle{width:42px;height:42px}.wv-map.large,.wv-map-full{height:480px;min-height:420px}.wv-layer-toggle{gap:8px}.wv-layer-text small{display:none}.wv-map-result-row{grid-template-columns:38px minmax(0,1fr) 14px}.wv-map-result-icon{width:38px;height:38px}.front-hero,.wv-page-hero,.wv-map-landing-hero,.wv-seo-hero,.blog-landing-hero,.article-hero-v2{padding-top:34px}}

/* v17: Kort-UX – kortet er centrum, filtre som slide-out og resultater tydeligt under kortet */
.wv-map-workspace{position:relative;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}
.wv-map-commandbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border-bottom:1px solid var(--border);background:var(--surface)}
.wv-map-command-main{display:flex;align-items:center;gap:12px;min-width:0;flex:1}
.wv-map-command-main .search-label{max-width:620px;flex:1;height:54px;background:var(--bg)}
.wv-map-command-status{min-width:128px;padding:9px 12px;border:1px solid var(--border);border-radius:16px;background:var(--bg);line-height:1.15}
.wv-map-command-status strong{display:block;font-size:20px;letter-spacing:-.03em;color:var(--primary)}
.wv-map-command-status span{display:block;font-size:12px;font-weight:850;color:var(--secondary)}
.wv-map-command-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.wv-map-command-actions .wv-button{min-height:46px;padding:0 16px;width:auto}
.wv-map-canvas-panel{position:relative;background:var(--surface-2)}
.wv-map-workspace .wv-map-full{height:min(76vh,760px);min-height:620px;border-radius:0}
.wv-map-results-wide{border:0;border-top:1px solid var(--border);border-radius:0;background:var(--surface);padding:18px}
.wv-map-results-wide .wv-map-results-head{align-items:end;margin-bottom:14px}
.wv-map-results-wide .wv-map-results-head h3{font-size:26px;letter-spacing:-.03em;margin:0}
.wv-map-results-wide .wv-map-results-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-height:none;overflow:visible;padding:0}
.wv-map-results-wide .wv-map-result-row{min-height:96px;grid-template-columns:52px minmax(0,1fr) 22px;padding:14px;border-radius:18px;background:var(--bg)}
.wv-map-results-wide .wv-map-result-icon{width:52px;height:52px;border-radius:16px}
.wv-map-results-wide .wv-map-result-text strong{font-size:16px;line-height:1.15;margin-bottom:4px}
.wv-map-results-wide .wv-map-result-text small{font-size:13px}
.wv-map-drawer-backdrop{position:fixed;inset:0;background:rgba(16,19,14,.42);z-index:80}
.wv-map-filter-drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,calc(100vw - 22px));background:var(--surface);border-left:1px solid var(--border);z-index:90;padding:20px;overflow:auto;transform:translateX(105%);transition:transform .22s ease;box-shadow:none}
.wv-map-filter-drawer.is-open{transform:translateX(0)}
.wv-map-drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--border)}
.wv-map-drawer-head h3{font-size:32px;line-height:1.05;letter-spacing:-.04em;margin:0 0 8px}
.wv-map-drawer-head p:not(.wv-eyebrow){margin:0;color:var(--secondary);font-weight:720;line-height:1.45}
.wv-map-drawer-close{width:44px;height:44px;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--primary);font-size:28px;line-height:1;cursor:pointer;flex:0 0 auto}
.wv-map-filter-head.drawer-tools{margin:0 0 12px}.wv-map-filter-head.drawer-tools h4{font-size:18px;margin:0}.wv-map-filter-head.drawer-tools button{border:0;background:transparent;color:var(--green);font-weight:950;cursor:pointer}
.wv-map-filter-drawer .wv-layer-grid{gap:10px}.wv-map-filter-drawer .wv-layer-toggle{grid-template-columns:20px 46px minmax(0,1fr) auto;padding:12px;border-radius:18px;background:var(--bg)}
.wv-map-filter-drawer .wv-layer-icon{width:46px;height:46px;background:var(--surface)}
.wv-map-filter-drawer .wv-layer-text strong{font-size:15px}.wv-map-filter-drawer .wv-layer-text small{font-size:13px}
body.wv-map-drawer-open{overflow:hidden}
.wv-map-area-strip.large,.wv-area-strip.large{padding:10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);margin-top:12px}.wv-area-pill{font-size:13px}.wv-area-pill.active{background:var(--green);border-color:var(--green)}
.wv-focused-map-section .wv-section-head{margin-bottom:16px}.wv-focused-map-section .wv-section-head p{font-size:16px;line-height:1.55}.wv-focused-map-section .wv-map-toolbar-actions{display:none}
@media(max-width:1200px){.wv-map-results-wide .wv-map-results-list{grid-template-columns:repeat(2,minmax(0,1fr))}.wv-map-commandbar{align-items:stretch;flex-direction:column}.wv-map-command-main{width:100%}.wv-map-command-actions{justify-content:flex-start}}
@media(max-width:820px){.wv-map-workspace{border-radius:20px}.wv-map-command-main{display:grid;grid-template-columns:1fr}.wv-map-command-status{display:flex;align-items:center;gap:8px;width:max-content}.wv-map-command-status strong{font-size:18px}.wv-map-command-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.wv-map-command-actions .wv-button{width:100%;padding:0 12px}.wv-map-command-actions .wv-button.primary{grid-column:1/-1}.wv-map-workspace .wv-map-full{height:62vh;min-height:440px}.wv-map-results-wide{padding:14px}.wv-map-results-wide .wv-map-results-list{grid-template-columns:1fr}.wv-map-results-wide .wv-map-result-row{min-height:86px}.wv-map-filter-drawer{left:10px;right:10px;top:auto;width:auto;height:min(82vh,720px);border-left:0;border-top:1px solid var(--border);border-radius:24px 24px 0 0;transform:translateY(105%);padding:18px}.wv-map-filter-drawer.is-open{transform:translateY(0)}.wv-map-drawer-head h3{font-size:28px}.wv-map-area-strip.large,.wv-area-strip.large{border-radius:20px}}
@media(max-width:520px){.wv-map-commandbar{padding:12px}.wv-map-command-actions{grid-template-columns:1fr}.wv-map-workspace .wv-map-full{height:58vh;min-height:390px}.wv-map-results-wide .wv-map-results-head{display:block}.wv-map-results-wide .wv-map-results-head span{display:inline-flex;margin-top:8px}.wv-map-results-wide .wv-map-result-row{grid-template-columns:44px minmax(0,1fr) 18px;padding:12px}.wv-map-results-wide .wv-map-result-icon{width:44px;height:44px}.wv-map-filter-drawer{left:0;right:0;height:86vh;border-radius:22px 22px 0 0}.wv-map-filter-drawer .wv-layer-toggle{grid-template-columns:20px 42px minmax(0,1fr) auto}.wv-map-filter-drawer .wv-layer-icon{width:42px;height:42px}}
.wv-map-toolbar-note{max-width:420px;margin:0;color:var(--secondary);font-weight:760;line-height:1.45;text-align:right}
@media(max-width:720px){.wv-map-toolbar-note{text-align:left;margin-top:10px}}

/* v18: Stabilisering af kort, drawer og horisontal overflow
   - Leaflet må aldrig ligge over filter-drawer.
   - Off-canvas filter må ikke skabe vandret scroll på siden.
   - Header/mobilmenu/drawer får kontrollerede lag. */
html,
body {
  max-width: 100%;
  overflow-x: clip;
}

@supports not (overflow-x: clip) {
  html,
  body {
    overflow-x: hidden;
  }
}

.site-header {
  z-index: 5000;
}

.mobile-menu {
  z-index: 4990;
}

.site-main,
.wv-container,
.wv-section,
.wv-map-landing-section,
.wv-map-workspace,
.wv-map-canvas-panel,
.wv-map-results-wide,
.wv-map-commandbar,
.wv-map-command-main,
.wv-map-area-strip,
.wv-area-strip,
.wv-grid,
.cards-grid,
.blog-grid,
.area-grid,
.listing-layout,
.detail-grid,
.article-layout {
  min-width: 0;
  max-width: 100%;
}

.wv-map-workspace {
  isolation: isolate;
  overflow: hidden;
}

.wv-map-canvas-panel {
  position: relative;
  z-index: 1;
  overflow: hidden;
}

.wv-map,
.wv-map-full,
.leaflet-container {
  max-width: 100%;
  overflow: hidden;
}

.wv-map-workspace .leaflet-container,
.wv-map-workspace .leaflet-pane,
.wv-map-workspace .leaflet-top,
.wv-map-workspace .leaflet-bottom,
.wv-map-workspace .leaflet-control-container,
.wv-map-workspace .leaflet-marker-pane,
.wv-map-workspace .leaflet-tooltip-pane,
.wv-map-workspace .leaflet-popup-pane {
  z-index: auto;
}

.wv-map-workspace .leaflet-control-container {
  position: relative;
  z-index: 10;
}

.wv-map-drawer-backdrop {
  position: fixed;
  inset: var(--header-h) 0 0 0;
  z-index: 8000;
  background: rgba(16,19,14,.48);
}

.wv-map-filter-drawer {
  top: var(--header-h);
  bottom: 0;
  right: 0;
  z-index: 8010;
  max-width: calc(100vw - 16px);
  height: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}

.wv-map-filter-drawer.is-open {
  transform: translateX(0);
}

body.wv-map-drawer-open {
  overflow: hidden;
  max-width: 100%;
}

body.wv-map-drawer-open .wv-map-workspace .leaflet-control-container {
  pointer-events: none;
}

.wv-map-commandbar {
  position: relative;
  z-index: 5;
}

.wv-map-results-wide {
  position: relative;
  z-index: 2;
}

.wv-map-area-strip,
.wv-area-strip {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}

.wv-area-pill {
  flex: 0 0 auto;
}

@media (max-width: 820px) {
  .wv-map-drawer-backdrop {
    inset: 0;
    z-index: 8000;
  }

  .wv-map-filter-drawer {
    top: auto;
    left: 10px;
    right: 10px;
    bottom: 0;
    width: auto;
    max-width: none;
    z-index: 8010;
    transform: translateY(105%);
  }

  .wv-map-filter-drawer.is-open {
    transform: translateY(0);
  }
}

@media (max-width: 520px) {
  .wv-map-filter-drawer {
    left: 0;
    right: 0;
  }
}


/* v19: Målrettet UI-oprydning på manglende card-styling
   Retter sektioner som “Gode indgange”, hvor items tidligere faldt tilbage
   til ren tekst med små ikoner. Bevarer eksisterende layout og farver. */
.wv-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.wv-feature-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-height: 270px;
  padding: 22px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--primary);
}

.wv-feature-card > .wv-icon,
.wv-feature-card > span.wv-icon {
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  margin: 0 0 18px;
  border-radius: 16px;
  background: var(--primary);
  color: #fff;
}

.wv-feature-card:nth-child(2) > .wv-icon,
.wv-feature-card:nth-child(2) > span.wv-icon {
  background: var(--green);
}

.wv-feature-card:nth-child(3) > .wv-icon,
.wv-feature-card:nth-child(3) > span.wv-icon {
  background: var(--green-2);
  color: var(--green);
  border: 1px solid #c9d8c1;
}

.wv-feature-card > .wv-icon svg,
.wv-feature-card > span.wv-icon svg {
  width: 24px;
  height: 24px;
}

.wv-feature-card h3 {
  margin: 0 0 10px;
  font-size: 24px;
  line-height: 1.12;
  letter-spacing: -.03em;
  color: var(--primary);
}

.wv-feature-card p {
  margin: 0 0 18px;
  color: var(--secondary);
  font-size: 16px;
  line-height: 1.55;
}

.wv-feature-card strong {
  display: inline-flex;
  align-items: center;
  margin-top: auto;
  min-height: 38px;
  padding: 0 12px;
  border-radius: 999px;
  background: var(--bg);
  border: 1px solid var(--border);
  color: var(--primary);
  font-size: 14px;
  line-height: 1;
  font-weight: 950;
}

.wv-feature-card .wv-link {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  min-height: 38px;
}

.wv-feature-card .wv-link::after {
  content: '›';
  margin-left: 8px;
  font-size: 22px;
  line-height: 1;
}

.wv-feature-card:hover {
  border-color: var(--green);
}

.wv-feature-card:focus-within {
  outline: 3px solid rgba(51,102,64,.20);
  outline-offset: 3px;
}

/* Hero statistik-kasser skal altid ligne komponenter, også hvis tidligere CSS ikke rammer */
.wv-seo-hero-panel {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  padding: 16px;
}

.wv-seo-stat {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  column-gap: 12px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: var(--bg);
}

.wv-seo-stat .wv-icon,
.wv-seo-stat > span:first-child {
  grid-row: span 2;
  width: 46px;
  height: 46px;
  border-radius: 15px;
  background: var(--primary);
  color: #fff;
}

.wv-seo-stat.main .wv-icon,
.wv-seo-stat.main > span:first-child {
  background: var(--green);
}

.wv-seo-stat .wv-icon svg,
.wv-seo-stat > span:first-child svg {
  width: 22px;
  height: 22px;
}

.wv-seo-stat strong {
  display: block;
  font-size: 28px;
  line-height: 1;
  letter-spacing: -.04em;
  color: var(--primary);
}

.wv-seo-stat span:last-child {
  display: block;
  color: var(--secondary);
  font-size: 13px;
  line-height: 1.25;
  font-weight: 850;
}

/* Sikrer at sektionen ikke får for meget luft og ikke kollapser til “tekstliste” */
.wv-landing-nav-section + .wv-focused-map-section,
.wv-focused-map-section + .wv-section {
  margin-top: 0;
}

/* Bedre responsiv opførsel for de rettede cards */
@media (max-width: 980px) {
  .wv-feature-grid {
    grid-template-columns: 1fr;
  }

  .wv-feature-card {
    min-height: 0;
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    column-gap: 16px;
    align-items: start;
  }

  .wv-feature-card > .wv-icon,
  .wv-feature-card > span.wv-icon {
    grid-row: span 4;
    margin: 0;
  }

  .wv-feature-card .wv-link,
  .wv-feature-card strong {
    margin-top: 4px;
  }
}

@media (max-width: 520px) {
  .wv-feature-card {
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 12px;
    padding: 16px;
    border-radius: 18px;
  }

  .wv-feature-card > .wv-icon,
  .wv-feature-card > span.wv-icon {
    width: 46px;
    height: 46px;
    flex-basis: 46px;
    border-radius: 14px;
  }

  .wv-feature-card h3 {
    font-size: 20px;
  }

  .wv-feature-card p {
    font-size: 15px;
    margin-bottom: 12px;
  }
}


/* v20: Frontpage category cards cleanup
   Målrettet rettelse af “Praktisk på turen”-kortene, så de ikke står som
   løse tekstblokke med små ikoner. Bevarer sektion, links og farver. */
.quick-links-grid {
  align-items: stretch;
}

.quick-links-grid a {
  position: relative;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  grid-template-areas:
    "icon title"
    "icon text"
    "icon action";
  column-gap: 16px;
  row-gap: 4px;
  align-items: start;
  min-height: 166px;
  padding: 24px;
  overflow: hidden;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
}

.quick-links-grid a::after {
  content: 'Se steder';
  grid-area: action;
  align-self: end;
  justify-self: start;
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  margin-top: 12px;
  padding: 0 12px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--bg);
  color: var(--green);
  font-size: 13px;
  line-height: 1;
  font-weight: 950;
}

.quick-links-grid a:hover::after {
  background: var(--green);
  border-color: var(--green);
  color: #fff;
}

.quick-links-grid a > .wv-icon {
  grid-area: icon;
  width: 58px;
  height: 58px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: var(--primary);
  color: #fff;
}

.quick-links-grid a:nth-child(1) > .wv-icon {
  background: var(--green);
}

.quick-links-grid a:nth-child(3) > .wv-icon {
  background: var(--green-2);
  color: var(--green);
  border: 1px solid #c9d8c1;
}

.quick-links-grid a > .wv-icon svg {
  width: 25px;
  height: 25px;
}

.quick-links-grid a > strong {
  grid-area: title;
  margin: 1px 0 0;
  color: var(--primary);
  font-size: 25px;
  line-height: 1.08;
  letter-spacing: -.03em;
  font-weight: 950;
}

.quick-links-grid a > span:last-child {
  grid-area: text;
  margin: 0;
  color: var(--secondary);
  font-size: 16px;
  line-height: 1.38;
  font-weight: 800;
}

.quick-links-grid a:hover {
  border-color: var(--green);
  transform: translateY(-1px);
}

.quick-links-grid a:focus-visible {
  outline: 3px solid rgba(51,102,64,.22);
  outline-offset: 3px;
}

@media (max-width: 1080px) {
  .quick-links-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .quick-links-grid {
    grid-template-columns: 1fr;
  }

  .quick-links-grid a {
    min-height: 0;
    padding: 18px;
    grid-template-columns: 50px minmax(0, 1fr);
    column-gap: 14px;
    border-radius: 20px;
  }

  .quick-links-grid a > .wv-icon {
    width: 50px;
    height: 50px;
    border-radius: 16px;
  }

  .quick-links-grid a > .wv-icon svg {
    width: 22px;
    height: 22px;
  }

  .quick-links-grid a > strong {
    font-size: 21px;
  }

  .quick-links-grid a > span:last-child {
    font-size: 15px;
  }
}

/* v21: Gendan klikadfærd og rigtige links
   - Kortets pins, ruter og resultatkort går igen til deres informationssider.
   - Resultatkortene er links, ikke kun knapper der zoomer på kortet.
*/
.wv-map-marker,
.wv-route-line,
.wv-route-endpoint {
  cursor: pointer;
}

.wv-map-result-row {
  text-decoration: none;
  grid-template-columns: 42px minmax(0, 1fr) auto;
}

.wv-map-result-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: var(--primary);
  color: #fff;
  font-size: 12px;
  font-weight: 950;
  white-space: nowrap;
}

.wv-map-result-row:hover .wv-map-result-action,
.wv-map-result-row:focus-visible .wv-map-result-action {
  background: var(--green);
}

.wv-map-result-row:focus-visible {
  outline: 3px solid rgba(51, 102, 64, .28);
  outline-offset: 3px;
}

@media(max-width:520px){
  .wv-map-results-wide .wv-map-result-row{
    grid-template-columns: 44px minmax(0,1fr);
  }
  .wv-map-result-action{
    grid-column: 1 / -1;
    width: 100%;
    margin-top: 4px;
  }
}

/* v22: Fix result-card layout after links were restored
   The entire card remains the link to the detail page, but the action label must fit
   inside the card and never overlap title/content. */
.wv-map-results-wide .wv-map-result-row,
.wv-map-results-list .wv-map-result-row {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) max-content;
  align-items: center;
  gap: 14px;
  min-width: 0;
  text-decoration: none;
}

.wv-map-results-wide .wv-map-result-text,
.wv-map-results-list .wv-map-result-text {
  min-width: 0;
}

.wv-map-results-wide .wv-map-result-text strong,
.wv-map-results-list .wv-map-result-text strong {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: normal;
  overflow-wrap: anywhere;
}

.wv-map-results-wide .wv-map-result-action,
.wv-map-results-list .wv-map-result-action {
  position: static;
  justify-self: end;
  align-self: center;
  width: auto;
  min-width: 92px;
  max-width: 120px;
  min-height: 36px;
  margin: 0;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--primary);
  color: #fff;
  font-size: 12px;
  font-weight: 950;
  line-height: 1;
  white-space: nowrap;
  z-index: 1;
}

.wv-map-results-wide .wv-map-result-row:hover .wv-map-result-action,
.wv-map-results-wide .wv-map-result-row:focus-visible .wv-map-result-action,
.wv-map-results-list .wv-map-result-row:hover .wv-map-result-action,
.wv-map-results-list .wv-map-result-row:focus-visible .wv-map-result-action {
  background: var(--green);
}

@media (max-width: 980px) {
  .wv-map-results-wide .wv-map-result-row,
  .wv-map-results-list .wv-map-result-row {
    grid-template-columns: 50px minmax(0, 1fr);
  }

  .wv-map-results-wide .wv-map-result-action,
  .wv-map-results-list .wv-map-result-action {
    grid-column: 2;
    justify-self: start;
    min-width: 0;
    max-width: none;
    min-height: 32px;
    margin-top: 4px;
    padding: 0 12px;
  }
}

@media (max-width: 520px) {
  .wv-map-results-wide .wv-map-result-row,
  .wv-map-results-list .wv-map-result-row {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 10px;
  }

  .wv-map-results-wide .wv-map-result-icon,
  .wv-map-results-list .wv-map-result-icon {
    width: 44px;
    height: 44px;
  }
}

/* v23: Map and places UX finish - keep current structure, fix spacing, actions and consistency */
.wv-map-landing-section .wv-map-toolbar,
.wv-map-landing-section .wv-map-toolbar.compact-toolbar {
  display: block;
  margin: 0 0 16px;
}

.wv-map-landing-section .wv-map-toolbar h2 {
  max-width: 860px;
  margin-bottom: 8px;
}

.wv-map-toolbar-note {
  max-width: 820px;
  margin: 0;
  color: var(--secondary);
  font-weight: 760;
  line-height: 1.45;
  text-align: left;
}

.wv-map-area-strip,
.wv-map-area-strip.large,
.wv-category-strip {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0 0 12px;
  padding: 0;
  background: transparent;
  border: 0;
  overflow: visible;
}

.wv-category-strip {
  margin-bottom: 18px;
}

.wv-area-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--surface);
  color: var(--primary);
  font-size: 14px;
  font-weight: 950;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.wv-area-pill:hover,
.wv-area-pill:focus-visible {
  border-color: var(--green);
  color: var(--green);
}

.wv-area-pill.active {
  background: var(--green);
  border-color: var(--green);
  color: #fff;
}

.wv-area-pill .wv-icon,
.wv-area-pill svg {
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
}

.wv-map-workspace {
  border-radius: 28px;
  background: var(--surface);
  border: 1px solid var(--border);
  overflow: hidden;
}

.wv-map-commandbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 18px;
  border-bottom: 1px solid var(--border);
  background: var(--surface);
}

.wv-map-command-main {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.wv-map-search-label {
  min-width: 0;
  height: 56px;
  border-radius: 999px;
  background: var(--bg);
}

.wv-map-command-status {
  min-height: 56px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 18px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background: var(--bg);
  line-height: 1.1;
}

.wv-map-command-status strong {
  display: block;
  color: var(--primary);
  font-size: 22px;
  font-weight: 950;
  letter-spacing: -.03em;
}

.wv-map-command-status span {
  display: block;
  color: var(--secondary);
  font-size: 13px;
  font-weight: 850;
}

.wv-map-command-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.wv-map-command-actions .wv-button {
  min-height: 50px;
  width: auto;
  padding: 0 18px;
}

.wv-map-workspace .wv-map-full {
  height: min(72vh, 720px);
  min-height: 560px;
}

.wv-map-results-wide {
  padding: 20px;
  background: var(--surface);
}

.wv-map-results-wide .wv-map-results-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.wv-map-results-wide .wv-map-results-head h3 {
  font-size: clamp(24px, 2.2vw, 34px);
  line-height: 1.05;
}

.wv-map-results-wide .wv-map-results-head span {
  flex: 0 0 auto;
  color: var(--primary);
  font-weight: 850;
}

.wv-map-results-wide .wv-map-results-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.wv-map-results-wide .wv-map-result-row,
.wv-map-results-list .wv-map-result-row {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) max-content;
  align-items: center;
  gap: 14px;
  min-height: 112px;
  padding: 16px;
  border-radius: 20px;
  border: 1px solid var(--border);
  background: var(--bg);
  color: var(--primary);
  text-decoration: none;
  min-width: 0;
}

.wv-map-results-wide .wv-map-result-icon,
.wv-map-results-list .wv-map-result-icon {
  width: 56px;
  height: 56px;
  border-radius: 18px;
}

.wv-map-results-wide .wv-map-result-text strong,
.wv-map-results-list .wv-map-result-text strong {
  font-size: 17px;
  line-height: 1.15;
  margin-bottom: 6px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.wv-map-results-wide .wv-map-result-text small,
.wv-map-results-list .wv-map-result-text small {
  font-size: 13px;
  line-height: 1.25;
}

.wv-map-results-wide .wv-map-result-action,
.wv-map-results-list .wv-map-result-action {
  justify-self: end;
  align-self: center;
  min-height: 34px;
  padding: 0 13px;
  border-radius: 999px;
  background: var(--primary);
  color: #fff;
  font-size: 12px;
  font-weight: 950;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}

.wv-map-results-wide .wv-map-result-row:hover,
.wv-map-results-wide .wv-map-result-row:focus-visible,
.wv-map-results-list .wv-map-result-row:hover,
.wv-map-results-list .wv-map-result-row:focus-visible {
  border-color: var(--green);
}

.wv-map-results-wide .wv-map-result-row:hover .wv-map-result-action,
.wv-map-results-wide .wv-map-result-row:focus-visible .wv-map-result-action,
.wv-map-results-list .wv-map-result-row:hover .wv-map-result-action,
.wv-map-results-list .wv-map-result-row:focus-visible .wv-map-result-action {
  background: var(--green);
}

.wv-places-map-section .wv-map-workspace .wv-map-full {
  min-height: 520px;
}

@media (max-width: 1180px) {
  .wv-map-commandbar,
  .wv-map-command-main {
    grid-template-columns: 1fr;
  }

  .wv-map-command-actions {
    justify-content: flex-start;
  }

  .wv-map-results-wide .wv-map-results-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .wv-map-area-strip,
  .wv-map-area-strip.large,
  .wv-category-strip {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: none;
  }

  .wv-map-area-strip::-webkit-scrollbar,
  .wv-category-strip::-webkit-scrollbar {
    display: none;
  }

  .wv-map-workspace {
    border-radius: 22px;
  }

  .wv-map-commandbar {
    padding: 12px;
  }

  .wv-map-command-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
  }

  .wv-map-command-actions .wv-button {
    width: 100%;
    padding: 0 12px;
  }

  .wv-map-command-actions .wv-button.primary {
    grid-column: 1 / -1;
  }

  .wv-map-workspace .wv-map-full {
    height: 62vh;
    min-height: 420px;
  }

  .wv-map-results-wide .wv-map-results-list {
    grid-template-columns: 1fr;
  }

  .wv-map-results-wide .wv-map-result-row,
  .wv-map-results-list .wv-map-result-row {
    grid-template-columns: 50px minmax(0, 1fr);
    min-height: 94px;
    padding: 13px;
    gap: 12px;
  }

  .wv-map-results-wide .wv-map-result-icon,
  .wv-map-results-list .wv-map-result-icon {
    width: 50px;
    height: 50px;
  }

  .wv-map-results-wide .wv-map-result-action,
  .wv-map-results-list .wv-map-result-action {
    grid-column: 2;
    justify-self: start;
    margin-top: 4px;
  }
}

@media (max-width: 520px) {
  .wv-map-search-label {
    height: 52px;
  }

  .wv-map-command-status {
    min-height: 48px;
  }

  .wv-map-results-wide {
    padding: 14px;
  }

  .wv-map-results-wide .wv-map-results-head {
    display: block;
  }

  .wv-map-results-wide .wv-map-results-head span {
    display: inline-flex;
    margin-top: 8px;
  }
}

/* v24: stable UX polish for map/places/shelters without changing data flow */
.wv-page-hero.compact,
.wv-seo-hero,
.wv-map-landing-hero{
  padding-top:44px;
  padding-bottom:28px;
}
.wv-hero-split{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(240px,320px);
  gap:28px;
  align-items:end;
}
.wv-hero-split h1,
.wv-seo-hero-copy h1,
.wv-map-hero-copy h1{
  max-width:880px;
}
.wv-hero-mini-panel,
.wv-seo-hero-panel,
.wv-map-hero-panel{
  align-self:stretch;
  display:grid;
  gap:12px;
  align-content:center;
}
.wv-hero-mini-panel{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:22px;
}
.wv-hero-mini-panel strong{
  display:block;
  font-size:38px;
  line-height:1;
  letter-spacing:-.04em;
  color:var(--primary);
}
.wv-hero-mini-panel span{
  display:block;
  margin-top:6px;
  color:var(--secondary);
  font-weight:850;
  line-height:1.35;
}
.wv-landing-nav-section{
  padding-top:18px;
  padding-bottom:30px;
}
.wv-landing-nav-section .wv-section-head{
  margin-bottom:14px;
}
.wv-section.wv-focused-map-section,
.wv-section.wv-map-landing-section,
.wv-section.wv-places-map-section{
  padding-top:36px;
}
.wv-map-toolbar,
.wv-section-head.split{
  align-items:flex-end;
}
.wv-map-toolbar.compact-toolbar,
.wv-map-toolbar[data-map-toolbar],
.wv-focused-map-section .wv-section-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,520px);
  gap:24px;
  align-items:end;
}
.wv-map-toolbar h2,
.wv-focused-map-section .wv-section-head h2{
  max-width:760px;
}
.wv-map-toolbar-note,
.wv-focused-map-section .wv-section-head p{
  margin:0;
  color:var(--secondary);
  font-weight:780;
  line-height:1.5;
}
.wv-map-selection-card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:14px;
  display:grid;
  gap:12px;
  margin:18px 0 18px;
}
.wv-map-selection-card.single-row{
  margin-top:14px;
}
.wv-map-selection-block{
  display:grid;
  gap:8px;
}
.wv-map-selection-block>span{
  color:var(--green);
  font-size:12px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding-left:4px;
}
.wv-map-selection-card .wv-area-strip,
.wv-map-area-strip,
.wv-area-strip.large{
  display:flex;
  gap:8px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:0 0 2px;
  scrollbar-width:thin;
}
.wv-map-selection-card .wv-area-pill,
.wv-map-area-strip .wv-area-pill,
.wv-area-strip.large .wv-area-pill{
  flex:0 0 auto;
  min-height:42px;
  padding:9px 16px;
  font-size:14px;
  background:var(--surface);
}
.wv-map-selection-card .wv-area-pill.active,
.wv-map-area-strip .wv-area-pill.active,
.wv-area-strip.large .wv-area-pill.active{
  background:var(--green);
  border-color:var(--green);
  color:#fff;
}
.wv-map-workspace{
  width:100%;
  min-width:0;
}
.wv-map-commandbar{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius) var(--radius) 0 0;
  padding:14px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
}
.wv-map-command-main{
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(128px,160px);
  gap:12px;
  align-items:center;
  min-width:0;
}
.wv-map-search-label{
  height:54px;
  min-width:0;
}
.wv-map-command-status{
  min-height:54px;
  border:1px solid var(--border);
  border-radius:18px;
  padding:8px 12px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:var(--bg);
}
.wv-map-command-status strong{
  font-size:22px;
  line-height:1;
  letter-spacing:-.03em;
}
.wv-map-command-status span{
  color:var(--secondary);
  font-weight:850;
  font-size:12px;
  line-height:1.15;
}
.wv-map-command-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.wv-map-command-actions .wv-button{
  min-height:54px;
  white-space:nowrap;
}
.wv-map-canvas-panel{
  border-left:1px solid var(--border);
  border-right:1px solid var(--border);
  background:var(--surface);
  overflow:hidden;
}
.wv-map-canvas-panel .wv-map{
  border-radius:0;
  border:0;
}
.wv-map-results-panel.wv-map-results-wide{
  border-radius:0 0 var(--radius) var(--radius);
  border-top:0;
  padding:18px;
  background:var(--surface);
}
.wv-map-results-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
}
.wv-map-results-head h3{
  font-size:28px;
  letter-spacing:-.035em;
}
.wv-map-results-head [data-map-result-summary]{
  color:var(--primary);
  font-weight:850;
  white-space:nowrap;
}
.wv-map-results-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  max-height:none;
  overflow:visible;
  padding:0;
}
.wv-map-result-row{
  width:100%;
  min-height:118px;
  display:grid;
  grid-template-columns:54px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  padding:16px;
  border:1px solid var(--border);
  border-radius:18px;
  background:var(--bg);
  color:var(--primary);
  text-align:left;
  text-decoration:none;
}
.wv-map-result-row:hover,
.wv-map-result-row:focus-visible{
  border-color:var(--green);
  outline:none;
}
.wv-map-result-icon{
  width:54px;
  height:54px;
  border-radius:16px;
}
.wv-map-result-text{
  min-width:0;
}
.wv-map-result-text strong{
  font-size:17px;
  line-height:1.12;
  letter-spacing:-.02em;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.wv-map-result-text small{
  margin-top:5px;
  font-size:13px;
  color:var(--secondary);
  font-weight:800;
  line-height:1.25;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.wv-map-result-text em{
  margin-top:5px;
  color:var(--green);
  font-style:normal;
  font-size:13px;
  font-weight:900;
  display:block;
}
.wv-map-result-action{
  align-self:center;
  justify-self:end;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 13px;
  border-radius:999px;
  background:var(--primary);
  color:#fff;
  font-size:12px;
  font-weight:950;
  white-space:nowrap;
}
.wv-map-filter-drawer{
  z-index:10040;
}
.wv-map-drawer-backdrop{
  z-index:10030;
}
.leaflet-pane,
.leaflet-top,
.leaflet-bottom{
  z-index:10!important;
}
.wv-map-drawer-open .leaflet-pane,
.wv-map-drawer-open .leaflet-top,
.wv-map-drawer-open .leaflet-bottom{
  z-index:1!important;
}
@media (max-width:1180px){
  .wv-map-results-list{grid-template-columns:repeat(2,minmax(0,1fr));}
  .wv-map-commandbar{grid-template-columns:1fr;}
  .wv-map-command-actions{justify-content:flex-start;}
}
@media (max-width:860px){
  .wv-page-hero.compact,
  .wv-seo-hero,
  .wv-map-landing-hero{padding-top:30px;padding-bottom:22px;}
  .wv-hero-split,
  .wv-seo-hero-grid,
  .wv-map-hero-grid,
  .wv-map-toolbar.compact-toolbar,
  .wv-map-toolbar[data-map-toolbar],
  .wv-focused-map-section .wv-section-head{grid-template-columns:1fr;gap:16px;}
  .wv-map-command-main{grid-template-columns:1fr;}
  .wv-map-command-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
  .wv-map-command-actions .wv-button.primary{grid-column:1/-1;}
  .wv-map-results-list{grid-template-columns:1fr;}
  .wv-map-result-row{grid-template-columns:48px minmax(0,1fr);min-height:auto;}
  .wv-map-result-action{grid-column:2;justify-self:start;margin-top:4px;}
  .wv-map-result-icon{width:48px;height:48px;}
}
@media (max-width:560px){
  .wv-map-commandbar,.wv-map-results-panel.wv-map-results-wide,.wv-map-selection-card{padding:12px;}
  .wv-map-command-actions{grid-template-columns:1fr;}
  .wv-map-results-head{align-items:flex-start;flex-direction:column;gap:6px;}
  .wv-map-result-row{padding:12px;gap:10px;}
}

/* v25: detail pages, blog guide flow and affiliate product blocks */
.wv-detail-hero{
  padding:54px 0 26px;
  background:var(--bg);
}
.wv-detail-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(280px,430px);
  gap:28px;
  align-items:end;
}
.wv-detail-hero-copy h1{
  font-size:clamp(46px,6vw,82px);
  line-height:.95;
  letter-spacing:-.06em;
  margin:0 0 18px;
  max-width:980px;
}
.wv-detail-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:28px;
}
.wv-detail-summary-card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:16px;
  display:grid;
  gap:10px;
}
.wv-detail-summary-card>div{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  column-gap:12px;
  align-items:center;
  padding:13px;
  border-radius:18px;
  background:var(--bg);
  border:1px solid var(--border);
}
.wv-detail-summary-card .wv-icon{
  grid-row:1 / span 2;
  width:46px;
  height:46px;
  border-radius:15px;
  background:var(--primary);
  color:#fff;
  display:grid;
  place-items:center;
}
.wv-detail-summary-card strong{
  display:block;
  min-width:0;
  color:var(--primary);
  font-size:22px;
  font-weight:950;
  line-height:1.05;
  overflow-wrap:anywhere;
}
.wv-detail-summary-card span{
  color:var(--secondary);
  font-size:13px;
  font-weight:850;
}
.wv-detail-map-section{
  padding-top:26px;
}
.wv-detail-map-card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
}
.wv-detail-map-head{
  padding:20px;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:22px;
  border-bottom:1px solid var(--border);
}
.wv-detail-map-head h2{
  margin:0 0 6px;
  font-size:clamp(28px,3vw,42px);
  line-height:1.04;
  letter-spacing:-.04em;
}
.wv-detail-map-head p{
  margin:0;
  color:var(--secondary);
  font-weight:760;
}
.wv-detail-map-head>span{
  flex:0 0 auto;
  font-weight:950;
  color:var(--green);
}
.wv-detail-map-card .wv-map.detail{
  height:min(62vh,620px);
  min-height:460px;
  border:0;
}
.wv-detail-main-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:24px;
  align-items:start;
}
.wv-detail-info-card,
.wv-detail-side-card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:24px;
}
.wv-detail-info-card h2,
.wv-detail-side-card h2{
  margin:0 0 12px;
  font-size:clamp(28px,3vw,42px);
  line-height:1.05;
  letter-spacing:-.04em;
}
.wv-detail-side-stack{
  display:grid;
  gap:14px;
  position:sticky;
  top:96px;
}
.wv-detail-side-card p{
  color:var(--secondary);
  font-weight:760;
  line-height:1.5;
}
.wv-detail-side-card.compact h3{
  margin:0 0 12px;
  font-size:20px;
}
.wv-detail-side-card dl,
.wv-detail-side-card dl div{
  display:grid;
  gap:8px;
}
.wv-detail-side-card dl{
  margin:0;
}
.wv-detail-side-card dl div{
  grid-template-columns:minmax(0,1fr) auto;
  padding:10px 0;
  border-top:1px solid var(--border);
}
.wv-detail-side-card dt{
  color:var(--secondary);
  font-weight:800;
}
.wv-detail-side-card dd{
  margin:0;
  color:var(--primary);
  font-weight:950;
  text-align:right;
}
.wv-detail-feature-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:24px;
}
.wv-detail-feature-grid div{
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:18px;
  padding:14px;
}
.wv-detail-feature-grid strong,
.wv-detail-feature-grid span{
  display:block;
}
.wv-detail-feature-grid strong{
  color:var(--primary);
  font-size:18px;
  line-height:1.15;
  overflow-wrap:anywhere;
}
.wv-detail-feature-grid span{
  color:var(--secondary);
  font-size:13px;
  font-weight:850;
  margin-top:4px;
}
.wv-affiliate-section{
  background:var(--surface-2);
}
.wv-affiliate-disclosure{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  background:var(--bg);
  border:1px solid var(--border);
  color:var(--secondary);
  font-size:12px;
  font-weight:950;
  white-space:nowrap;
}
.wv-affiliate-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.wv-affiliate-card{
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  overflow:hidden;
}
.wv-affiliate-card:hover{
  border-color:var(--green);
}
.wv-affiliate-card>a{
  display:grid;
  grid-template-rows:230px minmax(0,1fr);
  min-height:100%;
  color:inherit;
  text-decoration:none;
}
.wv-affiliate-card>a:focus-visible{
  outline:3px solid rgba(47, 101, 61, .28);
  outline-offset:4px;
}
.wv-affiliate-image{
  background:#fff;
  border-bottom:1px solid var(--border);
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:16px;
}
.wv-affiliate-image-fallback{
  background:var(--bg);
}
.wv-affiliate-image img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.wv-affiliate-body{
  padding:18px;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:210px;
}
.wv-affiliate-merchant{
  margin:0;
  color:var(--green);
  font-size:12px;
  font-weight:950;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.wv-affiliate-card h3{
  margin:0;
  font-size:21px;
  line-height:1.12;
  letter-spacing:-.025em;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.wv-affiliate-card p{
  margin:0;
  color:var(--secondary);
  font-weight:720;
  line-height:1.45;
}
.wv-affiliate-bottom{
  margin-top:auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding-top:12px;
}
.wv-affiliate-bottom strong{
  color:var(--primary);
  font-size:20px;
}
.wv-affiliate-bottom span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  background:var(--primary);
  color:#fff;
  font-size:12px;
  font-weight:950;
  white-space:nowrap;
}
.guide-path-section{
  padding-top:34px;
}
.guide-path-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.guide-path-grid a{
  min-height:172px;
  background:var(--surface);
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:20px;
  display:flex;
  flex-direction:column;
  gap:10px;
  color:inherit;
  text-decoration:none;
}
.guide-path-grid a:hover{
  border-color:var(--green);
}
.guide-path-grid span:first-child{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:16px;
  background:var(--green);
  color:#fff;
}
.guide-path-grid strong{
  font-size:24px;
  line-height:1.1;
}
.guide-path-grid small{
  color:var(--secondary);
  font-size:15px;
  line-height:1.45;
  font-weight:740;
}
.article-cta-card .wv-button + .wv-button{
  margin-top:10px;
}
.article-hero-v2{
  background:var(--bg);
}
.article-hero-image{
  border:1px solid var(--border);
  border-radius:var(--radius);
  min-height:320px;
  background:var(--surface);
  display:grid;
  place-items:center;
  overflow:hidden;
}
.article-hero-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
@media (max-width:1100px){
  .wv-detail-hero-grid,
  .wv-detail-main-grid{
    grid-template-columns:1fr;
  }
  .wv-detail-side-stack{
    position:static;
  }
  .wv-affiliate-grid,
  .guide-path-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:720px){
  .wv-detail-hero{
    padding-top:34px;
  }
  .wv-detail-hero-copy h1{
    font-size:clamp(40px,12vw,56px);
  }
  .wv-detail-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .wv-detail-map-head{
    display:block;
    padding:16px;
  }
  .wv-detail-map-head>span,
  .wv-detail-map-head .wv-link{
    display:inline-flex;
    margin-top:10px;
  }
  .wv-detail-map-card .wv-map.detail{
    min-height:390px;
    height:56vh;
  }
  .wv-detail-feature-grid,
  .wv-affiliate-grid,
  .guide-path-grid{
    grid-template-columns:1fr;
  }
  .wv-detail-info-card,
  .wv-detail-side-card{
    padding:18px;
    border-radius:20px;
  }
  .wv-affiliate-card>a{
    grid-template-rows:210px auto;
  }
  .wv-affiliate-image{
    padding:14px;
  }
  .wv-affiliate-body{
    min-height:0;
  }
}

/* v27: Professionel navigation + ensartet steder-template. Kun målrettede UI-rettelser. */
.wv-pro-header{z-index:220;background:rgba(246,244,236,.99)}
.wv-pro-header-inner{gap:18px;position:relative}
.site-logo-text-wrap{display:grid;gap:1px;line-height:1}
.site-logo-subtitle{display:block;font-size:11px;font-weight:850;color:var(--secondary);letter-spacing:.02em;margin-top:3px}
.wv-pro-desktop-nav{margin-left:auto;align-self:stretch;display:flex;align-items:center}
.wv-pro-nav-list{height:100%;gap:3px}
.wv-pro-nav-item{position:relative;height:100%;display:flex;align-items:center}
.wv-pro-nav-item>a{gap:7px;height:46px;padding:0 13px;border:1px solid transparent;color:var(--secondary)}
.wv-pro-nav-item>a .wv-icon svg{width:16px;height:16px}
.wv-pro-nav-item:hover>a,.wv-pro-nav-item:focus-within>a{background:var(--surface);border-color:var(--border);color:var(--primary)}
.wv-nav-panel{position:absolute;top:calc(100% - 6px);left:0;width:320px;display:grid;gap:8px;padding:10px;background:var(--surface);border:1px solid var(--border);border-radius:20px;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .16s ease,transform .16s ease,visibility .16s ease;z-index:260}
.wv-pro-nav-item:hover .wv-nav-panel,.wv-pro-nav-item:focus-within .wv-nav-panel{opacity:1;visibility:visible;transform:translateY(0)}
.wv-nav-panel a{display:grid;gap:2px;min-height:0;padding:12px;border-radius:14px;border:1px solid transparent;background:transparent;color:var(--primary)}
.wv-nav-panel a:hover{background:var(--bg);border-color:var(--border)}
.wv-nav-panel strong{font-size:14px;line-height:1.15}
.wv-nav-panel small{font-size:12px;color:var(--secondary);font-weight:760;line-height:1.35}
.wv-header-actions{display:flex;align-items:center;gap:10px;margin-left:6px}
.wv-header-actions .header-cta{min-height:44px;padding-inline:16px}
.wv-header-actions .header-cta .wv-icon svg{width:16px;height:16px}
.wv-mobile-menu-backdrop{position:fixed;inset:var(--header-h) 0 0;background:rgba(26,31,23,.36);z-index:205}
.wv-mobile-menu-backdrop[hidden]{display:none!important}
.wv-pro-mobile-menu{inset:var(--header-h) 0 auto 0;background:transparent;border:0;padding:12px 0 24px;z-index:230;max-height:calc(100vh - var(--header-h));overflow:auto}
.wv-pro-mobile-inner{background:var(--bg);border:1px solid var(--border);border-radius:24px;padding:12px;gap:9px}
.wv-mobile-menu-head{padding:8px 6px 10px;display:grid;gap:2px}
.wv-mobile-menu-head strong{font-size:21px;line-height:1.1;letter-spacing:-.03em}
.wv-mobile-menu-head span{font-size:13px;color:var(--secondary);font-weight:760}
.wv-pro-mobile-inner>a{border-radius:17px;padding:14px;background:var(--surface)}
.wv-pro-mobile-inner>a span .wv-icon{width:32px;height:32px;border-radius:11px;background:var(--primary);color:#fff;display:inline-grid;place-items:center;flex:0 0 auto}
.wv-pro-mobile-inner>a span .wv-icon svg{width:17px;height:17px}
.wv-pro-mobile-inner>a small{max-width:42%;line-height:1.25}
.wv-mobile-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:2px}
.wv-mobile-quick-grid a{justify-content:center;text-align:center;min-height:42px;padding:10px;border-radius:14px;background:var(--surface-2);border:1px solid var(--border);font-size:13px;font-weight:900}
.wv-pro-mobile-inner .mobile-menu-cta{margin-top:4px;min-height:52px;border-radius:999px;background:var(--primary);border-color:var(--primary);color:#fff;justify-content:center}
.wv-pro-mobile-inner .mobile-menu-cta:hover{background:var(--green);color:#fff}

.wv-places-hero .wv-seo-hero-panel,.wv-places-hero .wv-seo-stat{align-self:stretch}
.wv-places-selection{display:grid;gap:18px;padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}
.wv-places-selection .wv-map-selection-block{display:grid;gap:9px}
.wv-places-selection .wv-map-selection-block>span{font-size:12px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;color:var(--green)}
.wv-places-nav-section{padding-top:34px;padding-bottom:30px}
.wv-places-map-section{padding-top:36px}
.wv-places-map-section .wv-section-head{margin-bottom:18px}

@media(max-width:1180px){
  .wv-pro-nav-item>a{padding-inline:10px;font-size:14px}
  .site-logo-subtitle{display:none}
  .wv-header-actions .header-cta{padding-inline:13px}
}
@media(max-width:980px){
  .wv-pro-desktop-nav{display:none!important}
  .wv-header-actions{margin-left:auto}
  .wv-pro-header-inner{gap:12px}
  .site-logo-subtitle{display:block}
}
@media(max-width:720px){
  .wv-pro-mobile-menu{padding-top:10px}
  .wv-pro-mobile-inner{width:min(100% - 24px,var(--container));border-radius:22px}
  .wv-pro-mobile-inner>a{align-items:center}
  .wv-pro-mobile-inner>a small{text-align:right;max-width:46%}
  .wv-mobile-menu-head strong{font-size:19px}
  .wv-places-selection{padding:14px;border-radius:20px}
  .wv-places-nav-section{padding-top:26px;padding-bottom:24px}
}
@media(max-width:430px){
  .site-logo-subtitle{display:none}
  .wv-pro-mobile-inner>a{display:grid;grid-template-columns:1fr;gap:5px}
  .wv-pro-mobile-inner>a small{text-align:left;max-width:none;margin-left:42px}
  .wv-mobile-quick-grid{grid-template-columns:1fr 1fr}
}

/* v28: Kun menu, footer og breadcrumbs. Ingen ændringer i resten af sitets design. */
.wv-nav-panel-wide{width:390px;gap:10px;padding:12px}
.wv-nav-panel-feature a{background:var(--bg);border-color:var(--border)}
.wv-nav-panel-section{display:grid;gap:8px;padding-top:2px}
.wv-nav-panel-section>span{font-size:11px;font-weight:950;letter-spacing:.09em;text-transform:uppercase;color:var(--green)}
.wv-nav-area-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.wv-nav-area-grid a{min-height:38px;padding:9px 10px;border:1px solid var(--border);background:var(--surface-2);border-radius:12px;font-size:13px;font-weight:900;color:var(--primary)}
.wv-nav-area-grid a:hover{background:var(--primary);border-color:var(--primary);color:#fff}
.wv-nav-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.wv-pro-mobile-inner{gap:10px}
.wv-mobile-menu-group{display:grid;gap:8px;margin-top:2px;padding:10px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}
.wv-mobile-menu-group>strong{font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.08em;color:var(--green)}
.wv-mobile-area-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.wv-mobile-menu-group .wv-mobile-quick-grid a{display:flex;align-items:center;justify-content:center;margin:0;color:var(--primary)}

.wv-breadcrumbs{background:var(--surface-2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:14px 0;margin-top:46px}
.wv-breadcrumbs ol{list-style:none;margin:0;padding:0;display:flex;align-items:center;flex-wrap:wrap;gap:8px;color:var(--secondary);font-size:13px;font-weight:850}
.wv-breadcrumbs li{display:flex;align-items:center;gap:8px;min-width:0}
.wv-breadcrumbs li:not(:last-child)::after{content:'›';color:var(--muted);font-weight:950}
.wv-breadcrumbs a{color:var(--green);text-decoration:none}
.wv-breadcrumbs a:hover{color:var(--primary)}
.wv-breadcrumbs span{color:var(--secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:min(52vw,520px)}

.wv-pro-footer{margin-top:0;padding:44px 0 24px;background:var(--primary);color:#fff}
.wv-footer-top{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(170px,.65fr) minmax(190px,.75fr);gap:34px;align-items:start}
.wv-footer-brand{display:grid;gap:15px;max-width:520px}
.wv-footer-brand p{max-width:470px;margin:0;color:#e4e8dd;line-height:1.65;font-weight:650}
.wv-footer-cta{display:inline-flex!important;width:max-content;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;background:#fff;color:var(--primary)!important;font-weight:950;border:1px solid #fff;margin:0!important}
.wv-footer-cta:hover{background:transparent;color:#fff!important}
.wv-footer-col{display:grid;gap:7px}
.wv-footer-col h2,.wv-footer-areas h2{margin:0 0 7px;color:#fff;font-size:13px;letter-spacing:.09em;text-transform:uppercase;font-weight:950}
.wv-footer-col a,.wv-footer-areas a{color:#e4e8dd;text-decoration:none;margin:0;font-weight:800;line-height:1.45}
.wv-footer-col a:hover,.wv-footer-areas a:hover{color:#fff}
.wv-footer-areas{margin-top:30px;padding-top:24px;border-top:1px solid rgba(255,255,255,.18);display:grid;gap:12px}
.wv-footer-areas>div{display:flex;flex-wrap:wrap;gap:9px}
.wv-footer-areas a{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.05)}
.wv-footer-bottom{margin-top:26px;padding-top:18px;border-top:1px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:space-between;gap:14px;color:#cfd6c8;font-size:13px;font-weight:750}

@media(max-width:980px){
  .wv-footer-top{grid-template-columns:1fr 1fr;gap:26px}
  .wv-footer-brand{grid-column:1/-1}
}
@media(max-width:720px){
  .wv-nav-panel-wide{width:320px}
  .wv-mobile-area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wv-breadcrumbs{margin-top:34px;padding:12px 0}
  .wv-breadcrumbs ol{font-size:12px;gap:6px}
  .wv-breadcrumbs li{gap:6px}
  .wv-footer-top{grid-template-columns:1fr;gap:24px}
  .wv-footer-brand p{font-size:15px}
  .wv-footer-areas>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .wv-footer-areas a{justify-content:center;text-align:center}
  .wv-footer-bottom{display:grid;gap:6px;text-align:left}
}
@media(max-width:430px){
  .wv-mobile-area-grid{grid-template-columns:1fr 1fr}
  .wv-breadcrumbs span{max-width:68vw}
}

/* v29: Menu, footer og breadcrumbs gjort mere rene og konkrete. Ingen ændringer i øvrige templates. */
.wv-pro-header-inner{min-height:76px}
.site-logo-subtitle{display:block;margin-top:3px;font-size:12px;line-height:1;color:var(--secondary);font-weight:800;letter-spacing:-.01em}
.wv-pro-desktop-nav{align-self:stretch}
.wv-pro-nav-list{gap:2px}
.wv-pro-nav-item>a{height:44px;padding-inline:12px;border-radius:999px;font-size:14px;letter-spacing:-.01em}
.wv-pro-nav-item>a span{white-space:nowrap}
.wv-nav-panel-wide{width:360px;padding:12px;border-radius:18px;background:var(--surface);border:1px solid var(--border)}
.wv-nav-panel-feature a{background:var(--bg);border:1px solid var(--border);border-radius:14px;padding:13px 14px}
.wv-nav-panel-feature strong{font-size:15px;letter-spacing:-.01em}
.wv-nav-panel-feature small{font-size:12px;line-height:1.35;color:var(--secondary);font-weight:750}
.wv-nav-panel-section>span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--secondary);font-weight:950}
.wv-nav-area-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.wv-nav-area-grid a{min-height:39px;padding:9px 11px;border-radius:12px;background:#fff;border:1px solid var(--border);font-size:13px;font-weight:900;color:var(--primary);align-items:center;justify-content:flex-start}
.wv-nav-area-grid a:hover{background:var(--primary);border-color:var(--primary);color:#fff}
.wv-nav-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.wv-header-actions{display:flex;align-items:center;gap:10px;margin-left:auto}

.wv-pro-mobile-menu{z-index:230;padding:12px 0 24px;background:transparent}
.wv-pro-mobile-inner{background:var(--bg);border:1px solid var(--border);border-radius:24px;padding:14px;gap:10px}
.wv-mobile-menu-head{padding:6px 4px 8px}
.wv-mobile-menu-head strong{font-size:22px;letter-spacing:-.03em;color:var(--primary)}
.wv-mobile-menu-head span{display:block;margin-top:3px;font-size:13px;line-height:1.35;color:var(--secondary);font-weight:750}
.wv-mobile-primary-links{display:grid;gap:8px}
.wv-mobile-primary-links>a{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:54px;padding:12px 14px;border-radius:17px;background:#fff;border:1px solid var(--border);color:var(--primary);font-weight:950}
.wv-mobile-primary-links>a span{display:inline-flex;align-items:center;gap:10px}
.wv-mobile-primary-links>a .wv-icon{width:32px;height:32px;border-radius:11px;background:var(--primary);color:#fff;display:inline-grid;place-items:center;flex:0 0 auto}
.wv-mobile-primary-links>a .wv-icon svg{width:17px;height:17px}
.wv-mobile-primary-links>a small{color:var(--secondary);font-size:12px;font-weight:800;white-space:nowrap}
.wv-mobile-menu-group{background:#fff;border:1px solid var(--border);border-radius:18px;padding:12px;gap:9px}
.wv-mobile-menu-group>strong{font-size:11px;color:var(--secondary);letter-spacing:.08em;text-transform:uppercase;font-weight:950}
.wv-mobile-quick-grid a{background:var(--surface-2);border:1px solid var(--border);color:var(--primary)}
.wv-pro-mobile-inner .mobile-menu-cta{min-height:52px;border-radius:999px;background:var(--primary);border:1px solid var(--primary);color:#fff;font-weight:950;justify-content:center}

.wv-breadcrumbs{margin-top:44px;padding:0;background:transparent;border:0}
.wv-breadcrumbs .wv-container{border-top:1px solid var(--border);padding-top:16px}
.wv-breadcrumbs ol{font-size:13px;gap:7px;color:var(--secondary);font-weight:800}
.wv-breadcrumbs li{gap:7px}
.wv-breadcrumbs li:not(:last-child)::after{content:'›';color:var(--muted);font-weight:900}
.wv-breadcrumbs a{color:var(--secondary);text-decoration:none}
.wv-breadcrumbs a:hover{color:var(--green)}
.wv-breadcrumbs span{color:var(--primary);max-width:min(56vw,560px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.wv-pro-footer{margin-top:0;padding:42px 0 24px;background:var(--primary);color:#fff}
.wv-footer-top{grid-template-columns:minmax(0,1.3fr) minmax(170px,.7fr) minmax(190px,.8fr);gap:34px}
.wv-footer-brand{gap:14px}
.wv-footer-brand .footer-logo{color:#fff}
.wv-footer-brand .site-logo-mark{background:#fff;color:var(--primary)}
.wv-footer-brand p{color:#e8edde;font-size:15px;line-height:1.65;font-weight:650;max-width:500px}
.wv-footer-cta{background:#fff;color:var(--primary)!important;border:1px solid #fff;border-radius:999px;min-height:44px;padding-inline:16px;font-weight:950}
.wv-footer-cta:hover{background:transparent;color:#fff!important}
.wv-footer-col h2,.wv-footer-areas h2{font-size:12px;letter-spacing:.09em;text-transform:uppercase;color:#fff;margin-bottom:9px}
.wv-footer-col a,.wv-footer-areas a{color:#e8edde;font-size:14px;font-weight:800;line-height:1.45;text-decoration:none}
.wv-footer-col a:hover,.wv-footer-areas a:hover{color:#fff}
.wv-footer-areas{border-top:1px solid rgba(255,255,255,.18);margin-top:28px;padding-top:22px}
.wv-footer-areas>div{gap:8px}
.wv-footer-areas a{min-height:36px;padding:0 12px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.04)}
.wv-footer-bottom{border-top:1px solid rgba(255,255,255,.18);margin-top:24px;padding-top:18px;color:#cfd8c7;font-size:13px;font-weight:750}

@media (max-width:1120px){
  .wv-pro-nav-item>a{padding-inline:10px;font-size:13px}
  .wv-nav-panel-wide{width:330px}
}
@media (max-width:980px){
  .site-logo-subtitle{display:none}
  .wv-pro-desktop-nav{display:none!important}
  .header-cta{display:none}
  .mobile-menu-toggle{display:inline-flex}
  .wv-footer-top{grid-template-columns:1fr 1fr;gap:24px}
  .wv-footer-brand{grid-column:1/-1}
}
@media (max-width:720px){
  .wv-pro-header-inner{min-height:68px}
  .wv-pro-mobile-inner{width:min(100% - 24px,var(--container));border-radius:22px}
  .wv-mobile-area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wv-mobile-primary-links>a{min-height:52px}
  .wv-mobile-primary-links>a small{font-size:11px}
  .wv-breadcrumbs{margin-top:30px}
  .wv-breadcrumbs .wv-container{padding-top:12px}
  .wv-breadcrumbs ol{font-size:12px;gap:6px}
  .wv-breadcrumbs span{max-width:64vw}
  .wv-footer-top{grid-template-columns:1fr;gap:24px}
  .wv-footer-areas>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .wv-footer-areas a{justify-content:center;text-align:center}
  .wv-footer-bottom{display:grid;gap:6px;text-align:left}
}
@media (max-width:420px){
  .wv-mobile-primary-links>a{display:grid;grid-template-columns:1fr;gap:4px;align-items:start}
  .wv-mobile-primary-links>a small{padding-left:42px;white-space:normal}
  .wv-breadcrumbs span{max-width:70vw}
}


/* v31: Kort-filter skal ikke blokere desktop-UI som et stort mørkt overlay.
   Desktop: kompakt panel inde i kortboksen.
   Mobil: bottom sheet med backdrop som før. */
@media (min-width: 821px) {
  .wv-map-workspace {
    isolation: isolate;
  }

  .wv-map-drawer-backdrop {
    display: none !important;
  }

  .wv-map-filter-drawer {
    position: absolute !important;
    top: 86px !important;
    right: 16px !important;
    bottom: auto !important;
    left: auto !important;
    width: min(430px, calc(100% - 32px)) !important;
    max-width: min(430px, calc(100% - 32px)) !important;
    max-height: min(680px, calc(100vh - 150px)) !important;
    height: auto !important;
    padding: 18px !important;
    border: 1px solid var(--border) !important;
    border-radius: 24px !important;
    background: var(--surface) !important;
    transform: translateY(-8px) scale(.98) !important;
    opacity: 0 !important;
    pointer-events: none !important;
    z-index: 40 !important;
    overflow: auto !important;
  }

  .wv-map-filter-drawer.is-open {
    transform: translateY(0) scale(1) !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }

  body.wv-map-drawer-open {
    overflow: auto !important;
  }

  body.wv-map-drawer-open .wv-map-workspace .leaflet-control-container {
    pointer-events: auto !important;
  }

  .wv-map-drawer-head {
    gap: 12px;
    margin-bottom: 14px;
    padding-bottom: 14px;
  }

  .wv-map-drawer-head h3 {
    font-size: 28px;
  }

  .wv-map-drawer-head p:not(.wv-eyebrow) {
    font-size: 15px;
    line-height: 1.45;
  }
}

@media (max-width: 820px) {
  .wv-map-filter-drawer {
    z-index: 10040 !important;
  }

  .wv-map-drawer-backdrop {
    z-index: 10030 !important;
  }
}


/* v32: Ikon- og farvekontinuitet på tværs af menu, kort, cards og detaljer. */
.wv-iconbox.route,
.wv-route-card .wv-iconbox,
.wv-map-result-icon.route,
.wv-map-marker.route{background:var(--wv-route-color);}
.wv-iconbox.tent,
.wv-place-card[data-category="tent"] .wv-iconbox,
.wv-map-result-icon.tent,
.wv-map-marker.tent,
.wv-layer-toggle[data-layer-toggle="tent"] .wv-layer-icon,
.quick-links-grid a[href*="shelter"] > .wv-icon,
.wv-detail-summary-card .wv-icon.tent{background:var(--wv-tent-color);color:#fff;}
.wv-iconbox.toilet,
.wv-place-card[data-category="toilet"] .wv-iconbox,
.wv-map-result-icon.toilet,
.wv-map-marker.toilet,
.wv-layer-toggle[data-layer-toggle="toilet"] .wv-layer-icon,
.wv-detail-summary-card .wv-icon.toilet{background:var(--wv-toilet-color);color:#fff;}
.wv-iconbox.water,
.wv-place-card[data-category="water"] .wv-iconbox,
.wv-map-result-icon.water,
.wv-map-marker.water,
.wv-layer-toggle[data-layer-toggle="water"] .wv-layer-icon,
.quick-links-grid a[href*="vandpost"] > .wv-icon,
.wv-detail-summary-card .wv-icon.water{background:var(--wv-water-color);color:#fff;}
.wv-iconbox.parking,
.wv-place-card[data-category="parking"] .wv-iconbox,
.wv-map-result-icon.parking,
.wv-map-marker.parking,
.wv-layer-toggle[data-layer-toggle="parking"] .wv-layer-icon,
.quick-links-grid a[href*="parkering"] > .wv-icon,
.wv-detail-summary-card .wv-icon.parking{background:var(--wv-parking-color);color:#fff;}
.wv-iconbox.fire,
.wv-place-card[data-category="fire"] .wv-iconbox,
.wv-map-result-icon.fire,
.wv-map-marker.fire,
.wv-layer-toggle[data-layer-toggle="fire"] .wv-layer-icon,
.wv-detail-summary-card .wv-icon.fire{background:var(--wv-fire-color);color:#fff;}
.wv-iconbox.food,
.wv-place-card[data-category="food"] .wv-iconbox,
.wv-map-result-icon.food,
.wv-map-marker.food,
.wv-layer-toggle[data-layer-toggle="food"] .wv-layer-icon,
.wv-detail-summary-card .wv-icon.food{background:var(--wv-food-color);color:#fff;}
.wv-iconbox.bus,
.wv-place-card[data-category="bus"] .wv-iconbox,
.wv-map-result-icon.bus,
.wv-map-marker.bus,
.wv-layer-toggle[data-layer-toggle="bus"] .wv-layer-icon,
.wv-detail-summary-card .wv-icon.bus{background:var(--wv-bus-color);color:#fff;}
.wv-iconbox.firstaid,
.wv-place-card[data-category="firstaid"] .wv-iconbox,
.wv-map-result-icon.firstaid,
.wv-map-marker.firstaid,
.wv-layer-toggle[data-layer-toggle="firstaid"] .wv-layer-icon,
.wv-detail-summary-card .wv-icon.firstaid{background:var(--wv-firstaid-color);color:#fff;}
.wv-iconbox.bike,
.wv-place-card[data-category="bike"] .wv-iconbox,
.wv-map-result-icon.bike,
.wv-map-marker.bike,
.wv-layer-toggle[data-layer-toggle="bike"] .wv-layer-icon,
.wv-detail-summary-card .wv-icon.bike{background:var(--wv-bike-color);color:#fff;}
.wv-iconbox.pin,
.wv-place-card[data-category="pin"] .wv-iconbox,
.wv-map-result-icon.pin,
.wv-map-marker.pin,
.wv-layer-toggle[data-layer-toggle="pin"] .wv-layer-icon,
.wv-detail-summary-card .wv-icon.pin{background:var(--wv-pin-color);color:#fff;}
.wv-layer-icon,
.wv-map-result-icon,
.wv-map-marker,
.wv-iconbox{color:#fff;}
.wv-layer-toggle input:not(:checked) ~ .wv-layer-icon{background:var(--bg);color:var(--secondary);}
.wv-map-marker.place{background:var(--wv-pin-color);}
.wv-map-marker svg,
.wv-map-result-icon svg,
.wv-layer-icon svg,
.wv-iconbox svg{display:block;}
.wv-detail-summary-card .wv-icon svg{width:20px;height:20px;}

/* v35: Samme kategori = samme ikonfarve på hele sitet. Ingen layoutændringer. */
.wv-icon.route{color:var(--wv-route-color);}
.wv-icon.tent{color:var(--wv-tent-color);}
.wv-icon.toilet{color:var(--wv-toilet-color);}
.wv-icon.water{color:var(--wv-water-color);}
.wv-icon.parking{color:var(--wv-parking-color);}
.wv-icon.fire{color:var(--wv-fire-color);}
.wv-icon.food{color:var(--wv-food-color);}
.wv-icon.bus{color:var(--wv-bus-color);}
.wv-icon.firstaid{color:var(--wv-firstaid-color);}
.wv-icon.bike{color:var(--wv-bike-color);}
.wv-icon.pin{color:var(--wv-pin-color);}
.wv-detail-summary-card .wv-icon.route{background:var(--wv-route-color);color:#fff;}
.wv-detail-summary-card .wv-icon.tent{background:var(--wv-tent-color);color:#fff;}
.wv-detail-summary-card .wv-icon.toilet{background:var(--wv-toilet-color);color:#fff;}
.wv-detail-summary-card .wv-icon.water{background:var(--wv-water-color);color:#fff;}
.wv-detail-summary-card .wv-icon.parking{background:var(--wv-parking-color);color:#fff;}
.wv-detail-summary-card .wv-icon.fire{background:var(--wv-fire-color);color:#fff;}
.wv-detail-summary-card .wv-icon.food{background:var(--wv-food-color);color:#fff;}
.wv-detail-summary-card .wv-icon.bus{background:var(--wv-bus-color);color:#fff;}
.wv-detail-summary-card .wv-icon.firstaid{background:var(--wv-firstaid-color);color:#fff;}
.wv-detail-summary-card .wv-icon.bike{background:var(--wv-bike-color);color:#fff;}
.wv-detail-summary-card .wv-icon.pin{background:var(--wv-pin-color);color:#fff;}
.wv-map-result-action{white-space:nowrap;}


/* v36: Sitewide ikon-kontinuitet. Samme type = samme ikonboks og farve overalt. */
.wv-iconbox.route,
.wv-layer-toggle[data-layer-toggle="route"] .wv-layer-icon,
.wv-map-result-icon.route,
.wv-map-marker.route,
.wv-seo-stat .wv-icon.route,
.wv-detail-summary-card .wv-icon.route,
.wv-feature-card > .wv-icon.route,
.quick-links-grid a > .wv-icon.route,
.wv-mobile-primary-links>a .wv-icon.route{
  background:var(--wv-route-color)!important;
  color:#fff!important;
  border-color:var(--wv-route-color)!important;
}
.wv-iconbox.tent,
.wv-layer-toggle[data-layer-toggle="tent"] .wv-layer-icon,
.wv-map-result-icon.tent,
.wv-map-marker.tent,
.wv-seo-stat .wv-icon.tent,
.wv-detail-summary-card .wv-icon.tent,
.wv-feature-card > .wv-icon.tent,
.quick-links-grid a > .wv-icon.tent,
.wv-mobile-primary-links>a .wv-icon.tent{
  background:var(--wv-tent-color)!important;
  color:#fff!important;
  border-color:var(--wv-tent-color)!important;
}
.wv-iconbox.toilet,
.wv-layer-toggle[data-layer-toggle="toilet"] .wv-layer-icon,
.wv-map-result-icon.toilet,
.wv-map-marker.toilet,
.wv-seo-stat .wv-icon.toilet,
.wv-detail-summary-card .wv-icon.toilet,
.wv-feature-card > .wv-icon.toilet,
.quick-links-grid a > .wv-icon.toilet,
.wv-mobile-primary-links>a .wv-icon.toilet{
  background:var(--wv-toilet-color)!important;
  color:#fff!important;
  border-color:var(--wv-toilet-color)!important;
}
.wv-iconbox.water,
.wv-layer-toggle[data-layer-toggle="water"] .wv-layer-icon,
.wv-map-result-icon.water,
.wv-map-marker.water,
.wv-seo-stat .wv-icon.water,
.wv-detail-summary-card .wv-icon.water,
.wv-feature-card > .wv-icon.water,
.quick-links-grid a > .wv-icon.water,
.wv-mobile-primary-links>a .wv-icon.water{
  background:var(--wv-water-color)!important;
  color:#fff!important;
  border-color:var(--wv-water-color)!important;
}
.wv-iconbox.parking,
.wv-layer-toggle[data-layer-toggle="parking"] .wv-layer-icon,
.wv-map-result-icon.parking,
.wv-map-marker.parking,
.wv-seo-stat .wv-icon.parking,
.wv-detail-summary-card .wv-icon.parking,
.wv-feature-card > .wv-icon.parking,
.quick-links-grid a > .wv-icon.parking,
.wv-mobile-primary-links>a .wv-icon.parking{
  background:var(--wv-parking-color)!important;
  color:#fff!important;
  border-color:var(--wv-parking-color)!important;
}
.wv-iconbox.fire,
.wv-layer-toggle[data-layer-toggle="fire"] .wv-layer-icon,
.wv-map-result-icon.fire,
.wv-map-marker.fire,
.wv-seo-stat .wv-icon.fire,
.wv-detail-summary-card .wv-icon.fire,
.wv-feature-card > .wv-icon.fire,
.quick-links-grid a > .wv-icon.fire,
.wv-mobile-primary-links>a .wv-icon.fire{
  background:var(--wv-fire-color)!important;
  color:#fff!important;
  border-color:var(--wv-fire-color)!important;
}
.wv-iconbox.food,
.wv-layer-toggle[data-layer-toggle="food"] .wv-layer-icon,
.wv-map-result-icon.food,
.wv-map-marker.food,
.wv-seo-stat .wv-icon.food,
.wv-detail-summary-card .wv-icon.food,
.wv-feature-card > .wv-icon.food,
.quick-links-grid a > .wv-icon.food,
.wv-mobile-primary-links>a .wv-icon.food{
  background:var(--wv-food-color)!important;
  color:#fff!important;
  border-color:var(--wv-food-color)!important;
}
.wv-iconbox.bus,
.wv-layer-toggle[data-layer-toggle="bus"] .wv-layer-icon,
.wv-map-result-icon.bus,
.wv-map-marker.bus,
.wv-seo-stat .wv-icon.bus,
.wv-detail-summary-card .wv-icon.bus,
.wv-feature-card > .wv-icon.bus,
.quick-links-grid a > .wv-icon.bus,
.wv-mobile-primary-links>a .wv-icon.bus{
  background:var(--wv-bus-color)!important;
  color:#fff!important;
  border-color:var(--wv-bus-color)!important;
}
.wv-iconbox.firstaid,
.wv-layer-toggle[data-layer-toggle="firstaid"] .wv-layer-icon,
.wv-map-result-icon.firstaid,
.wv-map-marker.firstaid,
.wv-seo-stat .wv-icon.firstaid,
.wv-detail-summary-card .wv-icon.firstaid,
.wv-feature-card > .wv-icon.firstaid,
.quick-links-grid a > .wv-icon.firstaid,
.wv-mobile-primary-links>a .wv-icon.firstaid{
  background:var(--wv-firstaid-color)!important;
  color:#fff!important;
  border-color:var(--wv-firstaid-color)!important;
}
.wv-iconbox.bike,
.wv-layer-toggle[data-layer-toggle="bike"] .wv-layer-icon,
.wv-map-result-icon.bike,
.wv-map-marker.bike,
.wv-seo-stat .wv-icon.bike,
.wv-detail-summary-card .wv-icon.bike,
.wv-feature-card > .wv-icon.bike,
.quick-links-grid a > .wv-icon.bike,
.wv-mobile-primary-links>a .wv-icon.bike{
  background:var(--wv-bike-color)!important;
  color:#fff!important;
  border-color:var(--wv-bike-color)!important;
}
.wv-iconbox.pin,
.wv-layer-toggle[data-layer-toggle="pin"] .wv-layer-icon,
.wv-map-result-icon.pin,
.wv-map-marker.pin,
.wv-seo-stat .wv-icon.pin,
.wv-detail-summary-card .wv-icon.pin,
.wv-feature-card > .wv-icon.pin,
.quick-links-grid a > .wv-icon.pin,
.wv-mobile-primary-links>a .wv-icon.pin{
  background:var(--wv-pin-color)!important;
  color:#fff!important;
  border-color:var(--wv-pin-color)!important;
}
.wv-layer-icon svg,
.wv-map-marker svg,
.wv-map-result-icon svg,
.wv-iconbox svg,
.wv-seo-stat .wv-icon svg,
.wv-detail-summary-card .wv-icon svg,
.wv-feature-card > .wv-icon svg,
.quick-links-grid a > .wv-icon svg{
  display:block;
  color:currentColor;
}
.wv-layer-toggle input:not(:checked) ~ .wv-layer-icon{
  background:var(--bg)!important;
  color:var(--secondary)!important;
  border-color:var(--border)!important;
}
.wv-layer-toggle input:not(:checked) ~ .wv-layer-icon svg{
  color:currentColor;
}

/* v38: UX structure pass. Same visual language, simpler paths and better mobile flow. */
.wv-ux-hero .front-hero-copy p,
.wv-ux-hero .wv-seo-hero-copy p,
.wv-seo-hero-copy p {
  max-width: 680px;
}

.wv-start-card h2 {
  margin: 0 0 6px;
  font-size: 22px;
  letter-spacing: -0.025em;
}

.wv-start-card .front-focus-row {
  text-decoration: none;
  color: var(--primary);
}

.wv-start-card .front-focus-row span.wv-iconbox {
  width: 42px;
  height: 42px;
  border-radius: 14px;
  color: #fff;
}

.wv-ux-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 18px 0 0;
}

.wv-ux-steps span {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 7px 12px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--surface);
  color: var(--secondary);
  font-size: 13px;
  font-weight: 900;
}

.wv-decision-grid .wv-card,
.wv-practical-grid a {
  min-height: 0;
}

.wv-home-area-strip {
  padding: 2px 0 10px;
}

.wv-map-toolbar-note {
  max-width: 680px;
}

.wv-map-command-status {
  white-space: nowrap;
}

.wv-map-filter-drawer .wv-layer-grid,
.wv-layer-grid {
  gap: 10px;
}

.wv-map-results-wide .wv-map-results-head h3 {
  margin-top: 2px;
}

.wv-mobile-first-section .wv-section-head p,
.wv-area-choice-section .wv-section-head p {
  max-width: 680px;
}

@media (max-width: 980px) {
  .wv-ux-hero-grid,
  .front-hero-grid,
  .wv-seo-hero-grid,
  .wv-map-hero-grid {
    gap: 18px;
  }

  .front-planner-card,
  .wv-seo-hero-panel,
  .wv-map-hero-panel {
    padding: 12px;
  }

  .wv-start-card {
    order: 2;
  }

  .wv-start-card h2 {
    font-size: 19px;
  }

  .wv-landing-nav-section,
  .wv-focused-map-section {
    padding-top: 30px;
  }
}

@media (max-width: 720px) {
  .front-hero,
  .wv-seo-hero,
  .wv-map-landing-hero,
  .blog-landing-hero,
  .article-hero-v2 {
    padding: 28px 0 22px;
  }

  .front-hero h1,
  .wv-seo-hero-copy h1,
  .wv-map-hero-copy h1,
  .blog-hero-grid h1,
  .article-hero-v2 h1 {
    font-size: clamp(36px, 11vw, 48px);
    line-height: 1;
    margin-bottom: 12px;
  }

  .front-hero-copy p,
  .wv-seo-hero-copy p,
  .wv-map-hero-copy p {
    font-size: 16px;
    line-height: 1.55;
  }

  .wv-ux-steps {
    display: grid;
    grid-template-columns: 1fr;
    margin-top: 14px;
  }

  .wv-ux-steps span {
    justify-content: flex-start;
    min-height: 34px;
    border-radius: 14px;
  }

  .front-planner-card,
  .wv-seo-hero-panel,
  .wv-map-hero-panel {
    display: none;
  }

  .wv-primary-actions,
  .hero-actions,
  .wv-hero-actions,
  .wv-map-hero-actions {
    margin-top: 18px;
  }

  .wv-mobile-first-section {
    padding-top: 26px;
  }

  .wv-section-head {
    margin-bottom: 16px;
  }

  .wv-section-head h2,
  .wv-map-toolbar h2 {
    font-size: 30px;
  }

  .wv-decision-grid,
  .wv-practical-grid,
  .cards-grid,
  .area-grid {
    gap: 10px;
  }

  .wv-card,
  .quick-links-grid a {
    padding: 15px;
    border-radius: 18px;
  }

  .wv-card h3,
  .quick-links-grid strong {
    font-size: 19px;
  }

  .wv-card p,
  .quick-links-grid span:last-child {
    font-size: 14px;
    line-height: 1.42;
  }

  .wv-map-selection-card {
    padding: 12px;
  }

  .wv-map-selection-block > span {
    display: block;
    margin-bottom: 8px;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--green);
    font-weight: 950;
  }

  .wv-area-strip.large,
  .wv-category-strip {
    gap: 7px;
    padding-bottom: 8px;
  }

  .wv-area-pill {
    min-height: 38px;
    padding: 8px 12px;
    font-size: 13px;
  }

  .wv-map-workspace {
    border-radius: 18px;
  }

  .wv-map-commandbar {
    padding: 12px;
    gap: 10px;
  }

  .wv-map-command-main {
    gap: 8px;
  }

  .wv-map-command-status {
    width: 100%;
    justify-content: flex-start;
    padding: 8px 10px;
    min-height: 38px;
  }

  .wv-map-command-actions {
    grid-template-columns: 1fr 1fr;
  }

  .wv-map-command-actions .wv-button.primary {
    grid-column: 1 / -1;
  }

  .wv-map-command-actions .wv-button {
    min-height: 46px;
    font-size: 14px;
  }

  .wv-map-workspace .wv-map-full {
    height: 54vh;
    min-height: 360px;
  }

  .wv-map-results-panel.wv-map-results-wide {
    padding: 12px;
  }

  .wv-map-results-wide .wv-map-results-head {
    display: block;
  }

  .wv-map-results-wide .wv-map-results-head span {
    margin-top: 8px;
  }

  .wv-map-results-wide .wv-map-results-list {
    max-height: none;
  }

  .listing-layout.enhanced-listing {
    gap: 14px;
  }

  .listing-count.improved {
    display: grid;
    gap: 10px;
    align-items: stretch;
  }

  .listing-count.improved .wv-button {
    width: 100%;
  }
}

@media (max-width: 430px) {
  .wv-container {
    width: min(100% - 20px, var(--container));
  }

  .front-hero h1,
  .wv-seo-hero-copy h1,
  .wv-map-hero-copy h1 {
    font-size: 38px;
    letter-spacing: -0.045em;
  }

  .wv-button {
    min-height: 48px;
  }

  .wv-map-command-actions {
    grid-template-columns: 1fr;
  }

  .wv-map-workspace .wv-map-full {
    height: 50vh;
    min-height: 330px;
  }
}


/* v40: front page area chooser polish only. */
.wv-area-choice-section {
  padding-top: 58px;
  padding-bottom: 64px;
}

.wv-area-choice-head {
  align-items: flex-start;
  margin-bottom: 24px;
}

.wv-area-choice-head .wv-link {
  flex: 0 0 auto;
  margin-top: 34px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--surface);
  color: var(--primary);
  text-decoration: none;
}

.wv-area-choice-head .wv-link:hover,
.wv-area-choice-head .wv-link:focus-visible {
  border-color: var(--green);
  color: var(--green);
}

.wv-home-area-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.wv-home-area-card {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  min-height: 156px;
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 24px;
  background: var(--surface);
  color: var(--primary);
  text-decoration: none;
}

.wv-home-area-card:hover,
.wv-home-area-card:focus-visible {
  border-color: var(--green);
}

.wv-home-area-card .wv-iconbox {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  background: var(--green);
  color: #fff;
}

.wv-home-area-card-copy {
  min-width: 0;
  display: block;
}

.wv-home-area-card-copy strong {
  display: block;
  margin-top: 1px;
  font-size: 22px;
  line-height: 1.05;
  letter-spacing: -0.025em;
}

.wv-home-area-card-copy small {
  display: block;
  margin-top: 7px;
  color: var(--secondary);
  font-size: 14px;
  font-weight: 750;
  line-height: 1.42;
}

.wv-home-area-card-link {
  grid-column: 2;
  align-self: end;
  margin-top: 14px;
  color: var(--green);
  font-size: 13px;
  font-weight: 950;
}

@media (max-width: 980px) {
  .wv-home-area-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wv-area-choice-head .wv-link {
    margin-top: 12px;
  }
}

@media (max-width: 720px) {
  .wv-area-choice-section {
    padding-top: 38px;
    padding-bottom: 42px;
  }

  .wv-area-choice-head {
    margin-bottom: 16px;
  }

  .wv-area-choice-head .wv-link {
    width: 100%;
  }

  .wv-home-area-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .wv-home-area-card {
    grid-template-columns: 46px minmax(0, 1fr);
    min-height: 0;
    padding: 14px;
    border-radius: 18px;
    gap: 12px;
  }

  .wv-home-area-card .wv-iconbox {
    width: 46px;
    height: 46px;
    border-radius: 15px;
  }

  .wv-home-area-card-copy strong {
    font-size: 19px;
  }

  .wv-home-area-card-copy small {
    font-size: 13px;
    line-height: 1.35;
  }

  .wv-home-area-card-link {
    margin-top: 9px;
    font-size: 12px;
  }
}


/* v44: Template-wide icon audit. Same semantic icon = same visual treatment everywhere. */
.wv-iconbox.route,
.wv-route-card .wv-iconbox,
.wv-map-stat-card .wv-icon.route,
.wv-seo-stat .wv-icon.route,
.wv-detail-summary-card .wv-icon.route,
.wv-feature-card > .wv-icon.route,
.quick-links-grid a > .wv-icon.route,
.wv-mobile-primary-links > a .wv-icon.route,
.wv-pro-nav-item > a .wv-icon.route,
.header-cta .wv-icon.route,
.wv-footer-cta .wv-icon.route{
  background:var(--wv-route-color)!important;
  border-color:var(--wv-route-color)!important;
  color:#fff!important;
}
.wv-iconbox.tent,
.wv-map-stat-card .wv-icon.tent,
.wv-seo-stat .wv-icon.tent,
.wv-detail-summary-card .wv-icon.tent,
.wv-feature-card > .wv-icon.tent,
.quick-links-grid a > .wv-icon.tent,
.wv-mobile-primary-links > a .wv-icon.tent,
.wv-pro-nav-item > a .wv-icon.tent,
.wv-footer-cta .wv-icon.tent{
  background:var(--wv-tent-color)!important;
  border-color:var(--wv-tent-color)!important;
  color:#fff!important;
}
.wv-iconbox.toilet,
.wv-map-stat-card .wv-icon.toilet,
.wv-seo-stat .wv-icon.toilet,
.wv-detail-summary-card .wv-icon.toilet,
.wv-feature-card > .wv-icon.toilet,
.quick-links-grid a > .wv-icon.toilet,
.wv-mobile-primary-links > a .wv-icon.toilet,
.wv-pro-nav-item > a .wv-icon.toilet{
  background:var(--wv-toilet-color)!important;
  border-color:var(--wv-toilet-color)!important;
  color:#fff!important;
}
.wv-iconbox.water,
.wv-map-stat-card .wv-icon.water,
.wv-seo-stat .wv-icon.water,
.wv-detail-summary-card .wv-icon.water,
.wv-feature-card > .wv-icon.water,
.quick-links-grid a > .wv-icon.water,
.wv-mobile-primary-links > a .wv-icon.water,
.wv-pro-nav-item > a .wv-icon.water{
  background:var(--wv-water-color)!important;
  border-color:var(--wv-water-color)!important;
  color:#fff!important;
}
.wv-iconbox.parking,
.wv-map-stat-card .wv-icon.parking,
.wv-seo-stat .wv-icon.parking,
.wv-detail-summary-card .wv-icon.parking,
.wv-feature-card > .wv-icon.parking,
.quick-links-grid a > .wv-icon.parking,
.wv-mobile-primary-links > a .wv-icon.parking,
.wv-pro-nav-item > a .wv-icon.parking{
  background:var(--wv-parking-color)!important;
  border-color:var(--wv-parking-color)!important;
  color:#fff!important;
}
.wv-iconbox.fire,
.wv-map-stat-card .wv-icon.fire,
.wv-seo-stat .wv-icon.fire,
.wv-detail-summary-card .wv-icon.fire,
.wv-feature-card > .wv-icon.fire,
.quick-links-grid a > .wv-icon.fire,
.wv-mobile-primary-links > a .wv-icon.fire,
.wv-pro-nav-item > a .wv-icon.fire{
  background:var(--wv-fire-color)!important;
  border-color:var(--wv-fire-color)!important;
  color:#fff!important;
}
.wv-iconbox.food,
.wv-map-stat-card .wv-icon.food,
.wv-seo-stat .wv-icon.food,
.wv-detail-summary-card .wv-icon.food,
.wv-feature-card > .wv-icon.food,
.quick-links-grid a > .wv-icon.food,
.wv-mobile-primary-links > a .wv-icon.food,
.wv-pro-nav-item > a .wv-icon.food{
  background:var(--wv-food-color)!important;
  border-color:var(--wv-food-color)!important;
  color:#fff!important;
}
.wv-iconbox.bus,
.wv-map-stat-card .wv-icon.bus,
.wv-seo-stat .wv-icon.bus,
.wv-detail-summary-card .wv-icon.bus,
.wv-feature-card > .wv-icon.bus,
.quick-links-grid a > .wv-icon.bus,
.wv-mobile-primary-links > a .wv-icon.bus,
.wv-pro-nav-item > a .wv-icon.bus{
  background:var(--wv-bus-color)!important;
  border-color:var(--wv-bus-color)!important;
  color:#fff!important;
}
.wv-iconbox.firstaid,
.wv-map-stat-card .wv-icon.firstaid,
.wv-seo-stat .wv-icon.firstaid,
.wv-detail-summary-card .wv-icon.firstaid,
.wv-feature-card > .wv-icon.firstaid,
.quick-links-grid a > .wv-icon.firstaid,
.wv-mobile-primary-links > a .wv-icon.firstaid,
.wv-pro-nav-item > a .wv-icon.firstaid{
  background:var(--wv-firstaid-color)!important;
  border-color:var(--wv-firstaid-color)!important;
  color:#fff!important;
}
.wv-iconbox.bike,
.wv-map-stat-card .wv-icon.bike,
.wv-seo-stat .wv-icon.bike,
.wv-detail-summary-card .wv-icon.bike,
.wv-feature-card > .wv-icon.bike,
.quick-links-grid a > .wv-icon.bike,
.wv-mobile-primary-links > a .wv-icon.bike,
.wv-pro-nav-item > a .wv-icon.bike{
  background:var(--wv-bike-color)!important;
  border-color:var(--wv-bike-color)!important;
  color:#fff!important;
}
.wv-iconbox.pin,
.wv-map-stat-card .wv-icon.pin,
.wv-seo-stat .wv-icon.pin,
.wv-detail-summary-card .wv-icon.pin,
.wv-feature-card > .wv-icon.pin,
.quick-links-grid a > .wv-icon.pin,
.wv-mobile-primary-links > a .wv-icon.pin,
.wv-pro-nav-item > a .wv-icon.pin,
.header-cta .wv-icon.pin,
.wv-footer-cta .wv-icon.pin{
  background:var(--wv-pin-color)!important;
  border-color:var(--wv-pin-color)!important;
  color:#fff!important;
}
.wv-map-result-icon.route,.wv-map-marker.route{background:var(--wv-route-color)!important;color:#fff!important;}
.wv-map-result-icon.tent,.wv-map-marker.tent{background:var(--wv-tent-color)!important;color:#fff!important;}
.wv-map-result-icon.toilet,.wv-map-marker.toilet{background:var(--wv-toilet-color)!important;color:#fff!important;}
.wv-map-result-icon.water,.wv-map-marker.water{background:var(--wv-water-color)!important;color:#fff!important;}
.wv-map-result-icon.parking,.wv-map-marker.parking{background:var(--wv-parking-color)!important;color:#fff!important;}
.wv-map-result-icon.fire,.wv-map-marker.fire{background:var(--wv-fire-color)!important;color:#fff!important;}
.wv-map-result-icon.food,.wv-map-marker.food{background:var(--wv-food-color)!important;color:#fff!important;}
.wv-map-result-icon.bus,.wv-map-marker.bus{background:var(--wv-bus-color)!important;color:#fff!important;}
.wv-map-result-icon.firstaid,.wv-map-marker.firstaid{background:var(--wv-firstaid-color)!important;color:#fff!important;}
.wv-map-result-icon.bike,.wv-map-marker.bike{background:var(--wv-bike-color)!important;color:#fff!important;}
.wv-map-result-icon.pin,.wv-map-marker.pin{background:var(--wv-pin-color)!important;color:#fff!important;}
.wv-pro-nav-item > a .wv-icon,
.header-cta .wv-icon,
.wv-footer-cta .wv-icon{
  width:28px;
  height:28px;
  border-radius:10px;
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
}
.wv-pro-nav-item > a .wv-icon svg,
.header-cta .wv-icon svg,
.wv-footer-cta .wv-icon svg{width:15px;height:15px;}
.wv-area-pill .wv-icon{
  width:28px;
  height:28px;
  border-radius:10px;
  display:inline-grid;
  place-items:center;
  flex:0 0 auto;
}
.wv-icon svg,
.wv-iconbox svg,
.wv-map-result-icon svg,
.wv-map-marker svg,
.wv-layer-icon svg{color:currentColor;}
.wv-layer-toggle input:not(:checked) ~ .wv-layer-icon{
  background:var(--bg)!important;
  color:var(--secondary)!important;
  border-color:var(--border)!important;
}
