:root {
  --sb-color-0: #fc9403;
  --sb-color-1: #f05a1a;
  --sb-color-2: #e1e1e1;
  --sb-color-3: #eeeeee;
  --sb-color-4: #666666;
  --sb-color-5: #0070e8;
  --sb-color-6: #fcfcfc;
}

.screenreader-only {
  display: none;
}

.help {
  font-size: 14px;
  font-weight: normal;
}

.help.help__large {
  font-size: 14px;
}

.help.help__small {
  font-size: 10.4px;
}

.sb-submit-error {
  display: none;
  margin-top: 12px;
  padding: 10px 14px;
  border-radius: 4px;
  background: #fdecea;
  border-left: 4px solid #d63638;
  color: #b32d2e;
  font-size: 14px;
  font-weight: 600;
}
.sb-submit-error--show {
  display: block;
}

/*************
** Details table **
***************/
#details-table {
  width: 100%;
  margin: 2.5rem 0 1.5rem 0;
  color: var(--sb-color-4, #666666);
  border: 1px solid var(--sb-color-2, #e1e1e1);
  border-collapse: collapse;
}

#details-table thead,
#details-table tbody {
  background-color: var(--sb-color-6, #fcfcfc);
}

#details-table th {
  text-align: left;
  font-size: 12px;
  font-weight: bold;
  line-height: 18px;
  padding: 10px 12px;
  border: 1px solid var(--sb-color-2, #e1e1e1);
}

#details-table tbody td {
  font-size: 13px;
  font-weight: 400;
}

#details-table td {
  text-align: left;
  font-size: 12px;
  font-weight: bold;
  line-height: 18px;
  padding: 9px 12px;
  border: 1px solid var(--sb-color-2, #e1e1e1);
}

#details-table tfoot td p {
  margin: 0;
}

#details-table tfoot td p.small-text {
  font-size: 10px;
  font-weight: 300;
  letter-spacing: 0;
  text-transform: none;
}

#details-table tfoot .extra-row {
  background-color: var(--sb-color-3, #eeeeee);
}

.remove-product-cell {
  position: relative;
}

