/* Trust Encar requests: use the theme's font, palette and popup proportions.
   Native request forms and credit calculator. */

.te-car-request-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .8fr);
  gap: 10px;
  width: 100%;
}

.te-car-request-action.btn-blue {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  width: 100%;
  min-width: 0;
  min-height: 60px;
  padding: 5px 14px;
  border: 1px solid rgba(16, 17, 20, 0.14);
  border-radius: 10px;
  background: #fff;
  color: var(--te-text, #010103);
  box-shadow: none !important;
  font-family: inherit;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.25;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  transition: var(--t-all);
}

.te-car-request-action.btn-blue:hover {
  background: var(--te-pink, #f1d8d0);
  border-color: var(--te-orange, #f7893f);
  color: var(--te-text, #010103);
  text-decoration: none;
}

.te-car-request-action__icon {
  display: inline-flex;
  flex: 0 0 36px;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 1px rgba(16, 17, 20, .08);
  color: var(--te-red, #e00032);
}

.te-car-request-action__icon svg { display: block; width: 23px; height: 23px; }
.te-car-request-action__label { display: grid; gap: 4px; min-width: 0; overflow-wrap: break-word; }
.te-car-request-action__label strong { color: var(--te-text, #010103); font-size: 16px; font-weight: 700; line-height: 1.25; }
.te-car-request-action__label small { color: var(--te-text-muted, #6c6c6c); font-size: 13px; font-weight: 400; line-height: 1.35; }
/* Older card templates may still render an arrow; actions are independent. */
.te-car-request-action__arrow { display: none; }

.te-car-request-action--removal { grid-column: 1 / -1; }

/* Vehicle context sits in the dialog header; service content is grouped below it. */
.popap.te-car-request-popup{box-sizing:border-box;width:760px;max-width:100%;padding:36px;border:1px solid #eed9d1;border-radius:18px;background:#fff;color:var(--te-text,#010103);font-family:inherit;text-align:left;box-shadow:0 16px 55px #26141130}
.popap.te-car-request-popup[data-car-request="credit"]{width:1100px}
.te-car-request-popup__head{margin-bottom:24px;padding-right:28px}
.te-car-request-popup__eyebrow{margin:0 0 8px;color:var(--te-red,#e00032);font-size:13px;font-weight:700;line-height:1.4;letter-spacing:.04em}
.te-car-request-popup h2{margin:0;padding:0;color:var(--te-text,#010103);font:inherit;font-size:30px;font-weight:700;line-height:1.2;text-align:left}
.te-car-request-popup h2::after{content:none}
.te-car-request-popup__car{display:block;margin-top:10px;color:var(--te-text-muted,#6c6c6c);font-size:21px;font-weight:400;line-height:1.3;overflow-wrap:anywhere}
.te-car-request-popup__lot{display:inline-block;margin:12px 0 0;padding:5px 10px;border:1px solid #ecd7d0;border-radius:6px;color:var(--te-text-muted,#6c6c6c);font-size:13px;line-height:1.3}
.te-car-request-popup__lot strong{color:var(--te-red,#e00032);font-weight:700}
.te-car-request-popup__intro{margin:0 0 24px;max-width:760px;color:var(--te-text-muted,#6c6c6c);font-size:16px;line-height:1.5;text-align:left}
.te-review-offer{margin:0 0 26px;padding:22px;border:1px solid #f1e2dc;border-radius:14px;background:#fdf8f5}
.te-review-offer>p{margin:0;color:var(--te-text-muted,#6c6c6c);font-size:16px;line-height:1.5}
.te-review-offer__features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0;padding:0;list-style:none}
.te-review-offer__features li{display:grid;align-content:start;gap:6px;min-width:0;padding:14px 12px;border:1px solid #f0e4df;border-radius:10px;background:#fff}
.te-review-offer__features li::before{content:none}
.te-review-offer__features strong{font-size:17px;line-height:1.3}
.te-review-offer__features span{color:var(--te-text-muted,#6c6c6c);font-size:13px;line-height:1.4}
.te-review-offer__price{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px 16px;padding-top:16px;border-top:1px solid #e9d5cb;font-size:16px}
.te-review-offer__price strong{color:var(--te-red,#e00032);font-size:27px;line-height:1.2;white-space:nowrap}
.te-review-offer .te-review-offer__note{margin-top:10px;font-size:13px}
.te-form .te-credit-request-layout{grid-template-columns:minmax(0,1.35fr) minmax(300px,1fr);align-items:start;gap:30px}
.te-form .te-credit-contact{padding:22px;border:1px solid #f0ddd5;border-radius:14px;background:#fdf8f5;gap:20px}
.te-form .te-credit-contact .te-form-fields{grid-template-columns:minmax(0,1fr)}
.te-car-request-popup .fancybox-close-small{top:4px;right:4px;width:44px;height:44px}
.te-car-request-popup h2:focus-visible{outline:2px solid var(--te-red,#e00032);outline-offset:4px}
.te-car-request-popup__message{margin:0 0 16px;padding:14px;border:1px solid var(--te-red,#e00032);border-radius:8px;color:var(--te-text,#010103);font-size:15px;line-height:1.5}
.te-car-request-popup__retry{display:block;min-height:44px;margin:0 0 20px;padding:10px 14px;border:1px solid var(--te-red,#e00032);border-radius:8px;background:#fff;color:var(--te-red,#e00032);font:inherit;cursor:pointer}
[data-car-request] [hidden]{display:none!important}
[data-car-request][data-request-message-active] .te-forms .te-form .te-response-output{display:none!important}
/* The quote reads like the price breakdown elsewhere in the car template. */
.te-credit { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 24px; padding: 0; border: 0; background: transparent; }
.te-credit > * { grid-column: 1 / -1; min-width: 0; }
.te-credit > .te-credit__control { grid-column: auto; display: flex; flex-direction: column; justify-content: flex-end; }
.te-credit__price { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 16px; padding: 17px 0; border-top: 1px solid var(--te-pink, #f1d8d0); border-bottom: 1px solid var(--te-pink, #f1d8d0); color: var(--te-text-muted, #6c6c6c); font-size: 15px; }
.te-credit__price > span { flex: 1 1 200px; }
.te-credit__price > strong { max-width: 100%; color: var(--te-red, #e00032); font-size: 27px; font-weight: 700; line-height: 1.2; overflow-wrap: anywhere; }
.te-credit__price > small { flex: 1 1 100%; font-size: 13px; line-height: 1.4; }
.te-credit__amount-label { display: grid; gap: 7px; color: var(--te-text-muted, #6c6c6c); font-size: 14px; }
.te-credit__range-label { margin: 12px 0 6px; color: var(--te-text-muted, #6c6c6c); font-size: 14px; line-height: 1.35; }
.te-credit__range-label strong { color: var(--te-text, #010103); font-weight: 400; }
.te-credit__control + .te-credit__control .te-credit__range-label { display: flex; flex: 1; flex-direction: column; gap: 7px; margin-top: 0; }
.te-credit__control + .te-credit__control .te-credit__range-label strong { display: flex; align-items: center; min-height: 56px; font-size: 27px; }
.te-credit__ends { display: flex; justify-content: space-between; gap: 12px; color: var(--te-text-muted, #6c6c6c); font-size: 12px; }
.te-credit input[type="range"] { display: block; width: 100%; height: 30px; margin: 0; padding: 0; border: 0; background: transparent; appearance: none; -webkit-appearance: none; cursor: pointer; }
.te-credit input[type="range"]::-webkit-slider-runnable-track { height: 3px; border-radius: 5px; background: linear-gradient(to right, var(--te-red, #e00032) var(--te-range-fill, 20%), var(--te-green, #bbcdbd) var(--te-range-fill, 20%)); }
.te-credit input[type="range"]::-moz-range-track { height: 3px; border-radius: 5px; background: var(--te-green, #bbcdbd); }
.te-credit input[type="range"]::-moz-range-progress { height: 3px; border-radius: 5px; background: var(--te-red, #e00032); }
.te-credit input[type="range"]::-webkit-slider-thumb { box-sizing: border-box; width: 22px; height: 22px; margin-top: -9.5px; border: 2px solid var(--te-red, #e00032); border-radius: 50%; background: #fff; box-shadow: 0 2px 6px var(--te-pink, #f1d8d0); appearance: none; -webkit-appearance: none; }
.te-credit input[type="range"]::-moz-range-thumb { box-sizing: border-box; width: 22px; height: 22px; border: 2px solid var(--te-red, #e00032); border-radius: 50%; background: #fff; box-shadow: 0 2px 6px var(--te-pink, #f1d8d0); }

.te-credit__summary { margin: 0; padding: 0; border: 0; background: transparent; }
.te-credit__payment { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 7px 16px; padding: 17px 20px; border-radius: 10px; background: rgba(241, 216, 208, .45); }
.te-credit__payment > span { flex: 1 1 145px; color: var(--te-text, #010103); font-size: 16px; }
.te-credit__payment > strong { max-width: 100%; color: var(--te-red, #e00032); font-size: 30px; font-weight: 700; line-height: 1.2; overflow-wrap: anywhere; }
.te-credit__metrics { display: block; margin: 12px 0 0; }
.te-credit__metrics > div { display: flex; align-items: baseline; justify-content: space-between; gap: 10px 18px; padding: 10px 0; border-bottom: 1px dotted #d9d9d9; }
.te-credit__metrics dt { min-width: 0; margin: 0; color: var(--te-text-muted, #6c6c6c); font-size: 15px; font-weight: 400; line-height: 1.35; }
.te-credit__metrics dd { min-width: 0; margin: 0; color: var(--te-text, #010103); font-size: 16px; font-weight: 700; line-height: 1.3; text-align: right; overflow-wrap: anywhere; }
.te-credit__totals { display: flex; align-items: baseline; justify-content: space-between; gap: 10px 18px; padding: 10px 0 0; color: var(--te-text-muted, #6c6c6c); font-size: 14px; line-height: 1.35; }
.te-credit__totals > span { min-width: 0; }
.te-credit__totals strong { min-width: 0; color: var(--te-text, #010103); font-weight: 400; text-align: right; overflow-wrap: anywhere; }
.te-credit__price strong, .te-credit__payment strong, .te-credit__metrics dd, .te-credit__totals strong { font-variant-numeric: tabular-nums; }
.te-credit__error { margin: 0; color: var(--te-red, #e00032); font-size: 14px; line-height: 1.4; }
.te-credit__note { margin: 0; color: var(--te-text-muted, #6c6c6c); font-size: 13px; line-height: 1.5; }

.te-credit__schedule { min-width: 0; }
.te-credit__schedule summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 44px; padding: 10px 0; border-bottom: 1px solid var(--te-pink, #f1d8d0); color: var(--te-red, #e00032); font-size: 16px; list-style: none; cursor: pointer; }
.te-credit__schedule summary::-webkit-details-marker { display: none; }
.te-credit__schedule summary::after { content: ""; flex: 0 0 7px; width: 7px; height: 7px; margin-right: 5px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
.te-credit__schedule[open] summary::after { transform: rotate(225deg); }
.te-credit__table-wrap { max-height: 300px; margin-top: 14px; overflow: auto; overscroll-behavior: contain; }
.te-credit__table-wrap table { width: 100%; min-width: 460px; margin: 0; border-collapse: collapse; background: #fff; }
.te-credit__table-wrap :is(th, td) { padding: 9px 7px; border: 1px solid #eaeaea; background: #fff; color: var(--te-text, #010103); font-size: 12px; line-height: 1.3; text-align: right; white-space: nowrap; }
.te-credit__table-wrap th { position: sticky; top: 0; background: var(--te-pink, #f1d8d0); font-weight: 700; }
.te-credit__table-wrap caption { margin: 0; padding: 0 0 10px; color: var(--te-text-muted, #6c6c6c); font-size: 12px; line-height: 1.4; text-align: left; }


.te-credit__price{padding:18px;border:1px solid #e7d5cc;border-radius:12px;background:#fffaf8}
.te-credit__price>strong{font-size:26px}
.te-credit__payment{border:1px solid #f0d4cb;background:#fbedE8}
.te-credit__payment>strong{font-size:28px}
.te-credit__note{padding:12px 14px;border-left:3px solid #ebc7b7;background:#faf7f5}
.te-credit input[type="number"]{box-sizing:border-box;display:block;width:100%;height:52px;margin:0;padding:10px 14px;border:1px solid #dcd8d6;border-radius:9px;background:#fff;font:inherit;font-size:16px;color:var(--te-text,#010103)}
.te-credit input[aria-invalid="true"]{border-color:var(--te-red,#e00032)}
.te-credit :is(input,summary,[tabindex]):focus-visible{outline:2px solid var(--te-red,#e00032);outline-offset:3px}
.te-car-request-actions>:only-child{grid-column:1 / -1}
@media(max-width:1023px){
 .te-car-request-actions,.product-head-right .social-tiles-product{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:880px){
 .popap.te-car-request-popup[data-car-request="credit"]{width:760px}
 .te-form .te-credit-request-layout{grid-template-columns:minmax(0,1fr)}
 .te-form .te-credit-contact .te-form-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 .popap.te-car-request-popup{max-width:100%;padding:32px 20px 24px;border-radius:14px}
 .te-car-request-popup h2{font-size:25px}
 .te-car-request-popup__car{font-size:19px}
 .te-review-offer{padding:16px}
 .te-review-offer__features{grid-template-columns:minmax(0,1fr);gap:8px}
 .te-review-offer__features li{gap:3px;padding:12px}
 .te-form .te-credit-contact{padding:16px}
 .te-form .te-credit-contact .te-form-fields{grid-template-columns:minmax(0,1fr)}
 .te-credit{grid-template-columns:minmax(0,1fr);gap:18px}
 .te-credit>.te-credit__control{grid-column:1 / -1}
 .te-credit__control+.te-credit__control .te-credit__range-label{display:block;margin-top:0}
 .te-credit__control+.te-credit__control .te-credit__range-label strong{display:inline;min-height:0;font-size:inherit}
 .te-credit__payment{padding:16px}
 .te-credit__payment>strong{font-size:25px}
 .te-credit__metrics>div,.te-credit__totals{gap:10px}
 .te-credit__metrics dt{font-size:14px}
 .te-credit__metrics dd{font-size:15px}
}
@media(prefers-reduced-motion:reduce){.te-car-request-action.btn-blue{transition:none}}
/* Purchase remains the primary action. The product stylesheet uses !important. */
.product-head-right .social-tiles-product .product-head-btn a.btn-orange.full-prod-price {
  background: var(--te-red, #e00032) !important;
  color: #fff !important;
  border-color: var(--te-red, #e00032) !important;
}
.product-head-right .social-tiles-product .product-head-btn a.btn-orange.full-prod-price:before { filter: brightness(0) invert(1); }
.product-head-right .social-tiles-product .product-head-btn a.btn-orange.full-prod-price:hover { background: #b80029 !important; }
.product-head-right .product-head-btn .te-car-request-action.full-prod-price { background: var(--te-red, #e00032); color: #fff; border-color: var(--te-red, #e00032); }
.product-head-right .product-head-btn .te-car-request-action.full-prod-price :is(strong, small) { color: #fff; }

/* API vehicle card: keep the existing mobile layout and form instances. */
.product-body--api .product-summary-heading,
.product-body--api .product-summary-meta,
.product-body--api .product-summary-price {
  display: contents;
}

/* Only desktop creates a shared boundary for the sticky information column.
   Flatten these wrappers on smaller screens to preserve the existing order. */
.product-body--api .product-details,
.product-body--api .product-info-column {
  display: contents;
}

.product-body--api .product-head-right > .product-summary-price {
  margin: 0;
}

.product-body--api .product-summary-price > * {
  margin: 0 0 10px 10px;
}

/* Unframed price row on desktop; keep the total below the city on mobile. */
.product-body--api .product-head-right > .product-summary-price--delivery {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
  width: calc(100% - 10px);
  min-width: 0;
  max-width: 100%;
  margin: 0 0 14px 10px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.product-body--api .product-summary-price--delivery > * {
  min-width: 0;
  margin: 0;
}

.product-body--api .product-delivery-destination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px 10px;
}

.product-body--api .product-delivery-destination .product-head-price-word {
  display: block;
  margin: 0;
  color: #414141;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.3;
}

.product-body--api .product-delivery-destination .calc-top-col-city {
  flex: 0 1 auto;
  width: auto;
  min-width: 0;
  max-width: 100%;
  margin: 0;
}

.product-body--api .product-delivery-destination .calc-top-col-city::after {
  content: none;
  display: none;
}

.product-body--api .product-delivery-destination .slim-select-wrap {
  min-width: 0;
  max-width: 100%;
}

.product-body--api .product-summary-price--delivery :is(.te-delivery-picker__trigger, select#city) {
  max-width: 100%;
  min-height: 44px;
  height: auto;
  padding: 6px 10px;
  border: 1px solid rgba(224, 0, 50, .22);
  border-radius: 8px;
  background-color: #fff;
  box-shadow: none;
  color: #b80029;
  font-family: inherit;
  font-size: 16px;
  line-height: 1.3;
}

.product-body--api .product-summary-price--delivery .te-delivery-picker__value {
  min-width: 0;
  white-space: normal;
  overflow-wrap: anywhere;
}

.product-body--api .product-summary-price--delivery .te-delivery-picker__trigger:not(:disabled):hover {
  border-color: var(--te-red, #e00032);
}

.product-body--api .product-summary-price--delivery > .product-head-price {
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0;
  border: 0;
}

.product-body--api .product-summary-price--delivery .product-head-price-value {
  color: #171a21;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.15;
  font-variant-numeric: tabular-nums;
}

/* One status panel for price on request, leasing and sale availability. */
.product-body--api .product-summary-price > .product-summary-status {
  display: flex;
  flex: 1 1 100%;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 52px;
  padding: 12px 18px;
  border: 1px solid rgba(224, 0, 50, .35);
  border-radius: 10px;
  background: #fff2f5;
  color: #b80029;
  font-family: inherit;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .02em;
  text-align: center;
  text-transform: uppercase;
  white-space: normal;
  overflow-wrap: anywhere;
}

.product-body--api .product-summary-status .car-info,
.product-body--api .product-summary-status .product-head-price-value {
  min-width: 0;
  max-width: 100%;
}

.product-body--api .product-summary-status .product-head-price-value,
.product-body--api .product-summary-status .car-info p {
  margin: 0;
  color: inherit;
  font: inherit;
  white-space: normal;
}

.product-body--api .product-summary-status .leasing-car-badge__info {
  background: var(--te-red, #e00032);
  color: #fff;
  letter-spacing: 0;
}

.product-body--api .product-summary-status:focus-visible {
  outline: 2px solid var(--te-red, #e00032);
  outline-offset: 3px;
}

.product-body--api .product-actions {
  display: grid;
  gap: 10px;
  width: 100%;
  min-width: 0;
}

/* One icon/title/description pattern for all four actions, on every screen.
   The explicit link selector overrides the older primary-button dimensions. */
.product-body--api .product-actions .te-car-request-action,
.product-body--api .product-actions .product-head-btn a.full-prod-price {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  width: 100%;
  min-width: 0;
  min-height: 72px;
  padding: 12px 14px;
  border-radius: 10px;
  border-color: rgba(16, 17, 20, .14);
  box-shadow: none !important;
  font-family: inherit;
  font-weight: 400;
  line-height: 1.25;
  text-align: left;
  white-space: normal;
}

.product-body--api .product-actions .product-head-btn {
  display: flex;
  align-self: stretch;
  height: auto;
}

.product-body--api .product-actions .product-head-btn a.full-prod-price {
  flex: 1 1 auto;
  align-self: stretch;
  height: auto;
}

.product-body--api .product-actions .product-head-btn a.full-prod-price::before {
  content: none;
  display: none;
}

.product-body--api .product-actions .te-car-request-action__label {
  display: grid;
  flex: 1 1 0;
  gap: 4px;
  min-width: 0;
  white-space: normal;
  text-align: left;
}

.product-body--api .product-actions .te-car-request-action__icon {
  color: var(--te-red, #e00032);
}

@media (max-width: 767.98px) {
  .product-body--api > .product-container {
    margin-bottom: 14px;
  }

  .product-body--api .product-summary-meta {
    display: grid;
    order: 0;
    gap: 14px;
    width: 100%;
    margin-bottom: 20px;
  }

  .product-body--api .product-summary-price > .product-summary-status {
    padding-inline: 14px;
    font-size: 16px;
  }
}

/* Keep the tablet layout: heading/dates beside the actions, then two columns. */
@media (min-width: 768px) and (max-width: 1023.98px) {
  .product-body--api {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
    grid-template-rows: min-content minmax(0, 1fr) auto;
    gap: 14px 40px;
    align-items: start;
  }

  .product-body--api > .product-container {
    grid-column: 1;
    grid-row: 1;
    width: auto;
    min-width: 0;
  }

  .product-body--api .product-summary-meta {
    display: grid;
    grid-column: 1;
    grid-row: 2;
    gap: 14px;
    min-width: 0;
  }

  .product-body--api > .product-head-right {
    grid-column: 2;
    grid-row: 1 / span 2;
    width: auto;
    min-width: 0;
    margin: 0;
  }

  .product-body--api .product-left,
  .product-body--api .product-right {
    grid-row: 3;
    width: auto;
    min-width: 0;
    margin-top: 16px;
  }

  .product-body--api .product-left { grid-column: 1; }
  .product-body--api .product-right { grid-column: 2; }
}

@media (min-width: 1024px) {
  .product-body--api {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
    grid-template-rows: auto auto auto;
    gap: 20px 40px;
    align-items: start;
  }

  .product-body--api > .product-container,
  .product-body--api > .product-head-right {
    display: contents;
  }

  .product-body--api .product-summary-heading {
    display: grid;
    grid-column: 1;
    grid-row: 1;
    grid-template-columns: minmax(0, 1fr) 42px auto;
    align-items: center;
    gap: 10px;
    min-width: 0;
  }

  .product-body--api .product-summary-heading > :is(.share, .auto_single-view-count) {
    align-self: center;
    margin: 0;
  }

  .product-body--api .auto_single-view-count {
    grid-column: 3;
    padding-inline: 9px;
  }

  .product-body--api .product-summary-price {
    display: flex;
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 10px;
    min-width: 0;
  }

  .product-body--api .product-summary-price > * {
    margin: 0;
  }

  .product-body--api .product-head-right > .product-summary-price--delivery {
    grid-template-columns: minmax(0, max-content) minmax(20px, 1fr) max-content;
    justify-self: end;
    column-gap: 12px;
    width: 680px;
    margin: 0;
  }

  .product-body--api .product-summary-price--delivery::after {
    content: "";
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    border-bottom: 1px dashed #b3bdc9;
  }

  .product-body--api .product-delivery-destination {
    grid-column: 1;
    grid-row: 1;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 10px;
  }

  .product-body--api .product-delivery-destination .product-head-price-word {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .product-body--api .product-summary-price--delivery :is(.te-delivery-picker__trigger, select#city) {
    min-height: 36px;
  }

  .product-body--api .product-summary-price--delivery > .product-head-price {
    grid-column: 3;
    grid-row: 1;
    width: auto;
  }

  .product-body--api .product-summary-meta {
    display: grid;
    gap: 14px;
    min-width: 0;
  }

  .product-body--api .product-details {
    display: grid;
    grid-column: 1 / -1;
    grid-row: 3;
    grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
    align-items: start;
    gap: 40px;
    min-width: 0;
  }

  .product-body--api .product-info-column,
  .product-body--api .product-left {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: auto;
    min-width: 0;
  }

  .product-body--api .product-info-column {
    align-self: start;
  }

  /* Inside the vertical flex column, align-self controls WIDTH, not height. */
  .product-body--api .product-left {
    align-self: stretch;
    width: 100%;
  }

  .product-body--api .product-left > * {
    margin-block: 0;
  }

  .product-body--api .product-details > .product-right {
    width: auto;
    min-width: 0;
  }

  .product-body--api .product-actions {
    display: flex;
    grid-column: 1 / -1;
    grid-row: 2;
    align-items: stretch;
    gap: 10px;
    margin: 0;
    padding: 10px;
    border: 1px solid rgba(16, 17, 20, .08);
    border-radius: 16px;
    background: #f4f6f8;
  }

  .product-body--api .product-actions > .social-tiles-product,
  .product-body--api .product-actions > .te-car-request-actions {
    display: contents;
  }

  /* Reserve each action's natural text width, then share spare space evenly.
     On narrower screens the labels can still wrap without overflowing. */
  .product-body--api .product-actions .te-car-request-action,
  .product-body--api .product-actions .social-messengers-product,
  .product-body--api .product-actions .product-head-btn {
    flex: 1 1 max-content;
    width: auto;
    min-width: 0;
    margin: 0;
  }

  .product-body--api .product-actions .product-head-btn a.full-prod-price {
    width: auto;
  }

  .product-body--api .product-actions .te-car-request-action__label {
    flex: 1 1 auto;
  }

  .product-body--api .product-actions .te-car-request-action--credit { order: 1; }
  .product-body--api .product-actions .te-car-request-action--review { order: 2; }
  .product-body--api .product-actions .social-messengers-product { order: 3; }
  .product-body--api .product-actions .product-head-btn { order: 4; }

  .product-body--api .product-actions .te-car-request-action,
  .product-body--api .product-actions .product-head-btn a.full-prod-price {
    min-height: 80px;
    padding: 12px;
    gap: 8px;
    box-shadow: none !important;
  }

  .product-body--api .product-actions .te-car-request-action__label strong {
    font-size: 15px;
  }

  .product-body--api .product-actions .te-car-request-action__label small {
    font-size: 12px;
  }

  .product-body--api .product-actions .te-car-request-action__icon {
    flex-basis: 32px;
    width: 32px;
    height: 32px;
  }

  .product-body--api .product-actions .social-messengers-product {
    font-size: 14px;
  }

  .product-body--api .product-actions .social-messengers-product__icons :is(img, svg) {
    width: 24px;
    height: 24px;
  }

  .product-body--api .product-actions .social-messengers-product__text {
    white-space: normal;
  }

  .product-body--api .product-actions :is(.te-car-request-action, .social-messengers-product):hover {
    border-color: rgba(224, 0, 50, .3);
    background: #fff8f6;
  }

  .product-body--api .product-actions .full-prod-price:focus-visible {
    background: #b80029 !important;
  }

  .product-body--api :is(.product-actions button, .product-actions a, .share):focus-visible {
    outline: 2px solid var(--te-red, #e00032);
    outline-offset: 3px;
  }
}

@media screen and (min-width: 1024px) {
  /* overflow:hidden on main would turn it into a non-scrolling sticky anchor.
     clip keeps the gallery's horizontal overflow contained without doing so. */
  .main-content--product-api {
    overflow: visible;
    overflow-x: clip;
  }

  .product-body--api .product-info-column {
    position: sticky;
    top: var(--product-info-sticky-top, 110px);
  }
}
