/* Calm, consistent checkout surface for Budgetdruk. Scoped to basket and the
   native Zen Cart checkout pages, leaving payment and shipping logic intact. */
#shoppingCartDefault,
#checkoutShippingDefault,
#checkoutPayment,
#checkoutConfirmationDefault,
#checkoutSuccessDefault {
  box-sizing: border-box;
  width: auto !important;
  max-width: 1240px;
  margin: 34px auto 60px;
  color: #22212a;
}

#shoppingCartDefault *,
#checkoutShippingDefault *,
#checkoutPayment *,
#checkoutConfirmationDefault *,
#checkoutSuccessDefault * { box-sizing: border-box; }

#shoppingCartDefault .pageHeading,
#checkoutShippingDefault .pageHeading,
#checkoutPayment .pageHeading,
#checkoutConfirmationDefault .pageHeading,
#checkoutSuccessDefault .pageHeading {
  margin: 0 0 24px;
  color: #21132e;
  font-size: clamp(28px, 3vw, 38px);
  font-weight: 850;
  letter-spacing: -.035em;
}

#checkoutShippingDefault .progress,
#checkoutPayment .progress,
#checkoutConfirmationDefault .progress,
#checkoutSuccessDefault .progress {
  position: relative;
  height: 9px;
  margin: 0 0 60px;
  overflow: visible;
  background: #eae8ee;
  border-radius: 99px;
  box-shadow: none;
}

#checkoutShippingDefault .progress-bar,
#checkoutPayment .progress-bar,
#checkoutConfirmationDefault .progress-bar {
  min-width: 9px;
  overflow: hidden;
  background: linear-gradient(90deg, #54208f, #762ba1);
  border-radius: 99px;
  color: transparent;
  font-size: 0;
}

#checkoutShippingDefault .progress::after,
#checkoutPayment .progress::after,
#checkoutConfirmationDefault .progress::after,
#checkoutSuccessDefault .progress::after {
  position: absolute;
  top: 18px;
  left: 0;
  color: #6f6379;
  font-size: 13px;
  font-weight: 750;
  letter-spacing: .01em;
}
#checkoutShippingDefault .progress::after { content: 'Stap 1 van 3 · Verzending'; }
#checkoutPayment .progress::after { content: 'Stap 2 van 3 · Betaling'; }
#checkoutConfirmationDefault .progress::after { content: 'Stap 3 van 3 · Controleer je bestelling'; }
#checkoutSuccessDefault .progress::after { content: 'Bestelling geplaatst'; color: #19723b; }

#checkoutShippingDefault .card-columns,
#checkoutPayment .card-columns,
#checkoutConfirmationDefault .card-columns {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  column-count: unset !important;
  column-gap: 0 !important;
}

#checkoutShippingDefault .card,
#checkoutPayment .card,
#checkoutConfirmationDefault .card,
#checkoutSuccessDefault .card,
#shoppingCartDefault .cartTotalsDisplay {
  margin: 0 !important;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e7e3ea;
  border-radius: 16px;
  box-shadow: 0 8px 26px rgba(43, 20, 71, .055);
}

#checkoutShippingDefault .card-header,
#checkoutPayment .card-header,
#checkoutConfirmationDefault .card-header,
#checkoutSuccessDefault .card-header {
  padding: 15px 20px;
  background: #faf8fc;
  border-bottom: 1px solid #ebe5f0;
  color: #54208f;
  font-size: 17px;
  font-weight: 850;
  line-height: 1.25;
}

#checkoutShippingDefault .card-body,
#checkoutPayment .card-body,
#checkoutConfirmationDefault .card-body,
#checkoutSuccessDefault .card-body {
  padding: 20px !important;
}

#checkoutShippingDefault .card-deck,
#checkoutPayment .card-deck,
#checkoutConfirmationDefault .card-deck,
#checkoutSuccessDefault .card-deck {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 0;
}
#checkoutShippingDefault .card-deck > .card,
#checkoutPayment .card-deck > .card,
#checkoutConfirmationDefault .card-deck > .card,
#checkoutSuccessDefault .card-deck > .card { width: auto; }

