/* VurderMinBil 4.4 — scoped layout/accessibility fixes.
   Intentional: the ORIGINAL app.css colour variables and original typography family remain unchanged. */
:where(.site-main,.site-footer,.dealer-model,.dealer-benefits,.page-related) :where(h1,h2,h3,p,div){min-width:0}
:where(.site-main,.site-footer) :where(h1,h2,h3){overflow-wrap:normal;hyphens:manual;text-wrap:pretty}
:where(.site-main,.site-footer) :where(p,li,dd){overflow-wrap:break-word}
:where(.site-main) :where(img,video,iframe){max-width:100%;height:auto}
:where(.site-main) :where(input,textarea,select){max-width:100%}
:where(.site-main) :where(table){max-width:100%}
:where(.site-main) :where(.container,.site-masthead__grid,.product-evidence__grid,.link-hub__layout,.editorial-stage__grid){min-width:0}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.vmb-skip-link{position:fixed;left:14px;top:-100px;z-index:1000;padding:11px 16px;border-radius:8px;background:var(--blue);color:#fff;font-size:14px;font-weight:750}
.vmb-skip-link:focus{top:12px}
:where(button,a){-webkit-tap-highlight-color:transparent;touch-action:manipulation}
/* Correct the actual root bug: an article has exactly two grid children.
   Previously h3 occupied column two and p automatically wrapped into the 45px number column. */
.dealer-model__grid{grid-template-columns:minmax(0,.43fr) minmax(0,.57fr);gap:clamp(30px,5vw,72px)}
.dealer-model__intro{min-width:0}
.dealer-model__intro h2{max-width:530px;line-height:1.08;font-size:clamp(35px,3.8vw,48px);letter-spacing:-.05em;text-wrap:balance}
.dealer-model__intro>p{max-width:460px;font-size:16px;line-height:1.75}
.dealer-model__steps{min-width:0}
.dealer-model__steps article{display:grid;grid-template-columns:40px minmax(0,1fr);gap:16px;align-items:start;padding:20px 0}
.dealer-model__steps article>span{padding-top:3px;font-size:12px;line-height:1.4}
.dealer-model__step-content{min-width:0}
.dealer-model__step-content h3{font-size:20px;line-height:1.26;margin:0 0 6px}
.dealer-model__step-content p{font-size:15px;line-height:1.7;color:var(--muted);margin:0;max-width:660px;overflow-wrap:normal}
/* Shared component adjustments retain original blue call-to-action and original backgrounds. */
.dealer-masthead__grid,.site-masthead__grid,.home-hero__grid,.sale-flow__grid,.product-evidence__grid,.editorial-stage__grid{min-width:0}
.dealer-masthead__copy,.dealer-console,.sale-flow__steps,.report-story__visual{min-width:0}
.dealer-masthead .dealer-hero-points{margin-top:22px}
.dealer-masthead .dealer-hero-points span{font-size:12px;line-height:1.4}
.dealer-console__lead small,.dealer-console__filters small{font-size:12px;line-height:1.55}
.dealer-console__lead strong{font-size:16px}
.dealer-benefits__list article p{font-size:14px;line-height:1.7}
.product-evidence__copy>p,.sale-flow__intro>p{line-height:1.75}
/* Menus must never overlay one another when WordPress has nested menu items. */
@media (min-width:901px){
 .primary-nav .menu-item-has-children{position:relative}
 .primary-nav .menu-item-has-children>a:after{content:"";display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);margin-left:10px}
 .primary-nav ul.sub-menu{position:absolute;top:100%;left:-14px;min-width:220px;width:max-content;max-width:310px;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:8px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-sm);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(6px);transition:opacity .16s ease,transform .16s ease}
 .primary-nav ul.sub-menu li{display:block;width:100%}
 .primary-nav ul.sub-menu li a{display:flex;min-height:40px;padding:9px 12px;width:100%;white-space:normal;line-height:1.4;border-radius:7px;font-size:13px;color:var(--ink)}
 .primary-nav ul.sub-menu li a:hover,.primary-nav ul.sub-menu .current-menu-item>a{background:var(--surface-blue);color:var(--blue)}
 .primary-nav .menu-item-has-children:hover>ul.sub-menu,.primary-nav .menu-item-has-children:focus-within>ul.sub-menu{visibility:visible;pointer-events:auto;opacity:1;transform:translateY(0)}
 .primary-nav ul.sub-menu ul.sub-menu{left:100%;top:-8px}
}
/* Fix responsive grids without changing the global brand. */
@media(max-width:1100px){
 .dealer-model__grid{grid-template-columns:minmax(260px,.43fr) minmax(0,.57fr);gap:38px}
 .dealer-model__intro h2{font-size:clamp(33px,3.8vw,44px)}
 .dealer-model__steps article{grid-template-columns:34px minmax(0,1fr);gap:12px}
}
@media(max-width:900px){
 .dealer-model__grid{grid-template-columns:minmax(0,1fr);gap:32px}
 .dealer-model__intro h2{max-width:690px}
 .dealer-model__intro>p{max-width:690px}
 .primary-nav{overscroll-behavior:contain}
 .primary-nav ul.sub-menu{display:block;margin:0;padding:0 0 12px 16px;position:static;width:auto;max-width:none;visibility:visible;opacity:1;pointer-events:auto;transform:none;border:0;box-shadow:none;background:transparent}
 .primary-nav ul.sub-menu li{width:100%;border:0}
 .primary-nav ul.sub-menu li a{display:flex;padding:8px 0;min-height:40px;font-size:14px;white-space:normal;line-height:1.5;color:var(--muted)}
 .primary-nav .menu-item-has-children>a{font-weight:800}
}
@media(max-width:700px){
 .dealer-model__intro h2{font-size:clamp(33px,8vw,43px);line-height:1.13}
 .dealer-model__intro>p{font-size:15px}
 .dealer-model__steps article{grid-template-columns:32px minmax(0,1fr);gap:12px;padding:17px 0}
 .dealer-model__step-content h3{font-size:18px}
 .dealer-model__step-content p{font-size:14px;line-height:1.66}
 .dealer-masthead{padding:44px 0 52px}
 .dealer-masthead h1{font-size:clamp(35px,9vw,47px);line-height:1.07}
 .dealer-masthead__copy>p{font-size:16px}
 .dealer-hero-points span{font-size:12px}
 .dealer-console{padding:17px}
 .dealer-console__filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .dealer-benefits__list article p{font-size:14px}
 .site-masthead h1{overflow-wrap:break-word}
}
@media(max-width:360px){
 .dealer-masthead h1{font-size:34px}
 .dealer-console__filters{grid-template-columns:1fr}
 .site-masthead__inner>p{font-size:15px}
 .hero-actions{gap:12px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
/* The original mobile slide-in nav sits offscreen by transform; clip it at the viewport
   so it cannot double the document scroll width on mobile. */
html{overflow-x:clip}
/* A transformed, fixed, offscreen mobile menu still expands body.scrollWidth in
   Chromium/WebKit. Do not render it at all until it is actually open. */
@media(max-width:900px){
 .primary-nav:not(.is-open){display:none}
 .primary-nav.is-open{display:flex;animation:vmb-nav-enter .22s ease both}
}
@keyframes vmb-nav-enter{from{transform:translateX(102%)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.primary-nav.is-open{animation:none}}
