.lo-widget {

  --lo-primary: #122b4a;

  --lo-accent: #f28c28;

  --lo-radius: 10px;

  font:

    15px/1.45 Inter,

    -apple-system,

    BlinkMacSystemFont,

    "Segoe UI",

    sans-serif;

  color: #17263a;

}

.lo-head {

  background: #dbe1e7;

  border-bottom-color: #cbd3dc;

}

.lo-field label {

  font-weight: 800;

}

.lo-term-field {

  grid-column: auto;

}

.lo-term-buttons {

  grid-template-columns: repeat(6, minmax(42px, 1fr));

  gap: 5px;

}

.lo-term-buttons button {

  padding: 0 5px;

}

.lo-contact-button {

  display: inline-flex !important;

  align-items: center;

  gap: 6px;

  padding: 6px 9px;

  border: 1px solid color-mix(in srgb, var(--lo-primary) 32%, transparent);

  border-radius: 7px;

  background: rgba(255, 255, 255, 0.58);

  line-height: 1;

}

.lo-contact-button:hover {

  background: #fff;

}

.lo-contact-button svg {

  width: 15px;

  height: 15px;

  fill: currentColor;

  flex: none;

}

.lo-info {

  position: relative;

  display: inline-grid;

  place-items: center;

  width: 16px;

  height: 16px;

  margin-left: 4px;

  border-radius: 50%;

  background: var(--lo-primary);

  color: #fff;

  font-size: 10px;

  font-weight: 900;

  cursor: help;

  vertical-align: 1px;

}

.lo-info:after {

  content: attr(data-help);

  position: absolute;

  z-index: 50;

  left: 50%;

  bottom: calc(100% + 8px);

  transform: translateX(-50%);

  width: 210px;

  padding: 9px 10px;

  border-radius: 7px;

  background: #17263a;

  color: #fff;

  font-size: 11px;

  font-weight: 500;

  line-height: 1.35;

  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18);

  opacity: 0;

  visibility: hidden;

  pointer-events: none;

  transition: 0.16s;

}

.lo-info:hover:after,

.lo-info:focus:after {

  opacity: 1;

  visibility: visible;

}

.lo-final input {

  background: #fff;

  color: #17263a;

}

@media (max-width: 700px) {

  .lo-term-field {

    grid-column: 1/-1;

  }

  .lo-term-buttons {

    grid-template-columns: repeat(3, 1fr);

  }

  .lo-brand span {

    flex-wrap: wrap;

    justify-content: flex-end;

  }

  .lo-contact-button {

    font-size: 11px !important;

  }

}



/* v1.7 product branding, purpose field and term-button colours. */

.lo-widget .lo-purpose-field[hidden] {

  display: none !important;

}

