/* Scoped styles, independent of Elementor/Atomic Elements. */
.vma-inventory,
.vma-detail {
  --vma-blue: #3e5782;
  --vma-navy: #0d1724;
  --vma-surface: #fff;
  --vma-border: #d8dfe8;
  --vma-muted: #526173;
  color: var(--vma-navy);
  font-family: inherit;
  line-height: 1.5;
}
.vma-inventory *, .vma-detail * {box-sizing: border-box;}
.vma-inventory a, .vma-detail a {text-decoration: none;}
.vma-inventory a:focus-visible, .vma-detail a:focus-visible,
.vma-inventory button:focus-visible, .vma-detail button:focus-visible,
.vma-inventory input:focus-visible, .vma-inventory select:focus-visible,
.vma-detail input:focus-visible, .vma-detail textarea:focus-visible {outline: 3px solid #f9a840; outline-offset: 3px;}
.vma-status {margin: 18px 0 20px; color: var(--vma-muted); font-weight: 600;}
.vma-filter-details {background: #f6f8fa; border: 1px solid var(--vma-border); border-radius: 18px; margin-bottom: 30px; padding: 12px 18px 18px;}
.vma-filter-details summary {cursor: pointer; padding: 6px 0; font-weight: 700; min-height: 44px;}
.vma-filter-details summary span {float:right;}
.vma-form {padding-top: 12px;}
.vma-fields {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px;}
.vma-field {display:flex; flex-direction:column; gap: 5px; min-width: 0; font-size: 13px; font-weight: 600; color: #314458;}
.vma-field select, .vma-field input {width:100%; min-height: 46px; padding: 10px 11px; border: 1px solid #bdc9d7; border-radius: 9px; background:#fff; color:#182538; font:inherit; font-size:15px;}
.vma-controls-bottom {display:flex; gap:16px; align-items:end; justify-content:space-between; margin-top:14px;}
.vma-controls-bottom .vma-field {min-width: 235px;}
.vma-reset {min-height: 46px; background:transparent; border:1px solid var(--vma-border); padding: 11px 18px; color:var(--vma-blue); font-weight:700; border-radius: 9px; cursor:pointer;}
.vma-reset:hover {background:#e9eff7;}
.vma-grid {display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; align-items:stretch;}
.vma-card {display:flex; min-width:0; flex-direction:column; overflow:hidden; background:var(--vma-surface); border:1px solid var(--vma-border); border-radius:16px; box-shadow: 0 12px 30px rgba(13,23,36,.055);}
.vma-card-image {display:block; width:100%; aspect-ratio:4/3; overflow:hidden; background:#dce3ec;}
.vma-card-image img {display:block; width:100%; height:100%; object-fit:cover; transition:transform .25s ease;}
.vma-card-image:hover img {transform:scale(1.025);}
.vma-placeholder, .vma-photo-placeholder {display:grid; width:100%; min-height:220px; height:100%; place-content:center; text-align:center; background:linear-gradient(130deg,var(--vma-navy),var(--vma-blue)); color:#fff; font-size:24px; font-weight:700; letter-spacing:.13em;}
.vma-card-inner {display:flex; flex-direction:column; flex:1; padding:22px;}
.vma-card-make, .vma-eyebrow {display:block; color:var(--vma-blue); font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase;}
.vma-card h3 {font-size: clamp(17px,1.2vw,21px); margin:7px 0 18px; font-weight:700; line-height:1.28; min-height: 54px; overflow-wrap:anywhere;}
.vma-card h3 a {color:var(--vma-navy);}
.vma-card-facts {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0 0 14px;}
.vma-card-facts div {min-width:0;}
.vma-card-facts dt {font-size:12px; color:#5e6d7e; margin:0;}
.vma-card-facts dd {font-size:14px; font-weight:650; margin:2px 0 0; overflow-wrap:anywhere;}
.vma-card-energy {display:grid; gap:2px; margin:0 0 18px; padding:10px 12px; background:#f2f5f8; color:#243449; font-size:14px; line-height:1.5;}
.vma-card-footer {margin-top:auto; border-top:1px solid var(--vma-border); padding-top:18px; display:flex; flex-wrap:wrap; gap:14px; align-items:center; justify-content:space-between;}
.vma-card-price {font-size:23px; letter-spacing:-.03em; white-space:nowrap;}
.vma-card-footer small, .vma-price-block small {display:block; font-size:11px; color:var(--vma-muted);}
.vma-card-button, .vma-button {display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:46px; padding:12px 16px; background:var(--vma-blue); border:0; border-radius:8px; color:#fff!important; font-size:14px; font-weight:700; text-align:center; cursor:pointer;}
.vma-card-button:hover, .vma-button:hover {background:var(--vma-blue); filter:brightness(.85); color:white;}
.vma-draft-label {display:inline-block; align-self:flex-start; color:#7b4000; background:#fff1d7; border-radius:4px; padding:4px 7px; margin-bottom:10px; font-size:11px; font-weight:700;}
.vma-pagination {display:flex; justify-content:center; align-items:center; gap:20px; margin:35px 0;}
.vma-pagination button {border:1px solid var(--vma-border); color:var(--vma-navy); background:white; border-radius:8px; min-height:46px; min-width:100px; padding:10px; font:inherit; cursor:pointer;}
.vma-pagination button:disabled {opacity:.4; cursor:not-allowed;}
.vma-empty {grid-column:1/-1; padding:30px; background:#f5f7fb; border-radius:10px;}
.vma-detail {background:#fff; padding:42px 22px 90px;}
.vma-detail-shell {max-width:1230px; margin:0 auto;}
.vma-back {margin-bottom:26px;}
.vma-back a, .vma-secondary {color:var(--vma-blue); font-weight:700;}
.vma-detail-heading {display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:28px;}
.vma-detail-heading h1 {font-size:clamp(29px,3.3vw,50px); max-width:850px; line-height:1.15; letter-spacing:-.04em; margin:10px 0;}
.vma-detail-heading p {font-size:15px; color:var(--vma-muted); margin:0;}
.vma-price-block {white-space:nowrap; text-align:right;}
.vma-price-block strong {font-size:clamp(26px,3vw,38px);}
.vma-preview {background:#fff3df; border:1px solid #eccb93; padding:12px 16px; font-weight:700;}
.vma-detail-gallery {display:block; margin-bottom:38px;}
.vma-main-photo {display:block; max-height:680px; aspect-ratio: 16/9; background:#f1f5f9; overflow:hidden; border-radius:14px;}
.vma-main-photo img {display:block; width:100%; height:100%; object-fit:contain;}
.vma-thumbs {display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:9px; margin-top:9px;}
.vma-thumbs a {display:block; aspect-ratio:4/3; overflow:hidden; border-radius:7px;}
.vma-thumbs img {display:block; width:100%; height:100%; object-fit:cover;}
.vma-detail-columns {display:grid; grid-template-columns:minmax(0,1fr) 350px; gap:50px; align-items:start;}
.vma-section {margin-bottom:38px;}
.vma-section h2 {font-size:26px; margin:0 0 20px; letter-spacing:-.02em;}
.vma-facts {display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 22px;}
.vma-facts div {display:flex; justify-content:space-between; align-items:center; gap:12px; padding:13px 0; border-bottom:1px solid var(--vma-border);}
.vma-facts dt {font-size:13px; color:var(--vma-muted);}
.vma-facts dd {text-align:right; font-weight:700; font-size:14px; margin:0; overflow-wrap:anywhere;}
.vma-features {list-style:none; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;}
.vma-features li {position:relative; padding-left:19px; font-size:14px;}
.vma-features li::before {content:'✓'; position:absolute; left:0; color:var(--vma-blue);}
.vma-energy {padding:22px; border:1px solid var(--vma-border); border-radius:12px; background:#f6f8fa;}
.vma-energy p {margin:5px 0; font-size:14px; font-weight:600;}
.vma-energy small {display:block; margin-top:12px; color:var(--vma-muted);}
.vma-description {white-space:normal; overflow-wrap:anywhere;}
.vma-contact {background:#f5f7fa; padding:27px; border:1px solid var(--vma-border); border-radius:14px; position:sticky; top:24px;}
.vma-contact h2 {font-size:23px; line-height:1.25; margin:0 0 8px;}
.vma-contact > p {color:var(--vma-muted);}
.vma-contact > a {display:flex; margin:10px 0;}
.vma-form-wrap {margin-top:24px; padding-top:20px; border-top:1px solid var(--vma-border);}
.vma-form-wrap h3 {font-size:19px;}
.vma-form-wrap form {display:grid; gap:12px;}
.vma-form-wrap form > label {display:flex; flex-direction:column; gap:6px; font-size:13px; font-weight:700;}
.vma-form-wrap input:not([type=checkbox]), .vma-form-wrap textarea {background:white; border:1px solid #bfcad9; border-radius:7px; min-height:44px; width:100%; padding:9px 11px; font:inherit;}
.vma-form-wrap .vma-consent {flex-direction:row; align-items:flex-start; font-weight:400; line-height:1.4;}
.vma-consent input {flex:0 0 auto; width:18px; height:18px; margin-top:2px;}
.vma-consent a {color:var(--vma-blue); text-decoration:underline;}
.vma-form-wrap .vma-button {width:100%;}
.vma-trap {display:none;}
.vma-form-success {color:#1d6732; font-weight:700;}
.vma-form-error {color:#b42318; font-weight:700;}
.vma-disclaimer {border-top:1px solid var(--vma-border); margin-top:40px; padding-top:18px; font-size:12px; color:var(--vma-muted);}
@media (max-width:1120px) {
  .vma-grid {grid-template-columns:repeat(2,minmax(0,1fr));}
  .vma-detail-columns {grid-template-columns:minmax(0,1fr) 300px; gap:27px;}
}
@media (max-width:767px) {
  .vma-grid {grid-template-columns:minmax(0,1fr); gap:18px;}
  .vma-fields {grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px;}
  .vma-filter-details {padding:12px;}
  .vma-card h3 {min-height:0;}
  .vma-detail {padding:28px 16px 55px;}
  .vma-detail-heading {display:block;}
  .vma-price-block {text-align:left; margin-top:14px;}
  .vma-detail-columns {display:block;}
  .vma-main-photo {aspect-ratio:4/3;}
  .vma-thumbs {grid-template-columns:repeat(3,minmax(0,1fr));}
  .vma-contact {position:static; margin-top:26px;}
  .vma-facts {grid-template-columns:minmax(0,1fr);}
}
@media (max-width:460px) {
  .vma-fields {grid-template-columns:minmax(0,1fr);}
  .vma-controls-bottom {display:block;}
  .vma-controls-bottom .vma-reset {margin-top:14px; width:100%;}
  .vma-card-inner {padding:17px;}
  .vma-features {grid-template-columns:minmax(0,1fr);}
  .vma-card-footer {align-items:stretch;}
  .vma-card-button {width:100%;}
}
@media (prefers-reduced-motion: reduce) {
  .vma-card-image img {transition:none;}
}
.vma-lightbox {position:fixed; margin:auto; max-width:calc(100vw - 20px); width:min(1150px,95vw); max-height:95vh; padding:54px 46px 22px; border:0; border-radius:12px; background:#101924; color:#fff; box-shadow:0 20px 80px #0008;}
.vma-lightbox::backdrop {background:#02060ee8;}
.vma-lightbox figure {margin:0; min-width:0; text-align:center;}
.vma-lightbox img {display:block; max-height:72vh; max-width:100%; margin:auto; object-fit:contain;}
.vma-lightbox figcaption {margin:10px 0 0; font-size:13px;}
.vma-lightbox-close,.vma-lightbox-prev,.vma-lightbox-next {position:absolute; display:grid; place-content:center; border:1px solid #ffffff44; border-radius:8px; background:#293b50; color:#fff; cursor:pointer; font:inherit; font-size:24px; min-width:44px; min-height:44px;}
.vma-lightbox-close {top:10px; right:12px;}
.vma-lightbox-prev {left:5px; top:50%;}
.vma-lightbox-next {right:5px; top:50%;}
@media (max-width:767px) {.vma-lightbox {padding:60px 9px 30px;} .vma-lightbox-prev,.vma-lightbox-next {top:auto; bottom:9px;} }

/* v1.0.4: two-column automotive hero with mobile.de-owned contact paths. */
.vma-detail {padding:36px 20px 80px;}
.vma-detail-shell {max-width:82rem;}
.vma-detail-heading {display:block; margin-bottom:26px;}
.vma-detail-heading h1 {font-size:clamp(28px,3vw,43px); line-height:1.17; margin:8px 0 8px; max-width:1100px;}
.vma-detail-heading p {font-size:15px; color:var(--vma-muted); margin:0;}
.vma-detail-hero {display:grid; grid-template-columns:minmax(0, 1.7fr) minmax(280px, 350px); gap:28px; align-items:start; margin-bottom:38px;}
.vma-detail-gallery {min-width:0; margin:0;}
.vma-main-photo {position:relative; aspect-ratio:4/3; max-height:none; background:#fff; border:1px solid var(--vma-border); border-radius:14px;}
.vma-main-photo img {object-fit:contain; background:#fff;}
.vma-photo-counter {position:absolute; bottom:15px; right:15px; padding:5px 10px; border-radius:6px; background:#0d1724d9; color:#fff; font-size:12px; font-weight:700;}
.vma-thumbs {display:flex; gap:10px; max-width:100%; margin-top:12px; overflow-x:auto; overscroll-behavior-inline:contain; padding:0 0 9px; scroll-snap-type:x mandatory;}
.vma-thumbs a {flex:0 0 clamp(102px, 19%, 155px); aspect-ratio:4/3; border:1px solid var(--vma-border); background:#fff; scroll-snap-align:start;}
.vma-thumbs a:hover {border-color:var(--vma-blue);}
.vma-thumbs img {object-fit:contain;}
.vma-contact {position:sticky; top:90px; margin:0; padding:25px; background:#f7f9fc; border-radius:16px; box-shadow:0 12px 32px rgba(13,23,36,.06);}
.vma-contact-caption {display:block; color:var(--vma-muted); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; margin-bottom:8px;}
.vma-price-block {text-align:left; white-space:normal; margin-bottom:24px;}
.vma-price-block strong {display:block; font-size:clamp(31px,3vw,41px); line-height:1.15; letter-spacing:-.04em; color:var(--vma-navy);}
.vma-price-block small {font-size:12px; margin-top:5px;}
.vma-contact .vma-button, .vma-contact .vma-contact-secondary {display:flex; width:100%; min-height:50px; align-items:center; justify-content:center; gap:8px; border-radius:9px; text-align:center; padding:11px 12px; font-size:14px; font-weight:700; margin:10px 0;}
.vma-contact-secondary {border:1px solid var(--vma-blue); background:#fff; color:var(--vma-blue)!important;}
.vma-contact-secondary:hover {background:#eaf0f6;}
.vma-contact .vma-contact-hint {font-size:12px; line-height:1.55; margin:13px 0 20px; color:var(--vma-muted);}
.vma-contact-warning {font-weight:700; color:#9b331f;}
.vma-contact-facts {display:grid; gap:0; margin:0; padding-top:6px; border-top:1px solid var(--vma-border);}
.vma-contact-facts div {display:flex; justify-content:space-between; gap:10px; padding:10px 0; border-bottom:1px solid var(--vma-border);}
.vma-contact-facts dt {font-size:12px; color:var(--vma-muted);}
.vma-contact-facts dd {font-size:12px; font-weight:700; text-align:right; margin:0;}
.vma-detail-content {max-width:1020px;}
.vma-detail-content .vma-section {margin-bottom:34px;}
.vma-detail-content .vma-section h2 {font-size:clamp(22px,2vw,28px); line-height:1.25; margin-bottom:18px;}
.vma-facts {grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px;}
.vma-facts div {min-width:0;}
.vma-highlights ul {display:flex; flex-wrap:wrap; gap:9px; padding:0; margin:0; list-style:none;}
.vma-highlights li {padding:9px 14px; border-radius:8px; background:#eaf0f6; color:#253d5e; font-size:13px; font-weight:600;}
.vma-more-features, .vma-description-expand {margin-top:18px; padding:16px 18px; border:1px solid var(--vma-border); border-radius:11px; background:#f8fafc;}
.vma-more-features summary, .vma-description-expand summary {cursor:pointer; color:var(--vma-blue); font-weight:700; line-height:1.5; min-height:27px;}
.vma-more-features[open] summary, .vma-description-expand[open] summary {margin-bottom:16px;}
.vma-description {max-width:860px; font-size:15px; line-height:1.7; color:#23384e;}
.vma-description p {margin:0 0 14px; overflow-wrap:anywhere;}
.vma-description-expand ul {display:grid; gap:11px; margin:0; padding:0 0 0 20px;}
.vma-description-expand li {padding-left:4px; overflow-wrap:anywhere;}
.vma-bottom-lead {display:flex; align-items:center; justify-content:space-between; gap:25px; padding:26px; margin:35px 0 0; border:1px solid var(--vma-border); border-radius:14px; background:#f7f9fc;}
.vma-bottom-lead strong {font-size:19px;}
.vma-bottom-lead p {color:var(--vma-muted); margin:6px 0 0;}
.vma-bottom-lead .vma-button {flex:0 0 auto;}
.vma-disclaimer {margin-top:40px;}
@media(max-width:920px) {
  .vma-detail-hero {grid-template-columns:minmax(0,1fr); gap:22px;}
  .vma-contact {position:static; max-width:none;}
  .vma-contact-facts {grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:22px;}
}
@media(max-width:700px) {
  .vma-detail {padding:25px 14px 52px;}
  .vma-detail-hero {margin-bottom:30px;}
  .vma-facts {grid-template-columns:1fr;}
  .vma-bottom-lead {flex-direction:column; align-items:stretch; padding:20px; gap:17px;}
  .vma-bottom-lead .vma-button {width:100%;}
  .vma-contact-facts {grid-template-columns:1fr;}
  .vma-thumbs a {flex-basis:110px;}
}

.vma-detail-heading h1 {overflow-wrap:anywhere;}
.vma-contact a {white-space:normal;}

/* v1.0.5: containment against horizontal layout overflow (320px and up).
 * Only plugin-owned elements are affected: global header/theme remain untouched. */
.vma-inventory,
.vma-detail {
  box-sizing: border-box;
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: clip;
  overflow-wrap: anywhere;
}
.vma-inventory img,
.vma-detail img,
.vma-inventory svg,
.vma-detail svg { max-width: 100%; }
.vma-inventory :where(.vma-grid,.vma-card,.vma-card-inner,.vma-card-footer,.vma-fields,.vma-controls,.vma-controls-bottom,.vma-pagination),
.vma-detail :where(.vma-detail-shell,.vma-detail-hero,.vma-detail-gallery,.vma-detail-content,.vma-contact,.vma-contact-facts,.vma-bottom-lead,.vma-facts,.vma-section,.vma-energy,.vma-description) {
  min-width: 0;
  max-width: 100%;
}
.vma-detail-hero > *,
.vma-grid > *,
.vma-facts > *,
.vma-contact-facts > * { min-width: 0; }
.vma-inventory :where(input,select,button),
.vma-detail :where(input,select,button) { max-width: 100%; }
.vma-inventory select,
.vma-inventory input { min-width: 0; }
.vma-card-price,
.vma-price-block strong,
.vma-contact-facts dd,
.vma-facts dd,
.vma-bottom-lead strong { overflow-wrap: anywhere; white-space: normal; }
.vma-pagination { flex-wrap: wrap; gap: 10px; }
.vma-thumbs { min-width: 0; max-width: 100%; }
.vma-lightbox { box-sizing: border-box; max-width: calc(100vw - 16px); }
@media (max-width: 360px) {
  .vma-detail { padding-left: 10px; padding-right: 10px; }
  .vma-filter-details { padding: 10px; }
  .vma-contact { padding: 17px 13px; }
  .vma-card-inner { padding: 14px; }
  .vma-controls-bottom .vma-field { min-width: 0; width: 100%; }
  .vma-bottom-lead { padding: 14px; }
}

/* Visible text supplements the graphic for users who cannot distinguish colours. */
.vma-co2-chart {background:#fff; color:#000; padding:14px; border:1px solid #000;}
.vma-co2-scale {list-style:none; margin:6px 0; padding:0; display:grid; gap:3px; max-width:500px;}
.vma-co2-column-headings,.vma-co2-grade {display:grid; grid-template-columns:minmax(90px,2fr) minmax(62px,1fr); gap:4px; align-items:center;}
.vma-co2-column-headings.vma-co2-dual,.vma-co2-dual .vma-co2-grade {grid-template-columns:minmax(90px,2fr) minmax(62px,1fr) minmax(62px,1fr);}
.vma-co2-column-headings {max-width:500px; font-size:12px; line-height:1.2;}
.vma-co2-grade {font-size:16px; font-weight:700; min-height:25px;}
.vma-co2-bar {display:block; color:#000; padding:3px 13px 3px 7px; clip-path:polygon(0 0,calc(100% - 11px) 0,100% 50%,calc(100% - 11px) 100%,0 100%);}
.vma-co2-a {background:#00a451;width:49%;} .vma-co2-b {background:#52b82b;width:57%;} .vma-co2-c {background:#b5d500;width:65%;}
.vma-co2-d {background:#ffed00;width:73%;color:#111;} .vma-co2-e {background:#fbaa00;width:81%;color:#111;} .vma-co2-f {background:#f05a1a;width:90%;} .vma-co2-g {background:#e81529;width:100%;color:#fff;}
.vma-co2-pointer {display:inline-block; min-width:40px; text-align:center; background:#111; color:#fff; padding:3px 7px 3px 13px; font-size:16px; clip-path:polygon(0 50%, 10px 0, 100% 0, 100% 100%, 10px 100%);}
.vma-co2-discharged {border-left:1px solid #000; padding-left:4px; align-self:stretch;}

.vma-reference {margin:0 0 0.5rem; overflow-wrap:anywhere;}

/* Match the overview section gutters at every viewport width. */
.vma-detail { padding-left: clamp(20px, calc(0.4rem + 2.2vw), 3rem); padding-right: clamp(20px, calc(0.4rem + 2.2vw), 3rem); }

.vma-card-reference, .vma-reference {font-size:16px; color:#172b48; background:#eef3f9; border-left:3px solid #405b89; padding:9px 12px; line-height:1.4; overflow-wrap:anywhere;}
.vma-card-reference {margin:-6px 0 16px;}
.vma-reference {margin:0 0 12px;}

/* The containment rule above must not override the site's desktop content width. */
@media (min-width: 1025px) {
  .vma-detail .vma-detail-shell { max-width: 82rem; }
}
.vma-lightbox button.vma-lightbox-close,
.vma-lightbox button.vma-lightbox-prev,
.vma-lightbox button.vma-lightbox-next {
  color: #fff !important;
  background-color: #3e5782 !important;
  border-color: #3e5782 !important;
}
.vma-lightbox button.vma-lightbox-close:hover,
.vma-lightbox button.vma-lightbox-prev:hover,
.vma-lightbox button.vma-lightbox-next:hover { background-color: #304568 !important; border-color: #304568 !important; }
.vma-lightbox button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.vma-lightbox figcaption { color: #fff; }