.remove-product {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  cursor: pointer;
  border: 1px solid var(--sb-color-4, #666666);
  border-radius: 50%;
  width: 20px;
  height: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 10px;
  color: var(--sb-color-4, #666666);
}

.quantity-area {
  display: flex;
  height: fit-content;
  justify-content: center;
}

.quantity-area input {
  width: 45px;
  border-width: 1px 0;
  border-style: solid;
  border-color: var(--sb-color-2, #e1e1e1);
  border-radius: 0;
  padding: 0;
  text-align: center;
  font-size: 13px;
}

.plus,
.minus {
  width: 45px;
  line-height: 9px;
  background-color: var(--sb-color-3, #eeeeee);
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid var(--sb-color-2, #e1e1e1);
  border-radius: 0;
}

.quantity-area input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
}

.quantity-area input[type=number] {
  -moz-appearance: textfield;
}

/****************
***** Form *******
********************/
.formfield.formfield__inline {
  display: flex;
}

.formfield__spacer {
  height: 8px;
}

.formfield {
  margin-top: 15px;
}
.formfield select {
  appearance: none;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAANCAYAAAC+ct6XAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6RjBBRUQ1QTQ1QzkxMTFFMDlDNDdEQzgyNUE1RjI4MTEiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6RjBBRUQ1QTU1QzkxMTFFMDlDNDdEQzgyNUE1RjI4MTEiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpGMEFFRDVBMjVDOTExMUUwOUM0N0RDODI1QTVGMjgxMSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpGMEFFRDVBMzVDOTExMUUwOUM0N0RDODI1QTVGMjgxMSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pk5mU4QAAACUSURBVHjaYmRgYJD6////MwY6AyaGAQIspCieM2cOjKkIxCFA3A0TSElJoZ3FUCANxAeAWA6IOYG4iR5BjWwpCDQCcSnNgxoIVJCDFwnwA/FHWlp8EIpHSKoGgiggLkITewrEcbQO6mVAbAbE+VD+a3IsJTc7FQAxDxD7AbEzEF+jR1DDywtoCr9DbhwzDlRZDRBgACYqHJO9bkklAAAAAElFTkSuQmCC);
  background-position: center right;
  background-repeat: no-repeat;
  border-radius: 2px;
}
.formfield label {
  font-size: 12.88px;
}
.formfield .error-label {
  color: var(--sb-color-0, #fc9403);
}
.formfield input.error, .formfield select.error {
  border-color: var(--sb-color-0, #fc9403);
}
.formfield input,
.formfield textarea,
.formfield select {
  background-color: var(--sb-color-6, #fcfcfc);
  border: 1px solid var(--sb-color-2, #e1e1e1);
  box-shadow: none;
  border-radius: 0;
  font-size: 12px;
}
.formfield input:focus,
.formfield textarea:focus,
.formfield select:focus {
  background-color: var(--sb-color-3, #eeeeee);
  border: 1px solid var(--sb-color-2, #e1e1e1);
}
.formfield select {
  padding: 6px 12px;
  width: 100%;
  height: 40px;
}
.formfield textarea {
  padding: 12px 16px;
  width: 100%;
  line-height: 24px;
}
.formfield input[type=text],
.formfield input[type=email] {
  height: 40px;
  width: 100%;
}

@media screen and (max-width: 767px) {
  #information-area #first-name-area,
#information-area #last-name-area,
#information-area #phone-area,
#information-area #email-area {
    width: 100%;
  }
}
.sb-button {
  border-radius: 0;
  background-color: var(--sb-color-0, #fc9403);
  border: none;
  line-height: 15px;
  transition: all 0.3s ease;
  color: #fff;
  font-size: 15px;
  margin-right: 5px;
  padding: 0;
}

.sb-button a {
  display: inline-block;
  padding: 15px 30px;
  color: #fff;
  text-decoration: none !important;
  font-size: 12px;
}

.sb-button:hover,
.sb-button:focus {
  background-color: var(--sb-color-1, #f05a1a);
  border-color: var(--sb-color-1, #f05a1a);
}

.sb-button.sb-back {
  background-color: #eee;
}

.sb-button.sb-back a {
  color: var(--sb-color-4, #eeeeee);
}

.sb-button.sb-back a svg {
  width: 10px;
  height: 10px;
  margin-right: 5px;
  vertical-align: middle;
}
#submit a svg {
  width: 14px;
  height: 14px;
  margin-right: 6px;
  vertical-align: middle;
}

/*******************
**** Information ***
*******************/
#information-area {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 50px;
  margin-top: 25px;
}
@media screen and (max-width: 768px) {
  #information-area {
    grid-template-columns: 1fr;
  }
}

#information-area h3 {
  font-size: 20px;
  font-weight: 600;
  margin: 0;
}

#information-area .formfield {
  display: inline-block;
}

#information-area .formfield.formfield__full {
  width: 100%;
}

#information-area .formfield.formfield__half {
  width: 48%;
}

#information-area .formfield.formfield__right {
  float: right;
}

.help {
  padding: 0;
  font-size: 14px;
  font-weight: normal;
}
.help svg {
  color: var(--sb-color-5, #0070e8);
  width: 14px;
  height: 14px;
  vertical-align: -2px;
  margin-right: 4px;
}
.help a {
  color: var(--sb-color-0, #fc9403);
}

/**********************
**** Summary table ****
**********************/
#summary-table {
  margin-top: 2.5rem;
  color: rgb(102, 102, 102);
  border-color: var(--sb-color-2, #e1e1e1);
  border-collapse: collapse;
}

#summary-table thead,
#summary-table tbody {
  background-color: var(--sb-color-6, #fcfcfc);
}

#summary-table th {
  text-align: left;
  font-size: 12px;
  font-weight: bold;
  line-height: 18px;
  padding: 10px 12px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  border: 1px solid var(--sb-color-2, #e1e1e1);
}

#summary-table tbody td {
  padding: 9px 12px;
  font-size: 13px;
  font-weight: 400;
  border: 1px solid var(--sb-color-2, #e1e1e1);
}

#summary-table tfoot td {
  text-align: left;
  font-size: 12px;
  font-weight: bold;
  line-height: 18px;
  padding: 9px 12px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  border: 1px solid var(--sb-color-2, #e1e1e1);
}

#summary-table tfoot td .help {
  margin: 0;
  letter-spacing: 0.5px;
  text-transform: capitalize;
}

#min-order-surcharge-area.hidden,
#elevator-walkway-sucharge-area.hidden {
  display: none;
}
#min-order-surcharge-area .label,
#min-order-surcharge-area .price,
#elevator-walkway-sucharge-area .label,
#elevator-walkway-sucharge-area .price {
  font-size: 13px;
  font-weight: 400;
}

#summary-table {
  width: 100%;
}

@media screen and (max-width: 1024px) {
  #summary-table {
    width: 100%;
  }
}
#elevator-walkway-sucharge-area {
  display: none;
}

/*********************************
******* Submit ***************
**************************/
.submit-area {
  background-color: var(--sb-color-6, #fcfcfc);
  padding: 30px;
  border: 1px solid var(--sb-color-2, #e1e1e1);
}

.submit-area p {
  font-size: 15px;
}

.submit-area .button-wrap {
  margin-top: 15px;
}
@media screen and (max-width: 767px) {
  .submit-area .button-wrap {
    display: flex;
    flex-direction: column;
    gap: 15px;
  }
}

.error-info {
  font-size: 12px;
  color: #fff;
  background-color: var(--sb-color-0, #fc9403);
  text-decoration: underline;
  padding: 1px 10px;
  display: inline-block;
  clear: both;
}

#date-slot-area {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 50px;
  margin-bottom: 15px;
}
@media screen and (max-width: 768px) {
  #date-slot-area {
    grid-template-columns: 1fr;
    gap: 0;
  }
}

.Zebra_DatePicker_Icon_Wrapper {
  width: 100%;
}

.Zebra_DatePicker_Icon {
  right: 12px !important;
}

.Zebra_DatePicker {
  transform: translate(-258px, -10px);
}
@media screen and (max-width: 767px) {
  .Zebra_DatePicker {
    transform: translate(-20px, -10px);
  }
}

#sb-checkout-page {
  position: relative;
}
#sb-checkout-page * {
  box-sizing: border-box;
}
#sb-checkout-page .progress {
  position: absolute;
  top: 0;
  left: -5%;
  z-index: 99;
  background-color: rgba(215, 215, 215, 0.5);
  width: 110%;
  height: 100%;
}
#sb-checkout-page .progress .progress-bar {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 50px;
  height: 50px;
  background-image: url("../loading.gif");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}


/* ===== 1.3.6 additions: collapsible optional fields (Company, Notes) ===== */
.formfield.sbuy-collapsible { border: 1px solid var(--sb-color-2, #e1e1e1); background: var(--sb-color-6, #fcfcfc); padding: 0; }
.formfield.sbuy-collapsible > .sbuy-collapsible__summary { list-style: none; cursor: pointer; user-select: none; display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 11px 14px; font-size: 12.88px; color: var(--sb-color-4, #666666); }
.formfield.sbuy-collapsible > .sbuy-collapsible__summary::-webkit-details-marker { display: none; }
.formfield.sbuy-collapsible > .sbuy-collapsible__summary::after { content: "+"; font-size: 20px; line-height: 1; font-weight: 400; color: var(--sb-color-0, #fc9403); flex-shrink: 0; }
.formfield.sbuy-collapsible[open] > .sbuy-collapsible__summary::after { content: "\2212"; }
.formfield.sbuy-collapsible .sbuy-collapsible__body { padding: 0 14px 14px; }
.formfield.sbuy-collapsible .sbuy-collapsible__body input, .formfield.sbuy-collapsible .sbuy-collapsible__body textarea { margin-top: 4px; }
