/* Boutique Motor checkout — Datos / Dirección / Envío / Pago */

body#checkout,
body#checkout #wrapper,
body#checkout #main,
body#checkout .page-content,
body#checkout #content-wrapper {
  background: #f3f2ee !important;
}

body#checkout .columns-container,
body#checkout .container,
body#checkout #center-column,
body#checkout .page,
body#checkout .page--full-width {
  max-width: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.bm-checkout {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  padding: 8px 0 80px;
}

.bm-checkout__head {
  margin: 4px 0 20px;
}

.bm-checkout__kicker {
  margin: 0 0 6px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #A67C00;
}

.bm-checkout__title {
  margin: 0;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(2rem, 4vw, 2.8rem);
  font-weight: 900;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #111;
}

.bm-checkout__grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 28px;
  align-items: start;
  width: 100%;
}

.bm-checkout__main,
.bm-checkout__main > .tab-content {
  min-width: 0;
}

/* —— 4 step tabs —— */
.bm-steps,
body#checkout .checkout-steps {
  background: transparent;
  border: 0;
  border-radius: 16px;
  padding: 8px 0;
  margin: 0 0 22px;
  box-shadow: none;
}

body#checkout .checkout-steps__desktop { display: block !important; }
body#checkout .checkout-steps__mobile { display: none !important; }

.bm-steps__list,
body#checkout .checkout-steps__list {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  list-style: none;
  margin: 0;
  padding: 0;
}

body#checkout .checkout-steps__step,
.bm-steps__list > li {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 0;
  padding: 10px 8px;
  border-radius: 12px;
  min-height: 52px;
}

body#checkout .checkout-steps__step--success {
  background: #f4f3ee;
}

body#checkout .checkout-steps__step.is-on,
body#checkout .checkout-steps__step.-current,
body#checkout .js-step-item.is-on,
body#checkout .js-step-item.-current {
  background: #111;
}

body#checkout .checkout-steps__number {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #f3f2ee;
  color: #111;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 800;
  font-size: 0.85rem;
  flex: 0 0 26px;
}

body#checkout .checkout-steps__step--success .checkout-steps__number {
  background: #111;
  color: #FFF651;
}

body#checkout .js-step-item.is-on .checkout-steps__number,
body#checkout .js-step-item.-current .checkout-steps__number {
  background: #FFF651;
  color: #111;
}

body#checkout .checkout-steps__btn,
body#checkout .checkout-steps__btn.btn-link {
  color: #111;
  text-decoration: none;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 0.82rem;
  padding: 0;
  border: 0 !important;
  box-shadow: none !important;
  background: none;
}

body#checkout .checkout-steps__btn::before,
body#checkout .checkout-steps__btn::after,
body#checkout .checkout-steps__step::before,
body#checkout .checkout-steps__step::after,
body#checkout .js-step-item::before,
body#checkout .js-step-item::after,
body#checkout .nav-underline .nav-link::before,
body#checkout .nav-underline .nav-link::after {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  background: none !important;
}

body#checkout .js-step-item.is-on .checkout-steps__btn,
body#checkout .js-step-item.-current .checkout-steps__btn {
  color: #fff;
}

body#checkout .checkout-steps__btn:disabled {
  opacity: 0.45;
}

/* —— Step card —— */
body#checkout .bm-step,
body#checkout .step.tab-pane {
  background: #fff;
  border: 1px solid #e7e5df;
  border-radius: 20px;
  padding: 26px 28px 28px;
  box-shadow: 0 10px 36px rgba(17, 17, 17, 0.04);
}

body#checkout .step.tab-pane:not(.active):not(.show) {
  display: none !important;
  background: none;
  border: 0;
  padding: 0;
  box-shadow: none;
}

.bm-step__title,
body#checkout .step__title .page-title-section {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 1.45rem;
  margin: 0 0 8px;
  color: #111;
}

.bm-step-note,
body#checkout .js-address-form > form > p,
body#checkout .js-address-form > p {
  margin: 0 0 20px;
  color: #666;
  font-size: 0.9rem;
  line-height: 1.45;
}

body#checkout .step hr,
body#checkout .bm-step hr { display: none !important; }

/* Guest / login pills */
body#checkout .nav-underline {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  border: 0 !important;
  border-bottom: 0 !important;
  margin: 0 0 22px;
}

body#checkout .nav-underline .nav-item { margin: 0; }

