/* Checkout
 -------------------------------------------------------------- */

/* Ubercart buttons - secondary */
/* @todo: Standardize secondary button styles */
#edit-cancel.form-submit {
  border: none;
  font-weight: normal;
  background: none;
  color: var(--link-color);
}

#edit-cancel.form-submit:hover,
#edit-cancel.form-submit:focus{
  text-decoration: underline;
  color: var(--activeColor);
}

#uc-cart-checkout-form .uc-price {
  font-weight: 600;
}

#uc-cart-checkout-form .address-pane-table .form-required {
  float: right;
  font-weight: 600;
  padding: 0 0 0 3px;
}

#uc-cart-checkout-form .item-list .product-description {
  margin: 0 0 0 20px;
}

.address-pane-table .field-label {
  padding-right: 1em;
}


.cart-review {
  --_table-padding-vertical: var(--table-padding-vertical);
}
.cart-review tbody tr:last-child {
  background-color: var(--color-primary-100);
}

.cart-review th {
  font-weight: normal;
  white-space: nowrap;
}
.cart-review .desc .product-title-link {
  display: inline-block;
}
.cart-review td.qty {
  font-weight: 600;
}

.cart-review td.production { min-width: 100px; }
.cart-review td.price      { min-width: 58px; }

.cart-review .production select {
  width: 100%;
  border: 3px solid #77909F;
}
@media (width > 760px) {
  .cart-review tbody tr:last-child td {
    padding-top: var(--_table-padding-vertical);
    padding-bottom: var(--_table-padding-vertical);
  }
}

/* cart page mobile tweaks. */
@media (max-width: 760px) {

  #forallpromos-checkout-cart-items {
    margin: calc(var(--_fieldset-padding) * -1);
  }

  #forallpromos-checkout-cart-items .production:empty {
    display: none !important;
  }

  #forallpromos-checkout-cart-items .subtotal {
    border-width: 1px 0 0 0 !important;
  }

  .cart-review {
    --table-outer-border: 1px solid var(--color-primary-200);
  }
  .cart-review thead th:not(.desc),
  #cart-pane .sticky-header {
    display:none;
  }
  .cart-review thead th {
    border:none !important;
  }
  .cart-review tbody tr {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 1rem;
    border-top: none;
    padding: var(--table-padding-vertical) var(--table-padding-horizontal);
  }
  .cart-review .forall-fee-product:has(+ .forall-fee-fee) {
    padding-bottom: 0;
  }
  .cart-review .forall-fee-fee {
    padding-top: .75em;
  }
  .cart-review tr.subtotal {
    padding: 0;
  }
  .cart-review tr td {
    display:block !important;
  }
  .cart-review td:not(.subtotal) {
    border: none !important;
    padding: 0 !important;
  }
  .cart-review .desc {
    flex-basis: 100%;
  }

  .cart-review .qty {
    text-align: left;
  }
  .cart-review .price {
    text-align: right;
    margin-left: auto;
  }

  .cart-review .qty:before,
  .cart-review .price:before{
    font-weight: 600;
    margin-right: .5em;
    white-space: nowrap;
  }
  /* Add labels */
  .cart-review .qty:before { content: 'Quantity:'; }
  .cart-review .price:before { content: 'Price:'; }

  .forallpromos-checkout-eta br{display: none;}
}

@media (max-width: 996px) {
  #uc-cart-checkout-form .address-pane-table input,
  #uc-cart-checkout-form .address-pane-table select {
    width: 100%;
    box-sizing: border-box;
  }
}

/* Coupon line item */
.line-item-coupon {
  font-weight: 600;
  color: var(--color-attention, inherit);
}
.line-item-coupon .desc {
  font-size: 125%;
}

/* Coupon pane */
#coupon-pane:not(.collapsed) .fieldset-wrapper,
#coupon-pane .fieldset-wrapper[style^="display: block;"] {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 1em;
}
#coupon-pane .form-item {
  display: inline-flex;
  align-items: center;
  gap: .5em;
  flex-wrap: wrap;
  margin: 0;
}
#coupon-message {
  flex-basis: 100%;
  font-weight: 600;
  color: #f00;
}

#uc-order-total-preview .line-item-tax_subtotal {
  display:none;
}

#forallpromos-checkout-cart-items .sticky-header {
  display: none;
}


.forallpromos-shipping-quote-options table {
  --table-padding-horizontal: .125em;
  --table-padding-vertical: .125em;
}


.address-pane-table table {
  --table-padding-horizontal: .5rem;
  --table-padding-vertical: .5rem;
  margin-top: .5rem;
}
.address-pane-table table td {
  padding: var(--table-padding-vertical) var(--table-padding-horizontal);
}


#forallpromos-checkout-cart-items td {
  vertical-align: top;
}


#checkout-form-bottom #edit-cancel {
  padding: 0;
}
#checkout-form-bottom #edit-continue {
  margin-left: auto;
  min-width: fit-content;
  order: -9;
  flex-grow: 2;
  min-width: min(16em, 100%);
  max-width: max(20em, 50%);
}
#checkout-form-bottom .form-button, #checkout-form-bottom .form-submit {
  margin: 0;
}
#checkout-form-bottom {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  align-items: center;
  flex-direction: row-reverse;
}