#checkoutShippingDefault #orderComments-card,
#checkoutPayment #paymentMethod-card,
#checkoutPayment #orderComments-card,
#checkoutPayment #conditions-card,
#checkoutConfirmationDefault #orderComment-card,
#checkoutConfirmationDefault #cartContents-card { grid-column: 1 / -1; }

#checkoutShippingDefault #shippingMethod-card > .card-body > .card,
#checkoutPayment #paymentMethod-card > .card-body > .card {
  margin: 13px 0 !important;
  border-radius: 12px;
  box-shadow: none;
}
#checkoutShippingDefault #shippingMethod-card > .card-body > .card:last-child,
#checkoutPayment #paymentMethod-card > .card-body > .card:last-child { margin-bottom: 0 !important; }

#checkoutShippingDefault .content,
#checkoutPayment .content,
#checkoutConfirmationDefault .content,
#checkoutSuccessDefault .content { max-width: none; padding: 0; }

#checkoutShippingDefault address,
#checkoutPayment address,
#checkoutConfirmationDefault address { margin: 0; color: #4e4954; font-style: normal; line-height: 1.7; }

#shoppingCartDefault .table-responsive,
#checkoutPayment .table-responsive,
#checkoutConfirmationDefault .table-responsive { overflow: auto; border: 1px solid #ebe6ef; border-radius: 12px; }

#shoppingCartDefault .cartTableDisplay,
#checkoutPayment .cartTableDisplay,
#checkoutConfirmationDefault .cartTableDisplay {
  width: 100%;
  margin: 0;
  border: 0;
  color: #2d2933;
}

#shoppingCartDefault .cartTableDisplay thead th,
#shoppingCartDefault .cartTableDisplay th,
#checkoutPayment .cartTableDisplay th,
#checkoutConfirmationDefault .cartTableDisplay th {
  padding: 13px 14px;
  background: #faf8fc;
  border: 0;
  border-bottom: 1px solid #e8e2ed;
  color: #5f5669;
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .045em;
  text-transform: uppercase;
}

#shoppingCartDefault .cartTableDisplay td,
#checkoutPayment .cartTableDisplay td,
#checkoutConfirmationDefault .cartTableDisplay td {
  padding: 16px 14px;
  border-color: #eeeaf1;
  vertical-align: top;
}

#shoppingCartDefault .cartTableDisplay tr:nth-child(even),
#checkoutPayment .cartTableDisplay tr:nth-child(even),
#checkoutConfirmationDefault .cartTableDisplay tr:nth-child(even) { background: #fff; }

#shoppingCartDefault .productsCell a,
#shoppingCartDefault .productsCell,
#checkoutConfirmationDefault .productsCell { color: #54208f; font-weight: 750; }
#shoppingCartDefault .productsCell img { max-width: 90px; max-height: 62px; margin-right: 12px; object-fit: contain; }
#shoppingCartDefault .productsCell-attributes,
#checkoutConfirmationDefault .productsCell-attributes { margin-top: 8px; color: #6d6574; font-size: 13px; font-weight: 400; }
#shoppingCartDefault .productsCell-attributes ul,
#checkoutConfirmationDefault .productsCell-attributes ul { margin: 0; padding-left: 18px; }

#shoppingCartDefault input[type="text"],
#checkoutShippingDefault input[type="text"],
#checkoutShippingDefault select,
#checkoutPayment input[type="text"],
#checkoutPayment select,
#checkoutPayment textarea,
#checkoutShippingDefault textarea {
  width: 100%;
  min-height: 42px;
  padding: 9px 11px;
  background: #fff;
  border: 1px solid #d9d1e1;
  border-radius: 9px;
  color: #28232d;
  box-shadow: none;
}
#shoppingCartDefault input:focus,
#checkoutShippingDefault input:focus,
#checkoutShippingDefault select:focus,
#checkoutShippingDefault textarea:focus,
#checkoutPayment input:focus,
#checkoutPayment select:focus,
#checkoutPayment textarea:focus { outline: 0; border-color: #6c2ba3; box-shadow: 0 0 0 3px rgba(108,43,163,.13); }