body#checkout .nav-underline .nav-link {
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 999px !important;
  padding: 10px 18px;
  color: #444;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: #f3f2ee;
}

body#checkout .nav-underline .nav-link.active {
  background: #111 !important;
  color: #fff !important;
  border: 0 !important;
}

body#checkout .mb-3:has([name="id_gender"]),
body#checkout .mb-3:has(#field-id_gender),
body#checkout .mb-3:has(#field-id_gender_1),
body#checkout .mb-3:has([name="optin"]),
body#checkout .mb-3:has(#field-optin),
body#checkout .mb-3:has([name="newsletter"]),
body#checkout .mb-3:has(#field-newsletter),
body#checkout .mb-3:has([name="birthday"]),
body#checkout .mb-3:has(#field-birthday) {
  display: none !important;
}

/* —— Forms: 2-column grid on guest + address —— */
body#checkout #customer-form,
body#checkout .js-address-form,
body#checkout #delivery-address,
body#checkout #invoice-address {
  position: relative;
}

body#checkout #customer-form section,
body#checkout .form-fields,
body#checkout #delivery-address .form-fields,
body#checkout #invoice-address .form-fields,
body#checkout .js-address-form .form-fields {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 14px 16px;
  align-items: start;
}

body#checkout #customer-form section > input[type="hidden"],
body#checkout .form-fields > input[type="hidden"] {
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  pointer-events: none;
}

body#checkout #customer-form section > .mb-3,
body#checkout .form-fields > .mb-3 {
  grid-column: 1 / -1;
  margin-bottom: 0 !important;
  min-width: 0;
}

body#checkout #customer-form section > .mb-3:has(#field-firstname),
body#checkout .form-fields > .mb-3:has(#field-firstname),
body#checkout .form-fields > .mb-3:has(#field-postcode),
body#checkout .form-fields > .mb-3:has(#field-id_country) {
  grid-column: 1;
}

body#checkout #customer-form section > .mb-3:has(#field-lastname),
body#checkout .form-fields > .mb-3:has(#field-lastname),
body#checkout .form-fields > .mb-3:has(#field-city),
body#checkout .form-fields > .mb-3:has(#field-id_state) {
  grid-column: 2;
}

body#checkout .form-fields > .mb-3:has(#field-alias),
body#checkout .form-fields > .mb-3:has(#field-company),
body#checkout .form-fields > .mb-3:has(#field-vat_number),
body#checkout .form-fields > .mb-3:has(#field-address2),
body#checkout .form-fields > .mb-3:has(#field-phone_mobile) {
  display: none !important;
}

body#checkout .form-label {
  font-weight: 700;
  font-size: 0.82rem;
  color: #333;
  margin-bottom: 6px;
}

body#checkout .form-control,
body#checkout .form-select,
body#checkout input.form-control,
body#checkout select.form-select,
body#checkout textarea.form-control {
  min-height: 54px;
  padding: 14px 16px !important;
  border-radius: 12px !important;
  border: 1px solid #e0ded8 !important;
  background-color: #faf9f6 !important;
  background-image: none !important;
  box-shadow: none !important;
  font-family: Barlow, 'Barlow Condensed', sans-serif !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.01em;
  line-height: 1.35;
  color: #111 !important;
  caret-color: #111;
  width: 100%;
  outline: none !important;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease;
}

body#checkout .form-control::placeholder,
body#checkout .form-select::placeholder {
  color: #b0ada6 !important;
  opacity: 1;
}

body#checkout .form-control:hover,
body#checkout .form-select:hover {
  border-color: #c8c5bd !important;
}

body#checkout .form-control:focus,
body#checkout .form-select:focus,
body#checkout .form-control:focus-visible,
body#checkout .form-select:focus-visible {
  background-color: #fff !important;
  border-color: #111 !important;
  box-shadow: 0 0 0 4px rgba(17, 17, 17, 0.08) !important;
  outline: none !important;
}

body#checkout input.form-control:-webkit-autofill,
body#checkout input.form-control:-webkit-autofill:hover,
body#checkout input.form-control:-webkit-autofill:focus,
body#checkout input.form-control:-webkit-autofill:active {
  -webkit-text-fill-color: #111 !important;
  caret-color: #111 !important;
  border-color: #e0ded8 !important;
  box-shadow: 0 0 0 1000px #faf9f6 inset !important;
  -webkit-box-shadow: 0 0 0 1000px #faf9f6 inset !important;
  transition: background-color 99999s ease-out;
}

