/**
 * Module: Source-site structure adaptation + CRO layouts
 * Change-ID: 20260726-clone-source-cro
 * No overflow masking. All responsive fixes are applied at the component source.
 */
.vsg-cro-hero{background:var(--volvo-white);padding-block:clamp(48px,7vw,96px)}
.vsg-cro-hero--compact{background:var(--volvo-canvas)}
.vsg-cro-hero__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,6vw,80px);align-items:center}
.vsg-cro-hero__grid>*{min-width:0}
.vsg-cro-hero__media{grid-column:1}
.vsg-cro-hero__copy{grid-column:2;display:grid;gap:var(--volvo-space-md);align-content:center;min-width:0}
.vsg-cro-stack{display:grid;gap:var(--volvo-space-md);max-width:880px}
.vsg-cro-media,.vsg-cro-model-card__media{aspect-ratio:16/10;background:var(--volvo-mist);min-width:0}
.vsg-cro-media__image{display:block;width:100%;height:100%;object-fit:cover}
.vsg-cro-media__placeholder{display:grid;width:100%;height:100%;place-items:center;background:var(--volvo-mist)}
.vsg-cro-section{padding-block:clamp(56px,7vw,96px)}
.vsg-cro-section--canvas{background:var(--volvo-canvas)}
.vsg-cro-section .vsg-shell{display:grid;gap:clamp(24px,4vw,48px)}
.vsg-cro-grid{display:grid;gap:clamp(16px,2.4vw,28px);min-width:0}
.vsg-cro-grid>*{min-width:0}
.vsg-cro-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.vsg-cro-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.vsg-cro-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.vsg-cro-card,.vsg-cro-model-card{background:var(--volvo-white);border:1px solid var(--volvo-border);border-radius:var(--volvo-radius-lg);min-width:0}
.vsg-cro-card{display:grid;gap:12px;padding:clamp(20px,2.4vw,32px);align-content:start}
.vsg-cro-model-card{display:grid;overflow:clip}
.vsg-cro-model-card__body{display:grid;gap:12px;padding:24px;align-content:start}
.vsg-cro-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.vsg-cro-actions>*{min-width:0}
.vsg-cro-cta{display:grid;gap:var(--volvo-space-md);max-width:880px}
.vsg-cro-card--link{transition:transform .2s ease,border-color .2s ease}
.vsg-cro-card--link:hover{transform:translateY(-2px);border-color:var(--volvo-black)}
.vsg-cro-page :where(h1,h2,h3,p){overflow-wrap:anywhere}
@media(max-width:991px){.vsg-cro-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.vsg-cro-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){
 .vsg-cro-hero{padding-block:40px 56px}
 .vsg-cro-hero__grid{grid-template-columns:minmax(0,1fr);gap:28px}
 .vsg-cro-hero__media,.vsg-cro-hero__copy{grid-column:1}
 .vsg-cro-hero__media{grid-row:1}
 .vsg-cro-hero__copy{grid-row:2}
 .vsg-cro-grid--2,.vsg-cro-grid--3,.vsg-cro-grid--4{grid-template-columns:minmax(0,1fr)}
 .vsg-cro-actions{align-items:stretch;flex-direction:column}
 .vsg-cro-actions>*{width:100%}
 .vsg-cro-media,.vsg-cro-model-card__media{aspect-ratio:4/3}
}
@media(prefers-reduced-motion:reduce){.vsg-cro-card--link{transition:none}}