.lo-widget .lo-term-buttons button:hover:not(.active) {

  border-color: var(--lo-primary) !important;

  background: color-mix(in srgb, var(--lo-primary) 12%, #fff) !important;

  color: var(--lo-primary) !important;

}

.lo-widget .lo-term-buttons button.active:hover {

  border-color: var(--lo-primary) !important;

  background: var(--lo-primary) !important;

  color: #fff !important;

  filter: brightness(0.9);

}

.lo-widget.lo-consumer .lo-logo {

  width: 180px;

  max-width: 100%;

}



/* v1.5: definitive widget layout; kept last to prevent theme/Elementor overrides. */

.leaseone-widget .lo-head {

  background: #cbd3dc !important;

  border-bottom-color: #b7c1cd !important;

}

.leaseone-widget .lo-field > label,

.leaseone-widget .lo-field > label > span:first-child {

  font-weight: 800 !important;

}

.leaseone-widget .lo-price-field,

.leaseone-widget .lo-term-field {

  grid-column: auto !important;

}

.leaseone-widget .lo-term-buttons {

  display: grid !important;

  grid-template-columns: repeat(6, minmax(42px, 1fr)) !important;

  gap: 5px !important;

}

.leaseone-widget .lo-info {

  display: inline-grid !important;

  place-items: center !important;

  width: 18px !important;

  height: 18px !important;

  margin-left: 5px !important;

  border: 1px solid currentColor !important;

  border-radius: 50% !important;

  font-size: 11px !important;

  font-weight: 800 !important;

  line-height: 1 !important;

  cursor: help !important;

}

.leaseone-widget .lo-contact-button {

  display: inline-flex !important;

  align-items: center !important;

  gap: 6px !important;

  min-height: 34px !important;

  padding: 6px 10px !important;

  border: 1px solid #aeb9c5 !important;

  border-radius: 8px !important;

  background: #fff !important;

  color: #173456 !important;

  text-decoration: none !important;

  font-weight: 800 !important;

  white-space: nowrap !important;

}

.leaseone-widget .lo-contact-button svg {

  width: 16px !important;

  height: 16px !important;

  flex: 0 0 16px !important;

}

.leaseone-widget .lo-final input {

  pointer-events: auto !important;

  background: #fff !important;

  color: #17263a !important;

}

@media (max-width: 700px) {

  .leaseone-widget .lo-term-field {

    grid-column: 1 / -1 !important;

  }

  .leaseone-widget .lo-term-buttons {

    grid-template-columns: repeat(3, 1fr) !important;

  }

}

.lo-widget * {

  box-sizing: border-box;

}

.lo-card {

  background: #fff;

  border: 1px solid #e1e7ee;

  border-radius: var(--lo-radius);

  box-shadow: 0 12px 32px rgba(18, 43, 74, 0.09);

  overflow: hidden;

}

.lo-head {

  background: var(--lo-primary);

  color: #fff;

  padding: 19px 22px;

}

.lo-head strong {

  font-size: 20px;

  display: block;

}

.lo-head span {

  color: #d5e2ee;

  font-size: 13px;

}

.lo-body {

  padding: 21px;

}

.lo-tabs {

  display: flex;

  background: #f0f4f8;

  border-radius: 8px;

  padding: 4px;

  margin-bottom: 19px;

}

.lo-tab {

  flex: 1;

  border: 0;

  background: transparent;

  padding: 9px;

  border-radius: 6px;

  font-weight: 750;

  color: #52677e;

  cursor: pointer;

}

.lo-tab.active {

  background: #fff;

  color: var(--lo-primary);

  box-shadow: 0 2px 8px rgba(18, 43, 74, 0.09);

}

.lo-grid {

  display: grid;

  grid-template-columns: 1fr 1fr;

  gap: 14px;

}

.lo-field label {

  display: block;

  font-size: 12px;

  font-weight: 750;

  color: #536579;

  margin-bottom: 5px;

}

.lo-field input,

.lo-field select {

  width: 100%;

  height: 43px;

  border: 1px solid #cfd9e4;

  border-radius: 7px;

  padding: 0 11px;

  background: #fff;

  color: #17263a;

  font: inherit;

}

.lo-result {

  margin-top: 18px;

  padding: 18px;

  background: #f4f7fa;

  border-radius: 9px;

  display: flex;

  justify-content: space-between;

  align-items: center;

  gap: 15px;

}

.lo-result span {

  color: #68798c;

  font-size: 13px;

}

.lo-result strong {

  display: block;

  color: var(--lo-primary);

  font-size: 27px;

}

.lo-result .lo-finance-summary {

  display: block;

  margin-bottom: 5px;

  color: #607286;

  font-size: 12px;

  line-height: 1.35;

}

.lo-result .lo-finance-summary strong {

  display: inline;

  color: var(--lo-primary);

  font-size: 13px;

}

.lo-widget.lo-business .lo-base-applicant-grid {

  margin-top: 18px;

}

.lo-button {

  border: 0;

  border-radius: 7px;

  background: var(--lo-accent);

  color: #fff;

  padding: 11px 15px;

  font-weight: 800;

  cursor: pointer;

}

.lo-error {

  padding: 13px;

  border-radius: 7px;

  background: #fff0ef;

  color: #9f241c;

}

.leasemodule-monthly-price,

.leaseone-monthly-price {

  display: inline-block;

}

.lo-price {

  border: 0;

  background: transparent;

  color: var(--lo-primary);

  font:

    800 16px Inter,

    -apple-system,

    sans-serif;

  cursor: pointer;

  padding: 0;

}

.lo-price em {

  color: var(--lo-accent);

  font-style: normal;

}

.lo-loading {

  color: #6b7d91;

  font-size: 13px;

}

@media (max-width: 600px) {

  .lo-grid {

    grid-template-columns: 1fr;

  }

  .lo-result {

    align-items: flex-start;

    flex-direction: column;

  }

  .lo-button {

    width: 100%;

  }

}

.lo-result-actions {

  display: flex;

  gap: 8px;

}

.lo-start {

  background: var(--lo-primary);

}

.lo-button:disabled {

  opacity: 0.65;

  cursor: wait;

}

.lo-application h3,

.lo-success h3 {

  font-size: 22px;

  color: var(--lo-primary);

  margin: 10px 0 4px;

}

.lo-form-intro {

  color: #68798c;

  margin: 0 0 19px;

}

.lo-submit-note {

  margin: 9px 0 0;

  color: var(--lo-muted);

  font-size: 13px;

  line-height: 1.45;

  text-align: center;

}

.lo-comment-field { margin-top: 18px; }

.lo-field input.lo-invalid,

.lo-field select.lo-invalid,

.lo-field textarea.lo-invalid {

  border-color: #d95c62;

  box-shadow: 0 0 0 3px rgba(169,31,37,.09);

}

.lo-back {

  border: 1px solid var(--lo-border);

  border-radius: 999px;

  background: #fff;

  color: var(--lo-primary);

  padding: 7px 12px;

  cursor: pointer;

  font-weight: 700;

  font-size: 13px;

  transition: background .18s ease,border-color .18s ease,transform .18s ease;

}

.lo-widget .lo-back:hover,

.lo-widget .lo-back:focus-visible {

  background: var(--lo-primary) !important;

  border-color: var(--lo-primary) !important;

  color: #fff !important;

  transform: translateY(-1px);

}

.lo-field textarea {

  width: 100%;

  border: 1px solid #cfd9e4;

  border-radius: 7px;

  padding: 10px 11px;

  font: inherit;

  resize: vertical;

}

.lo-consent {

  display: flex;

  gap: 9px;

  align-items: flex-start;

  margin: 17px 0;

  color: #526579;

  font-size: 13px;

}

.lo-consent input {

  margin-top: 3px;

}

.lo-submit {

  width: 100%;

  margin-top: 3px;

}

.lo-honeypot {

  position: absolute !important;

  left: -99999px !important;

  width: 1px;

  height: 1px;

  overflow: hidden;

}

.lo-success {

  text-align: center;

  padding: 35px 20px;

}

.lo-success-icon {

  width: 54px;

  height: 54px;

  margin: 0 auto 13px;

  border-radius: 50%;

  display: grid;

  place-items: center;

  background: #e7f7f0;

  color: #15815c;

  font-size: 27px;

  font-weight: 900;

}

.lo-success p {

  color: #68798c;

}

@media (max-width: 600px) {

  .lo-result-actions {

    width: 100%;

    flex-direction: column;

  }

}

.lo-kvk-field {

  position: relative;

}

.lo-kvk-suggestions {

  position: absolute;

  z-index: 30;

  top: calc(100% + 5px);

  left: 0;

  right: 0;

  background: #fff;

  border: 1px solid #ccd8e4;

  border-radius: 9px;

  box-shadow: 0 14px 32px rgba(18, 43, 74, 0.17);

  max-height: 280px;

  overflow: auto;

}

.lo-kvk-option {

  display: block;

  width: 100%;

  border: 0;

  border-bottom: 1px solid #edf1f5;

  background: #fff;

  text-align: left;

  padding: 11px 13px;

  cursor: pointer;

  color: #17263a;

}

.lo-kvk-option:last-child {

  border-bottom: 0;

}

.lo-widget .lo-kvk-option:hover,

.lo-widget .lo-kvk-option:focus {

  background: #32578c !important;

  color: #fff !important;

  outline: 0;

}

.lo-kvk-option strong,

.lo-kvk-option span {

  display: block;

}

.lo-kvk-option strong {

  font-size: 14px;

}

.lo-kvk-option span,

.lo-kvk-status {

  font-size: 12px;

  color: #667b90;

  margin-top: 2px;

}

.lo-kvk-status {

  display: block;

  padding: 12px 13px;

}

.lo-head {

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 20px;

}

.lo-brand {

  display: flex;

  align-items: center;

  gap: 14px;

}

.lo-logo {

  width: 150px;

  height: auto;

  display: block;

}

.lo-brand span {

  display: flex;

  flex-direction: column;

  align-items: flex-end;

}

.lo-brand a {

  color: #fff;

  text-decoration: none;

  font-size: 12px;

  font-weight: 750;

}

.lo-term-field {

  grid-column: 1/-1;

}

.lo-term-buttons {

  display: grid;

  grid-template-columns: repeat(6, 1fr);

  gap: 7px;

}

.lo-term-buttons button {

  height: 41px;

  border: 1px solid #cbd7e3;

  border-radius: 7px;

  background: #fff;

  color: #405871;

  font-weight: 800;

  cursor: pointer;

}

.lo-term-buttons button.active {

  background: var(--lo-primary);

  border-color: var(--lo-primary);

  color: #fff;

}

.lo-final input[readonly] {

  background: #f4f7fa;

  color: #405871;

}

.lo-application {

  overflow: visible;

}

.lo-body {

  overflow: visible;

}

.lo-card {

  overflow: visible;

}

.lo-head {

  border-radius: var(--lo-radius) var(--lo-radius) 0 0;

}

@media (max-width: 700px) {

  .lo-head {

    align-items: flex-start;

  }

  .lo-brand {

    align-items: flex-end;

    flex-direction: column;

  }

  .lo-logo {

    width: 120px;

  }

  .lo-term-buttons {

    grid-template-columns: repeat(3, 1fr);

  }

}

.lo-widget.lo-business {

  --lo-primary: #32578c;

  --lo-accent: #4b74aa;

  --lo-soft: #edf2f8;

  --lo-border: #b9c9dc;

}

.lo-widget.lo-consumer {

  --lo-primary: #a91f25;

  --lo-accent: #c13c42;

  --lo-soft: #faeeee;

  --lo-border: #dfb5b7;

}

.lo-head {

  background: #f1f3f5;

  color: var(--lo-primary);

  border-bottom: 1px solid #dde2e7;

}

.lo-head span {

  color: #657484;

}

.lo-brand {

  margin-left: auto;

  flex-direction: column;

  align-items: flex-end;

  gap: 7px;

  text-align: right;

}

.lo-brand span {

  flex-direction: row;

  align-items: center;

  justify-content: flex-end;

  gap: 12px;

}

.lo-brand a {

  color: var(--lo-primary);

}

.lo-tabs {

  background: var(--lo-soft);

}

.lo-tab {

  color: var(--lo-primary);

}

.lo-tab.active {

  box-shadow: 0 2px 9px color-mix(in srgb, var(--lo-primary) 16%, transparent);

  border: 1px solid var(--lo-border);

}

.lo-field input:focus,

.lo-field select:focus,

.lo-field textarea:focus {

  outline: 0;

  border-color: var(--lo-primary);

  box-shadow: 0 0 0 3px color-mix(in srgb, var(--lo-primary) 14%, transparent);

}

.lo-result {

  background: var(--lo-soft);

}

.lo-button,

.lo-start,

.lo-submit {

  background: var(--lo-primary);

}

.lo-back {

  color: var(--lo-primary);

}

.lo-vehicle-form-fields {

  margin: 14px 0;

}

.lo-vehicle-summary-card {

  display: flex;

  flex-direction: column;

  gap: 4px;

  margin: 5px 0 18px;

  padding: 13px 15px;

  border: 1px solid var(--lo-border);

  border-left: 4px solid var(--lo-primary);

  border-radius: 8px;

  background: var(--lo-soft);

  color: var(--lo-text);

}

.lo-vehicle-summary-card strong { font-size: 15px; }

.lo-vehicle-summary-card span { color: var(--lo-muted); font-size: 13px; line-height: 1.45; }

.lo-consumer-credit-logo {

  display: none;

  margin: 22px 0 5px;

  text-align: right;

}

.lo-consumer .lo-consumer-credit-logo {

  display: block;

}

.lo-consumer-credit-logo img {

  width: 180px;

  max-width: 45%;

  height: auto;

  opacity: 0.68;

}

.lo-consumer .lo-success-icon {

  background: #fae9ea;

  color: #a91f25;

}

@media (max-width: 700px) {

  .lo-brand {

    margin-left: auto;

    flex-direction: column;

    align-items: flex-end;

  }

  .lo-brand span {

    flex-direction: row;

    gap: 8px;

  }

  .lo-head > div:first-child {

    max-width: 50%;

  }

  .lo-consumer-credit-logo img {

    max-width: 65%;

  }

}

.lo-head {

  background: #dbe1e7;

  border-bottom-color: #cbd3dc;

}

.lo-field label {

  font-weight: 800;

}

.lo-term-field {

  grid-column: auto;

}

.lo-term-buttons {

  grid-template-columns: repeat(6, minmax(42px, 1fr));

  gap: 5px;

}

.lo-term-buttons button {

  padding: 0 5px;

}

.lo-final input {

  background: #fff;

  color: #17263a;

}

@media (max-width: 700px) {

  .lo-term-field {

    grid-column: 1/-1;

  }

  .lo-term-buttons {

    grid-template-columns: repeat(3, 1fr);

  }

}



/* v1.5 final cascade: protect the widget against WordPress theme styles. */

.lo-widget .lo-head { background:#cbd3dc !important; border-bottom-color:#b7c1cd !important; }

.lo-widget .lo-field > label { font-weight:800 !important; }

.lo-widget .lo-price-field,

.lo-widget .lo-term-field { grid-column:auto !important; }

.lo-widget .lo-term-buttons { display:grid !important; grid-template-columns:repeat(6,minmax(42px,1fr)) !important; gap:5px !important; }

.lo-widget .lo-info { display:inline-grid !important; place-items:center !important; width:18px !important; height:18px !important; margin-left:5px !important; border:1px solid currentColor !important; border-radius:50% !important; font-size:11px !important; font-weight:800 !important; line-height:1 !important; cursor:help !important; }

.lo-widget .lo-contact-button { display:inline-flex !important; align-items:center !important; gap:6px !important; min-height:34px !important; padding:6px 10px !important; border:1px solid #aeb9c5 !important; border-radius:8px !important; background:#fff !important; color:#173456 !important; text-decoration:none !important; font-weight:800 !important; white-space:nowrap !important; }

.lo-widget .lo-contact-button svg { display:block !important; width:16px !important; height:16px !important; flex:0 0 16px !important; fill:currentColor !important; }

.lo-widget .lo-final input { pointer-events:auto !important; background:#fff !important; color:#17263a !important; }

@media (max-width:700px) {

  .lo-widget .lo-term-field { grid-column:1/-1 !important; }

  .lo-widget .lo-term-buttons { grid-template-columns:repeat(3,1fr) !important; }

}



/* v1.6 visual refinements. */

.lo-widget .lo-head {

  background: #dce2e8 !important;

  border-bottom-color: #cbd3dc !important;

}

.lo-widget .lo-head > div:first-child,

.lo-widget .lo-head > div:first-child strong,

.lo-widget .lo-head > div:first-child span {

  color: #111 !important;

}

.lo-widget .lo-consumer-credit-logo {

  width: 100% !important;

  margin: 24px auto 4px !important;

  text-align: center !important;

}

.lo-widget .lo-consumer-credit-logo img {

  display: inline-block !important;

  width: 350px !important;

  max-width: 100% !important;

  height: auto !important;

  opacity: 1 !important;

}



/* v1.6.1 product terms, help text and product-coloured actions. */

.lo-widget .lo-consumer-term[hidden] {

  display: none !important;

}

.lo-widget.lo-consumer .lo-term-buttons {

  grid-template-columns: repeat(5, minmax(42px, 1fr)) !important;

}

.lo-widget .lo-info::after {

  width: 310px !important;

  max-width: min(310px, calc(100vw - 36px)) !important;

}

.lo-widget .lo-button:hover:not(:disabled),

.lo-widget .lo-start:hover:not(:disabled),

.lo-widget .lo-submit:hover:not(:disabled) {

  background: var(--lo-primary) !important;

  filter: brightness(0.88);

}

@media (max-width: 700px) {

  .lo-widget.lo-consumer .lo-term-buttons {

    grid-template-columns: repeat(2, 1fr) !important;

  }

}



/* v1.7 final cascade. */

.lo-widget .lo-purpose-field[hidden] { display:none !important; }

.lo-widget .lo-term-buttons button:hover:not(.active) { border-color:var(--lo-primary) !important; background:color-mix(in srgb,var(--lo-primary) 12%,#fff) !important; color:var(--lo-primary) !important; }

.lo-widget .lo-term-buttons button.active:hover { border-color:var(--lo-primary) !important; background:var(--lo-primary) !important; color:#fff !important; filter:brightness(.9); }

.lo-widget.lo-consumer .lo-logo { width:180px !important; max-width:100% !important; }



.lo-widget .lo-version-footer {

  padding: 7px 18px 10px;

  color: #a4adb7;

  font-size: 10px;

  font-weight: 500;

  line-height: 1.2;

  text-align: center;

  letter-spacing: 0.02em;

}



/* v1.11 multi-step particuliere aanvraag. */

.lo-consumer-wizard { margin-top: 16px; }

.lo-wizard-progress { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:18px 0 22px; }

.lo-wizard-progress > span { position:relative; display:flex; align-items:center; gap:8px; color:#8b929c; font-size:12px; font-weight:800; }

.lo-wizard-progress > span::before { content:attr(data-number); display:grid; place-items:center; width:26px; height:26px; border:2px solid #d9dde2; border-radius:50%; background:#fff; color:#8b929c; }

.lo-wizard-progress > span:nth-child(1)::before { content:"1"; }

.lo-wizard-progress > span:nth-child(2)::before { content:"2"; }

.lo-wizard-progress > span:nth-child(3)::before { content:"3"; }

.lo-wizard-progress > span::after { content:""; position:absolute; z-index:-1; top:13px; left:28px; right:-8px; height:2px; background:#e2e5e9; }

.lo-wizard-progress > span:last-child::after { display:none; }

.lo-wizard-progress > span.active { color:var(--lo-primary); }

.lo-wizard-progress > span.active::before { border-color:var(--lo-primary); background:var(--lo-primary); color:#fff; }

.lo-wizard-progress > span.active::after { background:color-mix(in srgb,var(--lo-primary) 52%,#e2e5e9); }

.lo-wizard-step h4 { margin:18px 0 12px; color:var(--lo-primary); font-size:16px; }

.lo-wizard-step > h4:first-child { margin-top:0; }

.lo-conditional { margin-top:18px; padding-top:2px; border-top:1px solid #edf0f3; }

.lo-wizard-actions { display:flex; justify-content:space-between; gap:12px; margin-top:22px; }

.lo-wizard-prev { background:#fff !important; border:1px solid var(--lo-primary); color:var(--lo-primary); }

.lo-wizard-prev:hover { background:var(--lo-primary) !important; color:#fff; }

.lo-wizard-next { margin-left:auto; }

.lo-wizard-review { overflow:hidden; border:1px solid var(--lo-border); border-radius:9px; background:var(--lo-soft); }

.lo-wizard-review > div { display:grid; grid-template-columns:130px 1fr; gap:12px; padding:11px 13px; border-bottom:1px solid color-mix(in srgb,var(--lo-border) 65%,transparent); }

.lo-wizard-review > div:last-child { border-bottom:0; }

.lo-wizard-review span { color:#69788a; font-size:12px; }

.lo-wizard-review strong { overflow-wrap:anywhere; font-size:13px; }

@media (max-width:600px) {

  .lo-wizard-progress > span { justify-content:center; }

  .lo-wizard-progress > span > span { display:none; }

  .lo-wizard-progress > span::after { left:calc(50% + 15px); right:calc(-50% + 15px); }

  .lo-wizard-review > div { grid-template-columns:1fr; gap:2px; }

  .lo-wizard-actions .lo-button { width:auto; flex:1; }

}


/* Lease One layout: independent of WordPress theme button resets. */
.dvo-lm-calculator {container-type:inline-size; min-width:0; width:100%;}
.dvo-lm-calculator .lo-head {display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:12px;padding:22px 20px;}
.dvo-lm-calculator .lo-head > div:first-child {flex:1;min-width:0;}
.dvo-lm-calculator .lo-head strong {font-size:20px;line-height:1.4;}
.dvo-lm-calculator .lo-brand {display:flex;flex-direction:column;align-items:flex-end;flex:0 0 128px;}
.dvo-lm-calculator .lo-brand .lo-logo {max-width:128px;height:auto;}
.dvo-lm-calculator .lo-brand > span {display:flex;flex-direction:column;gap:8px;}
.dvo-lm-calculator .lo-grid {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;}
.dvo-lm-calculator .lo-field {min-width:0;}
.dvo-lm-calculator .lo-field input {width:100%;box-sizing:border-box;min-height:43px;}
.dvo-lm-calculator .lo-term-field {grid-column:1/-1;}
.dvo-lm-calculator .lo-term-buttons {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;}
.dvo-lm-calculator .lo-tab {padding:12px 8px!important;min-height:44px;line-height:1.3!important;font-size:14px!important;}
.dvo-lm-calculator .lo-term-buttons button {padding:9px 4px!important;min-height:41px;line-height:1.2!important;font-size:14px!important;}
.dvo-lm-calculator .lo-button {display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:12px 16px!important;border-radius:7px!important;background:var(--lo-primary)!important;color:#fff!important;font-size:14px!important;line-height:1.4!important;font-weight:700!important;text-decoration:none!important;white-space:normal;}
.dvo-lm-calculator [hidden] {display:none!important;}
.dvo-lm-calculator .lo-result {display:flex;flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:18px;border-radius:10px;}
.dvo-lm-calculator .lo-result [data-result] {font-size:28px;line-height:1.25;}
.dvo-lm-calculator .lo-result-actions {flex:1;min-width:170px;}
.dvo-lm-calculator .lo-result-actions .lo-button {width:100%;}
#dvo-detail-prijs .dvo-price-detail, #dvo-detail-prijs .dvo-lm-monthly, #dvo-detail-prijs .lo-price, #dvo-detail-prijs .lo-price em {font-size:30px!important;line-height:1.3!important;font-weight:800!important;font-style:normal!important;color:inherit;}
.dvo-detail-gallery {min-width:0;}
.dvo-detail-gallery #img-detail {display:block;width:100%;height:auto;}
.dvo-detail-thumbnails {width:100%;min-width:0;margin-top:12px;overflow:hidden;}
.dvo-detail-thumbnails .swiper-container {overflow:hidden;}
.dvo-detail-thumbnails .dvo-thumbx {display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:7px;}
@container (max-width:350px) {
 .dvo-lm-calculator .lo-head {padding:16px 12px;gap:8px;}
 .dvo-lm-calculator .lo-head strong {font-size:17px;}
 .dvo-lm-calculator .lo-brand {flex-basis:112px;}
 .dvo-lm-calculator .lo-brand .lo-logo {max-width:112px;}
 .dvo-lm-calculator .lo-body {padding:16px 12px;}
 .dvo-lm-calculator .lo-result-actions {flex-basis:100%;}
 .dvo-lm-calculator .lo-application .lo-grid {grid-template-columns:1fr;}
}

@container (max-width:480px) { .dvo-lm-calculator .lo-application .lo-grid {grid-template-columns:1fr;} }

/* Override legacy viewport rules even in a narrow desktop sidebar. */
.dvo-lm-calculator.lo-widget .lo-term-field {grid-column:1/-1!important;min-width:0;}
.dvo-lm-calculator.lo-widget .lo-term-buttons,
.dvo-lm-calculator.lo-widget.lo-consumer .lo-term-buttons {display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;min-width:0;width:100%;}
.dvo-lm-calculator.lo-widget .lo-term-buttons button {width:100%;min-width:0;box-sizing:border-box;}

/* Business branding is always Lease One blue, including theme overrides. */
.dvo-lm-calculator.lo-widget.lo-business {--lo-primary:#345b8f!important;--lo-soft:#edf3f9!important;--lo-border:#cbd7e3!important;}
.dvo-lm-calculator.lo-widget.lo-business .lo-button,
.dvo-lm-calculator.lo-widget.lo-business .lo-term-buttons button.active {background:#345b8f!important;border-color:#345b8f!important;color:#fff!important;}
.dvo-lm-calculator.lo-widget.lo-business .lo-tab {color:#345b8f!important;}

/* Theme-independent controls matching the provider examples. */
.dvo-lm-calculator.lo-widget.lo-consumer {--lo-primary:#ad1f27!important;--lo-soft:#fbeef0!important;--lo-border:#e8c8cc!important;}
.dvo-lm-calculator.lo-widget .lo-tabs {background:var(--lo-soft)!important;border:0!important;border-radius:8px!important;padding:4px!important;}
.dvo-lm-calculator.lo-widget .lo-tabs .lo-tab {background:transparent!important;background-image:none!important;color:var(--lo-primary)!important;border:1px solid transparent!important;border-radius:6px!important;box-shadow:none!important;font-weight:700!important;}
.dvo-lm-calculator.lo-widget .lo-tabs .lo-tab.active {background:#fff!important;border-color:var(--lo-border)!important;box-shadow:0 2px 7px #122b4a1a!important;}
.dvo-lm-calculator.lo-widget input:not([type=checkbox]):not([type=hidden]),
.dvo-lm-calculator.lo-widget select,
.dvo-lm-calculator.lo-widget textarea {border:1px solid #cbd7e3!important;border-radius:6px!important;background:#fff!important;color:#122b4a!important;padding:10px!important;box-shadow:none!important;}
.dvo-lm-calculator.lo-widget .lo-result {background:var(--lo-soft)!important;}
.dvo-lm-calculator.lo-widget.lo-consumer .lo-term-buttons {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
.dvo-detail-thumbnails .swiper-container:not(.swiper-initialized) .swiper-wrapper {display:flex;gap:8px;overflow-x:auto;}
.dvo-detail-thumbnails .swiper-container:not(.swiper-initialized) .swiper-slide {flex:0 0 calc((100% - 24px)/4);width:calc((100% - 24px)/4);}

/* Keep the price label and information icon on the same line. */
.dvo-lm-calculator.lo-widget .lo-calc-view .lo-field label {display:flex!important;align-items:center;gap:5px;white-space:nowrap;font-size:clamp(10px,3cqi,12px)!important;}
.dvo-lm-calculator.lo-widget .lo-calc-view .lo-field label .lo-info {display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 auto;margin:0!important;color:#fff!important;padding:0!important;text-indent:0!important;font-family:Arial,sans-serif!important;font-style:normal!important;}

/* Back to calculation: outlined pill, isolated from theme button styles. */
.dvo-lm-calculator.lo-widget .lo-application button.lo-back {
 display:inline-flex!important;align-items:center;justify-content:center;
 width:auto!important;min-height:35px;margin:0 0 12px!important;padding:7px 12px!important;
 border:1px solid #b5c9e3!important;border-radius:999px!important;
 background:#fff!important;background-image:none!important;color:#345b8f!important;
 font-family:inherit!important;font-size:13px!important;font-weight:600!important;
 line-height:1.4!important;text-transform:none!important;text-decoration:none!important;
 box-shadow:none!important;cursor:pointer;
}
.dvo-lm-calculator.lo-widget .lo-application button.lo-back:hover {background:#edf3f9!important;color:#345b8f!important;border-color:#345b8f!important;}
.dvo-lm-calculator.lo-widget .lo-application button.lo-back:focus-visible {outline:2px solid #345b8f;outline-offset:3px;}

/* Compact offer action aligned to the right, without stretching. */
.dvo-lm-calculator.lo-widget .lo-result .lo-result-actions {
 flex:0 0 auto!important;min-width:0!important;max-width:100%;margin-left:auto;
}
.dvo-lm-calculator.lo-widget .lo-result .lo-result-actions .lo-start {
 width:auto!important;max-width:100%;min-height:44px;padding:11px 16px!important;
 box-sizing:border-box;
}
/* Keep company search results independent of WordPress theme button styling. */
.dvo-lm-calculator.lo-widget .lo-kvk-suggestions {
 box-sizing:border-box!important; padding:0!important; background:#fff!important;
 border:1px solid #ccd8e4!important; border-radius:8px!important;
 max-height:280px; overflow-y:auto; overflow-x:hidden;
}
.dvo-lm-calculator.lo-widget .lo-kvk-suggestions button.lo-kvk-option {
 display:block!important; box-sizing:border-box!important;
 width:100%!important; max-width:100%!important; min-width:0!important;
 height:auto!important; min-height:58px!important; margin:0!important;
 padding:11px 13px!important; border:0!important;
 border-bottom:1px solid #e3eaf2!important; border-radius:0!important;
 background:#fff!important; color:#345b8f!important; box-shadow:none!important;
 text-align:left!important; text-transform:none!important; text-decoration:none!important;
 white-space:normal!important; overflow-wrap:anywhere; letter-spacing:normal!important;
 font-family:inherit!important; line-height:1.4!important; cursor:pointer;
}
.dvo-lm-calculator.lo-widget .lo-kvk-option strong {
 display:block!important; color:inherit!important; font-size:14px!important;
 font-weight:700!important; line-height:1.4!important;
}
.dvo-lm-calculator.lo-widget .lo-kvk-option span {
 display:block!important; color:#667b90!important; font-size:12px!important;
 font-weight:400!important; line-height:1.5!important; margin-top:3px!important;
}
.dvo-lm-calculator.lo-widget .lo-kvk-suggestions button.lo-kvk-option:hover,
.dvo-lm-calculator.lo-widget .lo-kvk-suggestions button.lo-kvk-option:focus {
 background:#edf3f9!important; color:#254a7c!important;
 outline:2px solid #345b8f!important; outline-offset:-2px!important;
}

/* Labels stay on one line; help text must wrap on small screens. */
.dvo-lm-calculator.lo-widget .lo-info::after {white-space:normal;overflow-wrap:anywhere;box-sizing:border-box;}

/* Align the offer action with the amount in narrow vehicle calculators. */
@container (max-width:480px) {
 .dvo-lm-calculator.lo-widget .lo-result .lo-result-actions {
  flex-basis:100%!important;margin-left:0!important;margin-right:auto!important;text-align:left;
 }
 .dvo-lm-calculator.lo-widget .lo-result .lo-result-actions .lo-start {
  margin-left:0!important;margin-right:auto!important;
 }
}