body#checkout input.form-control:-webkit-autofill:focus {
  border-color: #111 !important;
  box-shadow: 0 0 0 1000px #fff inset, 0 0 0 4px rgba(17, 17, 17, 0.08) !important;
  -webkit-box-shadow: 0 0 0 1000px #fff inset, 0 0 0 4px rgba(17, 17, 17, 0.08) !important;
}

body#checkout .input-group {
  display: flex;
  align-items: stretch;
  width: 100%;
  background: #faf9f6;
  border: 1px solid #e0ded8;
  border-radius: 12px;
  overflow: hidden;
}

body#checkout .input-group:focus-within {
  background: #fff;
  border-color: #111;
  box-shadow: 0 0 0 4px rgba(17, 17, 17, 0.08);
}

body#checkout .input-group .form-control,
body#checkout .input-group .form-control:focus,
body#checkout .input-group .form-control:-webkit-autofill,
body#checkout .input-group .form-control:-webkit-autofill:focus {
  width: auto;
  flex: 1 1 auto;
  border: 0 !important;
  box-shadow: none !important;
  -webkit-box-shadow: 0 0 0 1000px transparent inset !important;
  background: transparent !important;
  border-radius: 0 !important;
}

body#checkout .input-group .btn,
body#checkout .input-group .btn-primary {
  min-height: 54px;
  width: 52px;
  flex: 0 0 52px;
  padding: 0;
  margin: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #888 !important;
  box-shadow: none !important;
}

body#checkout .input-group .btn:hover {
  color: #111 !important;
  background: transparent !important;
}

body#checkout .form-text,
body#checkout .form-help,
body#checkout .form-control + small,
body#checkout .mb-3 > small,
body#checkout .js-password-policy {
  font-size: 0.72rem !important;
  color: #8a877f !important;
  margin-top: 4px;
}

body#checkout #customer-form .mb-3:has(#field-firstname) .form-text,
body#checkout #customer-form .mb-3:has(#field-lastname) .form-text {
  display: none;
}

body#checkout .radio-inline,
body#checkout [name="id_gender"] {
  accent-color: #111;
}

body#checkout .mb-3:has([name="id_gender"]) .form-control,
body#checkout .mb-3:has([name="id_gender"]) > div:not(.form-text) {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  align-items: center;
  min-height: 0;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0;
}

body#checkout .form-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 0;
}

body#checkout .form-check-input {
  width: 18px;
  height: 18px;
  margin-top: 3px;
  flex: 0 0 18px;
  accent-color: #111;
}

body#checkout .form-check-label {
  font-size: 0.86rem;
  line-height: 1.4;
  color: #444;
}

body#checkout .form-check-label em { font-style: normal; color: #777; }

/* Buttons */
body#checkout .btn-primary,
body#checkout .buttons-wrapper .btn-primary,
body#checkout #payment-confirmation .btn-primary {
  background: #111 !important;
  border: 0 !important;
  color: #fff !important;
  border-radius: 12px !important;
  min-height: 52px;
  padding: 0 22px;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

body#checkout .btn-primary:hover { background: #000 !important; color: #fff !important; }

body#checkout .btn-outline-primary,
body#checkout .btn-basic {
  border: 1px solid #111 !important;
  color: #111 !important;
  background: #fff !important;
  border-radius: 12px !important;
  min-height: 48px;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body#checkout a.btn-basic[data-link-action="different-invoice-address"] {
  border: 0 !important;
  background: none !important;
  min-height: 0;
  padding: 0;
  text-transform: none;
  letter-spacing: 0;
  font-family: inherit;
  font-weight: 600;
  font-size: 0.88rem;
  text-decoration: underline;
}

body#checkout .buttons-wrapper {
  display: flex;
  flex-wrap: nowrap;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  margin-top: 22px;
}

body#checkout .buttons-wrapper--end { justify-content: flex-end; }
body#checkout .buttons-wrapper--split { justify-content: space-between; }

body#checkout .buttons-wrapper .btn,
body#checkout .buttons-wrapper .btn-primary,
body#checkout .buttons-wrapper .btn-outline-primary,
body#checkout .buttons-wrapper .btn-basic {
  width: auto;
  flex: 0 1 auto;
  white-space: nowrap;
}

body#checkout .buttons-wrapper .js-payment-confirmation .btn {
  width: auto;
}

body#checkout .material-icons {
  font-size: 18px;
  line-height: 1;
}