#checkoutShippingDefault input[type="radio"],
#checkoutPayment input[type="radio"],
#checkoutPayment input[type="checkbox"],
#checkoutShippingDefault input[type="checkbox"] { accent-color: #54208f; }

#checkoutShippingDefault .custom-control,
#checkoutPayment .custom-control { min-height: 28px; padding: 7px 0 7px 28px; }
#checkoutShippingDefault .custom-control-label,
#checkoutPayment .custom-control-label { color: #312a38; cursor: pointer; font-weight: 700; }
#checkoutShippingDefault .float-right { color: #21132e; font-weight: 850; }

#shoppingCartDefault .cartTotalsDisplay,
#shoppingCartDefault #cartTotal {
  color: #21132e;
  font-size: 18px;
  font-weight: 850;
}
#shoppingCartDefault .cartTotalsDisplay { margin: 0 0 18px !important; padding: 17px 20px !important; text-align: right !important; }

#shoppingCartDefault .btn-toolbar,
#checkoutShippingDefault .btn-toolbar,
#checkoutPayment .btn-toolbar,
#checkoutConfirmationDefault .btn-toolbar,
#checkoutSuccessDefault .btn-toolbar {
  gap: 12px;
  align-items: center;
}

#shoppingCartDefault .btn,
#checkoutShippingDefault .btn,
#checkoutPayment .btn,
#checkoutConfirmationDefault .btn,
#checkoutSuccessDefault .btn,
#checkoutShippingDefault button,
#checkoutPayment button,
#checkoutConfirmationDefault button,
#checkoutSuccessDefault button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 16px;
  background: #fff;
  border: 1px solid #d5c4e5;
  border-radius: 9px;
  color: #54208f;
  font-weight: 800;
  text-decoration: none;
  transition: .16s ease;
}
#shoppingCartDefault .btn:hover,
#checkoutShippingDefault .btn:hover,
#checkoutPayment .btn:hover,
#checkoutConfirmationDefault .btn:hover,
#checkoutSuccessDefault .btn:hover { border-color: #54208f; background: #faf6ff; color: #54208f; }

#shoppingCartDefault #shoppingCartDefault-btn-toolbar,
#checkoutShippingDefault #checkoutShippingDefault-btn-toolbar1,
#checkoutPayment #paymentSubmit,
#checkoutConfirmationDefault #checkoutConfirmationDefault-btn-toolbar {
  margin-top: 24px;
  padding: 18px 20px;
  background: #faf8fc;
  border: 1px solid #e8e1ee;
  border-radius: 14px;
}
#shoppingCartDefault #shoppingCartDefault-btn-toolbar .button_checkout,
#shoppingCartDefault #shoppingCartDefault-btn-toolbar a:last-child,
#checkoutShippingDefault #checkoutShippingDefault-btn-toolbar1 input[type="image"],
#checkoutShippingDefault #checkoutShippingDefault-btn-toolbar1 button,
#checkoutPayment #paymentSubmit input[type="image"],
#checkoutPayment #paymentSubmit button,
#checkoutConfirmationDefault #checkoutConfirmationDefault-btn-toolbar input[type="image"],
#checkoutConfirmationDefault #checkoutConfirmationDefault-btn-toolbar button {
  background: #f29113;
  border-color: #e48409;
  border-radius: 9px;
  color: #fff;
  box-shadow: 0 5px 14px rgba(221,126,0,.20);
}
#shoppingCartDefault #shoppingCartDefault-btn-toolbar .button_checkout:hover,
#shoppingCartDefault #shoppingCartDefault-btn-toolbar a:last-child:hover,
#checkoutShippingDefault #checkoutShippingDefault-btn-toolbar1 button:hover,
#checkoutPayment #paymentSubmit button:hover,
#checkoutConfirmationDefault #checkoutConfirmationDefault-btn-toolbar button:hover { background: #dd7e00; color: #fff; }