.forallpromos-shipping-date {
  font-weight: 600;
  color: var(--brandColorOrchid);
  font-style: normal;
}
.forallpromos-checkout-eta {
  margin-top: .25rem;
  margin-bottom: 0;
}
td.production:has(.ahah-progress),
#uc-cart-pane-quotes #quote,
#forallpromos_shipping-pane,
#quoteProgress .message,
#line-items-div:has(.ubercart-throbber),
#payment-pane:has(#paymentProgress),
#coupon-pane {
  position: relative;
}
td.production:has(.ahah-progress):before,
#quoteProgress:before,
#line-items-div:has(.ubercart-throbber):before,
#payment-pane:has(#paymentProgress):before,
#coupon-pane:has(.ubercart-throbber):before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: var(--color-primary-100);
  top: 0;
  left: 0;
  display: block;
  opacity: .9;
}
/* Hide line item throbber when payment progress is showing */
#payment-pane:has(#paymentProgress) #line-items-div:has(.ubercart-throbber) .ubercart-throbber,
#payment-pane:has(#paymentProgress) #line-items-div:has(.ubercart-throbber):before{
  display: none;
}
#payment-pane:has(#paymentProgress):has(#line-items-div .ubercart-throbber) #line-items-div { position: initial; }

#quoteProgress {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5em;
  flex-direction: column;
}
#quoteProgress .bar { order: 1; }

/* Position throbbers in center of their panes */
td.production .ahah-progress .throbber,
#coupon-throbber,
#line-items-div .ubercart-throbber,
#paymentProgress {
  --throbber-size: 3rem;
  --throbber-border-width: 5px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Add space around coupon button to prevent scrollbar when clicking */
#edit-panes-coupon-apply {
  margin: 1px 0;
}





#checkout-instructions { flex-basis: 100%; }
#checkout-instructions:empty { display: none; }
.checkout-wrapper, .checkout-left-column, .checkout-right-column .inside { display: flex; gap:1em; }
.checkout-wrapper { flex-wrap: wrap; }
.checkout-wrapper fieldset { margin: 0; }
.checkout-left-column, .checkout-right-column .inside { flex-direction:column; }
.checkout-left-column { flex: 10 480px; }
.checkout-right-column { flex:1 405px; }
#edit-panes-delivery-delivery-address-select, #edit-panes-billing-billing-address-select { max-width: 85%; }
.checkout-right-column .inside.sticky { position:sticky; top: calc(var(--forall-banner-msg-height, 0px) + 1em); }

.address-pane-table table { table-layout: fixed; max-width: 100%; }
.address-pane-table table td:first-child { width: 140px; }

#payment-pane .description, #payment-pane .fieldset-wrapper > .form-item > label { display: none; }
#payment-pane .table-wrapper { font-size: 105%; }
span.sales-tax-info { display: block;margin: .25em 0 0;font-size: 90%; }

#payment_details > div > .form-item {
  margin: 0;
}
#payment_details .form-radios {
  margin: 0;
}
#payment_details .form-radios label {
  font-size: 90%;
}
#payment_details .form-radios input {
  vertical-align: middle;
}



#payment_details {
  border: none;
  padding: 0;
}

#adyen-dropin-container {
  --adyen-sdk-border-radius-m: var(--radius);
  --adyen-sdk-color-background-secondary: #fff;
  --adyen-sdk-color-background-always-dark: var(--brandGradientColorful);
  --adyen-sdk-color-background-inverse-primary-hover: var(--brandGradientColorful);
  --adyen-sdk-spacer-070: 1em;
}

#adyen-dropin-container .adyen-checkout__payment-method__header,
#adyen-dropin-container .adyen-checkout__payment-method--selected .adyen-checkout__payment-method__details {
  padding: .5em;
}

#adyen-dropin-container .adyen-checkout__payment-method__details__content>:last-child {
  margin-bottom: 0;
}
#adyen-dropin-container .adyen-checkout-payment-methods-container,
#adyen-dropin-container .adyen-checkout__payment-methods-list {
  gap: .5em;
}

/* WIP */
#content-region {
  margin-top: 1em;
}

#payment-pane .fieldset-wrapper {
  display: flex;
  flex-direction: column;
  gap: .5em
}
#payment-pane #line-items-div {
  margin-bottom: 0 !important;
}
#payment-pane .fieldset-wrapper > .form-item, #payment-pane .form-radios {display: contents;}
#edit-panes-payment-payment-method-credit-wrapper {
  display: none !important;
}

p.no-payment.show-on-contains-imprinted {
  margin: 0;
}

#payment-pane .form-item {
  margin: 0;
}
#payment-pane:has(#edit-panes-payment-payment-method-adyen:checked) #edit-panes-payment-payment-method-check-wrapper {order: 10;}



#uc-cart-checkout-review-form .adyen-checkout__threeds2__challenge--05 {
  position: fixed;
  inset: 0;
  background-color: #fff;
  z-index: 10;
}
html:has(.adyen-checkout__threeds2__challenge--05) {
  overflow: hidden;
}