/* Login */
body#checkout .bm-login-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 240px;
  gap: 28px;
  align-items: start;
}

body#checkout .bm-login-aside {
  background: #f7f6f2;
  border-radius: 16px;
  padding: 18px 18px 20px;
}

body#checkout .bm-login-aside h3 {
  margin: 0 0 10px;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 1rem;
}

body#checkout .bm-login-aside ul {
  margin: 0;
  padding: 0 0 0 16px;
  color: #555;
  font-size: 0.88rem;
  line-height: 1.55;
}

body#checkout #checkout-login-form .mb-3 { margin-bottom: 14px; }

body#checkout #login-form .forgot-password,
body#checkout #checkout-login-form .bm-login-forgot,
body#checkout #login-form .buttons-wrapper .btn-basic {
  border: 0 !important;
  background: none !important;
  min-height: 0;
  padding: 0;
  text-transform: none;
  letter-spacing: 0;
  font-family: inherit;
  font-weight: 600;
  font-size: 0.88rem;
  color: #555 !important;
  text-decoration: underline;
}

/* Addresses */
body#checkout .address__list,
body#checkout .js-address-selector {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 12px 0 16px;
}

body#checkout .address,
body#checkout .address-item,
body#checkout .js-address-selector .address,
body#checkout .address-card {
  border: 1px solid #e7e5df !important;
  border-radius: 16px !important;
  padding: 16px !important;
  background: #fff !important;
  margin: 0 !important;
}

body#checkout .address.selected,
body#checkout .js-address-selector .address.selected,
body#checkout .address-card.selected,
body#checkout .address-card:has(input:checked) {
  border-color: #111 !important;
  box-shadow: 0 0 0 2px #111;
  background: #fffef5 !important;
}

body#checkout .address-card__header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}

body#checkout .address-card__alias {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

body#checkout .address-card__content {
  font-size: 0.9rem;
  line-height: 1.45;
  color: #444;
  margin: 0 0 10px;
}

body#checkout .address-card__actions {
  display: flex;
  gap: 14px;
}

body#checkout .address-card__actions a {
  font-size: 0.82rem;
  font-weight: 700;
}

body#checkout .alert {
  border-radius: 12px;
  font-size: 0.88rem;
}

body#checkout .alert-danger {
  background: #fff5f5;
  border: 1px solid #f0d0d0;
  color: #7a2e2e;
}

/* Shipping */
body#checkout .delivery-options__list { display: grid; gap: 10px; }

body#checkout .delivery-option__item,
body#checkout .js-delivery-option,
body#checkout .delivery-option {
  border: 1px solid #e7e5df;
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
}

body#checkout .delivery-option__label {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 16px 18px;
  margin: 0;
  cursor: pointer;
  width: 100%;
}

body#checkout .delivery-option__left,
body#checkout .delivery-option__carrier {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

body#checkout .delivery-option__carrier-logo {
  height: 32px;
  width: auto;
  object-fit: contain;
}

body#checkout .delivery-option__carrier-name {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

body#checkout .delivery-option__content {
  color: #666;
  font-size: 0.88rem;
}

body#checkout .delivery-option__price {
  font-weight: 800;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.05rem;
  white-space: nowrap;
}

body#checkout .js-delivery-option:has(input:checked),
body#checkout .delivery-option__item:has(input:checked),
body#checkout .delivery-option:has(input:checked) {
  border-color: #111 !important;
  box-shadow: 0 0 0 2px #111;
  background: #fffef5;
}

body#checkout .order-options {
  margin-top: 18px;
}

/* Payment */
body#checkout .payment-options__list { display: grid; gap: 10px; }

body#checkout .payment-option {
  border: 1px solid #e7e5df !important;
  border-radius: 16px !important;
  padding: 16px 18px !important;
  background: #fff !important;
  margin: 0 !important;
}

body#checkout .payment-option:has(input:checked) {
  border-color: #111 !important;
  box-shadow: 0 0 0 2px #111;
}

body#checkout .payment-option__form-check {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
}

body#checkout .payment-option__label {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  display: flex;
  align-items: center;
  gap: 10px;
}

body#checkout .payment-option__label img {
  height: 28px;
  width: auto;
}

body#checkout .payment-option__additional-information {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #eee;
  font-size: 0.88rem;
  color: #555;
}

body#checkout #conditions-to-approve {
  margin-top: 18px;
  padding: 14px 16px;
  background: #faf9f6;
  border-radius: 14px;
}

