.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; }
}

/* Meertalige taalkeuze in calculator, alleen zichtbaar als Digifresh talen activeert. */
.lo-widget .lm-languages{display:flex;align-items:center;gap:2px;margin-left:auto;padding:3px;background:#edf2f7;border:1px solid #d7e1ed;border-radius:9px;flex-shrink:0}
.lo-widget .lm-lang{font-size:11px;font-weight:700;line-height:1.2;min-width:26px;min-height:26px;padding:4px;border:0;border-radius:6px;cursor:pointer;color:#324965;background:transparent}
.lo-widget .lm-lang.active{background:var(--lo-primary,#122b4a);color:#fff}
.lo-widget .lm-lang:focus-visible{outline:2px solid var(--lo-primary,#122b4a);outline-offset:2px}
@media(max-width:700px){.lo-widget .lo-head{flex-wrap:wrap;gap:7px}.lo-widget .lm-languages{order:3;margin-left:0}}

/* v1.18.13: compacte mobiele kop voor ingebedde voertuig- en losse calculators. */
@media (max-width:700px) {
  .lo-widget .lo-head {
    display:grid !important;
    grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows:auto auto;
    column-gap:10px !important;
    row-gap:8px !important;
    align-items:start !important;
    padding:14px 14px 12px !important;
  }
  .lo-widget .lo-head > div:first-child {
    grid-column:1;
    grid-row:1;
    max-width:none !important;
    min-width:0;
    align-self:start;
  }
  .lo-widget .lo-head > div:first-child strong {
    display:block;
    font-size:clamp(16px, 4.5vw, 20px);
    line-height:1.2;
  }
  .lo-widget .lo-head > div:first-child span {
    display:block;
    font-size:12px;
    line-height:1.35;
    margin-top:3px;
  }
  .lo-widget .lo-head .lo-brand {
    grid-column:2;
    grid-row:1 / span 2;
    margin:0 !important;
    width:100%;
    min-width:0;
    gap:8px;
    justify-self:end;
    align-items:flex-end !important;
  }
  .lo-widget .lo-head .lo-brand .lo-logo {
    display:block;
    width:auto !important;
    max-width:min(100%, 150px) !important;
    max-height:48px;
    object-fit:contain;
    object-position:right center;
  }
  .lo-widget .lo-head .lo-brand span {
    display:flex;
    width:100%;
    flex-wrap:wrap;
    justify-content:flex-end;
    align-items:center;
    gap:5px;
  }
  .lo-widget .lo-head .lo-contact-button {
    min-height:30px !important;
    padding:5px 7px !important;
    gap:4px !important;
    font-size:10px !important;
    max-width:100%;
  }
  .lo-widget .lo-head .lo-contact-button svg {
    width:13px !important;
    height:13px !important;
    flex-basis:13px !important;
  }
  .lo-widget .lo-head .lm-languages {
    grid-column:1;
    grid-row:2;
    align-self:end;
    justify-self:start;
    margin:0 !important;
    gap:1px;
    padding:2px;
    max-width:100%;
  }
  .lo-widget .lo-head .lm-lang {
    min-width:25px;
    min-height:27px;
    font-size:10px;
    padding:4px 3px;
  }
  .lo-widget .lo-version-footer a {
    color:inherit;
    text-decoration:none;
  }
  .lo-widget .lo-version-footer a:hover,
  .lo-widget .lo-version-footer a:focus-visible {text-decoration:underline;color:var(--lo-primary,#122b4a)}
}
.lo-widget .lo-version-footer a {color:inherit;text-decoration:none}
.lo-widget .lo-version-footer a:hover,
.lo-widget .lo-version-footer a:focus-visible {text-decoration:underline;color:var(--lo-primary,#122b4a)}
@media(max-width:350px) {
  .lo-widget .lo-head {grid-template-columns:1fr;gap:8px !important}
  .lo-widget .lo-head > div:first-child {grid-column:1;grid-row:1}
  .lo-widget .lo-head .lo-brand {grid-column:1;grid-row:2;align-items:flex-start !important}
  .lo-widget .lo-head .lo-brand .lo-logo {object-position:left center}
  .lo-widget .lo-head .lo-brand span {justify-content:flex-start}
  .lo-widget .lo-head .lm-languages {grid-column:1;grid-row:3}
}

/* Calculatorinfo: op mobiele schermen altijd binnen het eigen veld en in de juiste taal. */
.lo-widget .lo-info:hover::after,.lo-widget .lo-info:focus::after {opacity:0;visibility:hidden}
.lo-widget .lo-info.lm-help-open::after {opacity:1;visibility:visible}
.lo-widget .lo-info:focus-visible {outline:2px solid var(--lo-primary);outline-offset:3px}
@media(max-width:700px){
 .lo-widget .lo-field{min-width:0}
 .lo-widget .lo-field:has(.lo-info.lm-help-open){position:relative;z-index:5}
 .lo-widget .lo-info::after,.lo-widget .lo-info.lm-help-open::after{
   position:absolute !important;left:0 !important;top:calc(100% + 8px) !important;bottom:auto !important;
   transform:none !important;width:min(270px, calc(100vw - 85px)) !important;
   max-width:min(270px, calc(100vw - 85px)) !important;
   white-space:normal !important;overflow-wrap:break-word !important;box-sizing:border-box !important;
   font-size:12px !important;line-height:1.48 !important;padding:12px 14px !important;
 }
 /* Links in het veld tonen, nooit meer buiten het iframe. */
 .lo-widget .lo-field:nth-child(2n) .lo-info::after{left:auto !important;right:0 !important}
}
.lo-widget .lm-provider-announcement{display:flex;align-items:flex-start;gap:10px;margin:12px 0 15px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--lo-primary) 22%,#d9e4ed);border-radius:9px;background:color-mix(in srgb,var(--lo-primary) 7%,#fff);color:#173455;font-size:13px;line-height:1.5;overflow-wrap:anywhere}
.lo-widget .lm-provider-announcement-icon{display:grid;place-items:center;flex:0 0 19px;width:19px;height:19px;border-radius:50%;background:var(--lo-primary);color:#fff;font-weight:800;font-size:12px}
@media(max-width:700px){.lo-widget .lm-provider-announcement{margin:10px 0 13px;padding:10px 12px;font-size:12px}}

/* Tooltipcorrectie: altijd zichtbaar binnen de viewport, onafhankelijk van field-layout. */
.lo-widget .lo-info::after,
.lo-widget .lo-info:hover::after,
.lo-widget .lo-info:focus::after,
.lo-widget .lo-info.lm-help-open::after {display:none !important;content:none !important;}
.lm-help-popup:not([hidden]) {
  display:block !important;
  position:fixed !important;
  z-index:2147483000 !important;
  box-sizing:border-box !important;
  padding:13px 15px !important;
  background:#142b48 !important;
  color:#fff !important;
  border-radius:9px !important;
  box-shadow:0 10px 28px rgba(14,32,56,.25) !important;
  font:500 13px/1.5 Arial,Helvetica,sans-serif !important;
  white-space:normal !important;
  overflow-wrap:anywhere !important;
  pointer-events:none !important;
}
.lm-help-popup[hidden]{display:none !important;}
/* Duidelijker maar rustig accent voor providerberichten. */
.lo-widget .lm-provider-announcement {
  background:#eaf4fd !important;
  border:1px solid #b9d9f0 !important;
  border-left:3px solid var(--lo-primary,#3299cc) !important;
  color:#153a5c !important;
}

/* Optionele huisstijl leaseprovider; standaardkleuren blijven onveranderd. */
.lo-widget .lo-head{background:var(--lo-header-bg,#dbe1e7)}
.lo-widget .lo-result{background:var(--lo-result-bg,#edf3f9)}

/* Zeven taalopties en Marokkaans Arabisch. */
.lo-widget .lm-languages{flex-wrap:wrap;max-width:100%;direction:ltr}

/* WhatsApp logo: vaste merkkleur voor alle calculatorvarianten. */
.lo-widget .lo-contact-button[href^="https://wa.me/"] svg,
.leaseone-widget .lo-contact-button[href^="https://wa.me/"] svg {
  color: #25D366 !important;
  fill: #25D366 !important;
}

/* Consumer calculators: five terms per row on mobile (10 terms = two rows). */
@media(max-width:700px){
 .lo-widget.lo-consumer .lo-grid .lo-term-field{grid-column:1 / -1!important;min-width:0}
 .lo-widget.lo-consumer .lo-grid .lo-term-field .lo-term-buttons{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:5px!important;min-width:0}
 .lo-widget.lo-consumer .lo-grid .lo-term-field .lo-term-buttons button{min-width:0;width:100%;box-sizing:border-box;padding-left:2px!important;padding-right:2px!important;font-size:13px!important}
}

/* Shared calculator field order: price/down, term, final payment. */
.lo-widget .lo-body .lo-calc-view .lo-calc-grid.lo-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}
.lo-widget .lo-body .lo-calc-view .lo-calc-grid.lo-grid>.lo-price-field,
.lo-widget .lo-body .lo-calc-view .lo-calc-grid.lo-grid>.lo-down-field{grid-column:auto!important;min-width:0}
.lo-widget .lo-body .lo-calc-view .lo-calc-grid.lo-grid>.lo-term-field,
.lo-widget .lo-body .lo-calc-view .lo-calc-grid.lo-grid>.lo-final{grid-column:1 / -1!important;min-width:0}
.lo-widget.lo-consumer .lo-body .lo-calc-view .lo-calc-grid.lo-grid>.lo-final{display:none!important}

/* Stable header: copy/languages left, logo/contact right at every width. */
body .lo-widget .lo-head{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(130px,1fr)!important;align-items:start!important;gap:12px!important;flex-wrap:nowrap!important}
body .lo-widget .lo-head>div:first-child{grid-column:1!important;grid-row:1!important;min-width:0!important}
body .lo-widget .lo-head .lo-brand{grid-column:2!important;grid-row:1!important;display:flex!important;flex-direction:column!important;align-items:flex-end!important;min-width:0!important;width:auto!important}
body .lo-widget .lo-head .lo-brand .lo-logo{max-width:100%!important;width:160px!important;object-fit:contain!important;object-position:right center!important}
body .lo-widget .lo-head .lo-brand>span{display:flex!important;flex-wrap:wrap!important;justify-content:flex-end!important;gap:5px!important}
body .lo-widget .lo-head>div:first-child .lm-languages{display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important;width:fit-content!important;max-width:100%!important;margin:12px 0 0!important;grid-column:auto!important;grid-row:auto!important}
body .lo-widget .lo-head .lm-lang{padding:5px 4px!important;min-width:0!important}
body .lo-widget .lo-info{cursor:pointer!important;pointer-events:auto!important}

/* Reserve the action space even before the first calculation completes. */
.lo-widget .lo-result .lo-start[hidden]{display:inline-flex!important;visibility:hidden!important;pointer-events:none!important}
.lo-widget .lo-result [data-result]{font-variant-numeric:tabular-nums;white-space:nowrap}
.lo-widget .lo-result .lo-start:disabled{cursor:wait}

/* Keep all seven language choices on one line within the left header column. */
body .lo-widget .lo-head>div:first-child .lm-languages{display:flex!important;flex-wrap:nowrap!important;gap:0!important;width:100%!important;max-width:220px!important;box-sizing:border-box!important;padding:3px!important}
body .lo-widget .lo-head>div:first-child .lm-languages .lm-lang{flex:1 1 0!important;min-width:0!important;max-width:none!important;width:auto!important;padding:6px 0!important;font-size:10px!important;letter-spacing:0!important;white-space:nowrap!important;text-align:center!important}

/* Business final payment: same single-column width as purchase/down payment. */
.lo-widget:not(.lo-consumer) .lo-body .lo-calc-view .lo-calc-grid.lo-grid>.lo-final{grid-column:1 / 2!important;min-width:0}

/* Provider button backgrounds; existing styling remains the fallback. */
.lo-widget .lo-start { background: var(--lo-quote-background, var(--lo-primary)) !important; }
.lo-widget .lo-submit { background: var(--lo-submit-background, var(--lo-primary)) !important; }
.lo-widget .lo-start:hover:not(:disabled) { background: var(--lo-quote-hover, var(--lo-quote-background, var(--lo-primary))) !important; filter: var(--lo-quote-hover-filter, brightness(0.88)); }
.lo-widget .lo-submit:hover:not(:disabled) { background: var(--lo-submit-hover, var(--lo-submit-background, var(--lo-primary))) !important; filter: var(--lo-submit-hover-filter, brightness(0.88)); }

/* Independent consumer palette, also when switching product in-place. */
.lo-widget.lo-consumer {
  --lo-primary: var(--lo-consumer-primary, #a91f25) !important;
  --lo-header-bg: var(--lo-consumer-header, #dbe1e7) !important;
  --lo-result-bg: var(--lo-consumer-surface, #edf3f9) !important;
  --lo-quote-background: var(--lo-consumer-quote-background, #a91f25) !important;
  --lo-submit-background: var(--lo-consumer-submit-background, #a91f25) !important;
  --lo-quote-hover: var(--lo-consumer-quote-hover, #951b21) !important;
  --lo-submit-hover: var(--lo-consumer-submit-hover, #951b21) !important;
  --lo-quote-hover-filter: none !important;
  --lo-submit-hover-filter: none !important;
}
.lo-widget.lo-consumer .lo-success-icon { color:var(--lo-primary); }

.lo-widget .lo-head { background:var(--lo-header-bg,#dbe1e7) !important; }
.lo-widget .lo-result { background:var(--lo-result-bg,#edf3f9) !important; }

/* Keep footer links at the same size as the API version, including theme overrides. */
.lo-widget .lo-version-footer,
.lo-widget .lo-version-footer a,
.lo-widget .lo-version-footer a:visited,
.lo-widget .lo-version-footer a:hover,
.lo-widget .lo-version-footer a:focus {
  font-size:10px!important;
  line-height:1.2!important;
}