#checkoutSuccessDefault #orderNumber-card { border-color: #bfe1c9; background: #f3fbf5; }
#checkoutSuccessDefault #orderNumber-card-body { color: #176735; font-size: 18px; font-weight: 850; text-align: center; }
#checkoutSuccessDefault #checkoutSuccessDefault-content-one { padding: 0; color: #54208f; }
#checkoutSuccessDefault #customerService-card { background: #fbf9fd; }

@media (max-width: 767px) {
  #shoppingCartDefault,
  #checkoutShippingDefault,
  #checkoutPayment,
  #checkoutConfirmationDefault,
  #checkoutSuccessDefault { margin: 22px 12px 42px; }
  #shoppingCartDefault .pageHeading,
  #checkoutShippingDefault .pageHeading,
  #checkoutPayment .pageHeading,
  #checkoutConfirmationDefault .pageHeading,
  #checkoutSuccessDefault .pageHeading { margin-bottom: 18px; }
  #checkoutShippingDefault .card-columns,
  #checkoutPayment .card-columns,
  #checkoutConfirmationDefault .card-columns,
  #checkoutShippingDefault .card-deck,
  #checkoutPayment .card-deck,
  #checkoutConfirmationDefault .card-deck,
  #checkoutSuccessDefault .card-deck { grid-template-columns: 1fr; }
  #checkoutShippingDefault .card-body,
  #checkoutPayment .card-body,
  #checkoutConfirmationDefault .card-body,
  #checkoutSuccessDefault .card-body { padding: 16px !important; }
  #shoppingCartDefault .cartTableDisplay th,
  #checkoutPayment .cartTableDisplay th,
  #checkoutConfirmationDefault .cartTableDisplay th,
  #shoppingCartDefault .cartTableDisplay td,
  #checkoutPayment .cartTableDisplay td,
  #checkoutConfirmationDefault .cartTableDisplay td { padding: 11px 10px; }
  #shoppingCartDefault #shoppingCartDefault-btn-toolbar,
  #checkoutShippingDefault #checkoutShippingDefault-btn-toolbar1,
  #checkoutPayment #paymentSubmit,
  #checkoutConfirmationDefault #checkoutConfirmationDefault-btn-toolbar { align-items: stretch; flex-direction: column; }
  #shoppingCartDefault #shoppingCartDefault-btn-toolbar > *,
  #checkoutShippingDefault #checkoutShippingDefault-btn-toolbar1 > *,
  #checkoutPayment #paymentSubmit > *,
  #checkoutConfirmationDefault #checkoutConfirmationDefault-btn-toolbar > * { width: 100%; text-align: left; }
}

/* The normal catalogue reserves a sidebar column. Checkout never uses it, so
   reclaim it only while one of these checkout views is present. */
body #shoppingCartDefault,
body #checkoutShippingDefault,
body #checkoutPayment,
body #checkoutConfirmationDefault,
body #checkoutSuccessDefault { max-width: 1240px !important; }

@supports selector(body:has(*)) {
  body:has(#shoppingCartDefault) #bdCenterColumn,
  body:has(#checkoutShippingDefault) #bdCenterColumn,
  body:has(#checkoutPayment) #bdCenterColumn,
  body:has(#checkoutConfirmationDefault) #bdCenterColumn,
  body:has(#checkoutSuccessDefault) #bdCenterColumn {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }
  body:has(#shoppingCartDefault) #bdSidebar,
  body:has(#checkoutShippingDefault) #bdSidebar,
  body:has(#checkoutPayment) #bdSidebar,
  body:has(#checkoutConfirmationDefault) #bdSidebar,
  body:has(#checkoutSuccessDefault) #bdSidebar { display: none !important; }
}