body#checkout #payment-confirmation .btn-primary {
  background: #FFF651 !important;
  color: #111 !important;
}

/* Aside */
.bm-checkout__aside {
  position: sticky;
  top: 92px;
  background: #111 !important;
  color: #fff !important;
  border-radius: 22px;
  padding: 24px 22px;
  box-shadow: 0 18px 50px rgba(17, 17, 17, 0.16);
}

.bm-checkout__aside h2,
.bm-checkout__aside .accordion-button {
  margin: 0 0 4px;
  padding: 0;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 1.15rem;
  color: #fff !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

.bm-checkout__aside .accordion-button::after { display: none; }

.bm-checkout__aside-note {
  margin: 0 0 16px;
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.82rem;
}

.bm-checkout__aside .accordion,
.bm-checkout__aside .accordion-item,
.bm-checkout__aside .accordion-collapse,
.bm-checkout__aside .cart-summary,
.bm-checkout__aside #js-checkout-summary {
  background: transparent !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
}

.bm-checkout__aside #js-checkout-summary.collapse:not(.show) { display: block !important; }

.bm-checkout__aside .cart-summary__line,
.bm-checkout__aside .cart-summary-line {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 0;
  color: rgba(255, 255, 255, 0.78);
  border: 0;
}

.bm-checkout__aside .cart-summary__totals,
.bm-checkout__aside .cart-summary__total,
.bm-checkout__aside .js-cart-summary-totals {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  margin-top: 8px;
  padding-top: 12px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.15rem;
  font-weight: 800;
  color: #fff;
}

.bm-checkout__aside a,
.bm-checkout__aside .cart-summary-product__link,
.bm-checkout__aside .label,
.bm-checkout__aside .value { color: #fff !important; }

.bm-checkout__aside .cart-voucher,
.bm-checkout__aside .accordion-item {
  background: transparent !important;
}

.bm-checkout__aside .cart-voucher__accordion-button,
.bm-checkout__aside .checkout__summary-accordion-header .accordion-button {
  background: #1c1c1c !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 10px !important;
  padding: 10px 14px !important;
  margin: 8px 0;
  font-size: 0.84rem;
}

.bm-checkout__aside .bm-sum-line {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 10px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.bm-checkout__aside .bm-sum-line__image,
.bm-checkout__aside .bm-sum-line__img,
.bm-checkout__aside .cart-summary-product__img {
  width: 52px;
  height: 52px;
  object-fit: contain;
  background: #fff;
  border-radius: 8px;
}

.bm-checkout__aside .cart-summary-product__content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  min-width: 0;
}

.bm-checkout__aside .cart-summary-product__link {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 0.8rem;
  font-weight: 700;
  line-height: 1.25;
  text-decoration: none;
}

.bm-checkout__aside .cart-summary-product__attributes,
.bm-checkout__aside .cart-summary-product__quantity {
  font-size: 0.72rem;
  color: rgba(255, 255, 255, 0.55);
}

.bm-checkout__aside .cart-summary-product__price { display: none; }

.bm-checkout__aside .cart-summary-product__total {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 800;
  white-space: nowrap;
}

.bm-checkout__aside .bm-cart__trust {
  list-style: none;
  margin: 16px 0 0;
  padding: 14px 0 0;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.55);
}

@media (max-width: 991px) {
  .bm-checkout__grid { grid-template-columns: 1fr; }
  body#checkout .checkout-steps__list,
  .bm-steps__list { grid-template-columns: 1fr 1fr; }
  body#checkout #customer-form section,
  body#checkout .form-fields { grid-template-columns: 1fr; }
  body#checkout #customer-form section > .mb-3:has(#field-firstname),
  body#checkout #customer-form section > .mb-3:has(#field-lastname),
  body#checkout .form-fields > .mb-3 { grid-column: 1 !important; }
  body#checkout .address__list { grid-template-columns: 1fr; }
  body#checkout .bm-login-layout { grid-template-columns: 1fr; }
  body#checkout .delivery-option__label { grid-template-columns: 1fr auto; }
  body#checkout .delivery-option__content { grid-column: 1 / -1; }
  .bm-checkout__aside { position: static; }
}

@media (max-width: 575px) {
  body#checkout .buttons-wrapper,
  body#checkout .buttons-wrapper--split {
    flex-wrap: wrap;
  }
  body#checkout .buttons-wrapper .btn {
    flex: 1 1 calc(50% - 6px);
    min-width: 0;
    white-space: normal;
  }
}
