/* Bagful Style 3 override for VP One Page Checkout */

.proopc-finalpage.bagful-opc {
  --bagful-border: #e4e4e4;
  --bagful-border-strong: #d7d7d7;
  --bagful-card: #ffffff;
  --bagful-text: #151515;
  --bagful-muted: #666666;
  --bagful-accent: #8b5e3c;
  --bagful-accent-dark: #6f482c;
  --bagful-radius: 24px;
  position: relative;
  max-width: 1520px;
  margin: 0 auto;
  padding: 26px 24px 30px;
  border: 1px solid var(--bagful-border);
  border-radius: 30px;
  background: #fff;
  color: var(--bagful-text);
}

.proopc-finalpage.bagful-opc a { transition: .2s ease; }
.proopc-finalpage.bagful-opc .proopc-row:before,
.proopc-finalpage.bagful-opc .proopc-row:after { content: " "; display: table; }
.proopc-finalpage.bagful-opc .proopc-row:after { clear: both; }

.proopc-finalpage.bagful-opc .bagful-opc-topbar {
  display: flex;
  align-items: center;
  justify-content: end;
  gap: 16px;
  margin: 0 0 28px;
  padding: 2px 0 4px;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.proopc-finalpage.bagful-opc .bagful-opc-topbar-left,
.proopc-finalpage.bagful-opc .bagful-opc-topbar-right {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 18px;
}

.proopc-finalpage.bagful-opc .bagful-opc-main {
  display: grid;
  grid-template-columns: 360px 360px minmax(0, 1fr);
  column-gap: 12px;
  row-gap: 22px;
  align-items: start;
}


.proopc-finalpage.bagful-opc .bagful-opc-col {
  min-width: 0;
}

.proopc-finalpage.bagful-opc .bagful-opc-link-primary,
.proopc-finalpage.bagful-opc .proopc-continue-link a,
.proopc-finalpage.bagful-opc .proopc-goback-link {
  color: var(--bagful-accent);
  font-weight: 700;
  text-decoration: none;
}

.proopc-finalpage.bagful-opc .bagful-opc-link-primary:hover,
.proopc-finalpage.bagful-opc .proopc-continue-link a:hover,
.proopc-finalpage.bagful-opc .proopc-goback-link:hover,
.proopc-finalpage.bagful-opc .proopc-clear-cart:hover {
  color: var(--bagful-accent-dark);
}

.proopc-finalpage.bagful-opc .proopc-clear-cart,
.proopc-finalpage.bagful-opc .bagful-opc-link-muted {
  color: var(--bagful-muted);
  text-decoration: none;
}

.proopc-finalpage.bagful-opc .bagful-opc-card {
  margin: 0 0 22px;
  border: 1px solid var(--bagful-border);
  border-radius: var(--bagful-radius);
  background: var(--bagful-card);
  box-shadow: none;
  overflow: hidden;
}

.proopc-finalpage.bagful-opc .bagful-opc-card--summary,
.proopc-finalpage.bagful-opc .bagful-opc-card--confirm {
  box-shadow: none;
}

.proopc-finalpage.bagful-opc .bagful-opc-card-body {
  padding: 22px;
}

.proopc-finalpage.bagful-opc .bagful-opc-title,
.proopc-finalpage.bagful-opc h3.proopc-process-title {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
  padding: 18px 22px;
  border-bottom: 1px solid #ededed;
  color: var(--bagful-text);
  font-size: 17px;
  line-height: 1.35;
  font-weight: 700;
}

.proopc-finalpage.bagful-opc .bagful-opc-step,
.proopc-finalpage.bagful-opc .proopc-step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  float: none;
  min-width: 32px;
  width: 32px;
  height: 32px;
  margin: 0;
  padding: 0;
  border-radius: 999px;
  background: #f4f4f4;
  color: #8a8a8a;
  font-size: 13px !important;
  line-height: 32px !important;
  font-weight: 700;
  font-family: inherit;
}

.proopc-finalpage.bagful-opc .proopc-column3,
.proopc-finalpage.bagful-opc .proopc-column3.last,
.proopc-finalpage.bagful-opc .proopc-column,
.proopc-finalpage.bagful-opc .proopc-cartlist,
.proopc-finalpage.bagful-opc .proopc-confirm-order,
.proopc-finalpage.bagful-opc .proopc-bt-address,
.proopc-finalpage.bagful-opc .proopc-shipments,
.proopc-finalpage.bagful-opc .proopc-payments,
.proopc-finalpage.bagful-opc .proopc-coupon,
.proopc-finalpage.bagful-opc .proopc-additional-info {
  float: none;
  width: auto;
  min-width: 0;
  box-sizing: border-box;
}

.proopc-finalpage.bagful-opc .proopc-st-address {
  display: none !important;
}

.proopc-finalpage.bagful-opc fieldset {
  margin: 0 0 18px;
  padding: 0;
  border: 0;
}

.proopc-finalpage.bagful-opc legend,
.proopc-finalpage.bagful-opc .inner-wrap legend {
  display: block;
  width: 100%;
  margin: 0 0 14px;
  padding: 0;
  border: 0;
  color: var(--bagful-text);
  font-size: 28px;
  line-height: 1.2;
  font-weight: 700;
}

.proopc-finalpage.bagful-opc .inner-wrap {
  margin: 0;
  padding: 0;
}

.proopc-finalpage.bagful-opc .inner-wrap > .address-group:last-child,
.proopc-finalpage.bagful-opc .inner-wrap > fieldset:last-child {
  margin-bottom: 0;
}

.proopc-finalpage.bagful-opc label,
.proopc-finalpage.bagful-opc .proopc-label,
.proopc-finalpage.bagful-opc .proopc-input label {
  display: block;
  margin: 0 0 8px;
  color: var(--bagful-text);
  font-size: 14px;
  font-weight: 600;
}
.cart-tos-group a.terms-of-service {font-size: 12px;}

.proopc-finalpage.bagful-opc input[type="text"],
.proopc-finalpage.bagful-opc input[type="email"],
.proopc-finalpage.bagful-opc input[type="tel"],
.proopc-finalpage.bagful-opc input[type="password"],
.proopc-finalpage.bagful-opc select,
.proopc-finalpage.bagful-opc textarea,
.proopc-finalpage.bagful-opc .chzn-container-single .chzn-single,
.proopc-finalpage.bagful-opc .chosen-container-single .chosen-single,
.proopc-finalpage.bagful-opc .vm-chzn-select,
.proopc-finalpage.bagful-opc .inputbox {
  width: 100% !important;
  min-height: 54px;
  padding: 14px 16px;
  border: 1px solid var(--bagful-border-strong);
  border-radius: 12px;
  background: #fff;
  box-shadow: none !important;
  color: var(--bagful-text);
  font-size: 14px;
  line-height: 1.35;
}

.proopc-finalpage.bagful-opc textarea {
  min-height: 118px;
  resize: vertical;
}

.proopc-finalpage.bagful-opc input:focus,
.proopc-finalpage.bagful-opc select:focus,
.proopc-finalpage.bagful-opc textarea:focus,
.proopc-finalpage.bagful-opc .inputbox:focus {
  outline: none;
  border-color: var(--bagful-accent);
  box-shadow: 0 0 0 4px rgba(139, 94, 60, .12) !important;
}

.proopc-finalpage.bagful-opc ::placeholder {
  color: #9c8f86;
  opacity: 1;
}

.proopc-finalpage.bagful-opc .contacts .phone_2-group,
.proopc-finalpage.bagful-opc .contacts .first_name-group,
.proopc-finalpage.bagful-opc .contacts .last_name-group,
.proopc-finalpage.bagful-opc .contacts .bt_email-group,
.proopc-finalpage.bagful-opc .contacts .email-group,
.proopc-finalpage.bagful-opc .delivery-office,
.proopc-finalpage.bagful-opc .delivery-address,
.proopc-finalpage.bagful-opc .company-info,
.proopc-finalpage.bagful-opc .proopc-field,
.proopc-finalpage.bagful-opc .field-company,
.proopc-finalpage.bagful-opc .field-inn,
.proopc-finalpage.bagful-opc .field-EGRPOY {
  margin-bottom: 12px;
}

.proopc-finalpage.bagful-opc .checkbox,
.proopc-finalpage.bagful-opc .radio,
.proopc-finalpage.bagful-opc .proopc-row input[type="checkbox"] + span,
.proopc-finalpage.bagful-opc .proopc-row input[type="radio"] + span {
  font-size: 15px;
  font-weight: 500;
}

.proopc-finalpage.bagful-opc label.checkbox,
.proopc-finalpage.bagful-opc label.radio,
.proopc-finalpage.bagful-opc .bagful-inline-check,
.proopc-finalpage.bagful-opc .st-same-checkbox,
.proopc-finalpage.bagful-opc .vmpayment label,
.proopc-finalpage.bagful-opc .vmshipment label {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}

.proopc-finalpage.bagful-opc .terms-of-service-cont,
.proopc-finalpage.bagful-opc .bagful-inline-check span,
.proopc-finalpage.bagful-opc .st-same-checkbox span {
  display: inline-block;
  margin: 0;
}

.proopc-finalpage.bagful-opc input[type="checkbox"],
.proopc-finalpage.bagful-opc input[type="radio"] {
  flex: 0 0 auto;
  margin: 4px 0 0;
  accent-color: var(--bagful-accent);
}

.proopc-finalpage.bagful-opc .vmpayment,
.proopc-finalpage.bagful-opc .vmshipment {
  margin: 0;
}

.proopc-finalpage.bagful-opc .vmpayment .input-radio,
.proopc-finalpage.bagful-opc .vmshipment .input-radio,
.proopc-finalpage.bagful-opc .proopc-payment-item,
.proopc-finalpage.bagful-opc .proopc-shipment,
.proopc-finalpage.bagful-opc .shipment-group label,
.proopc-finalpage.bagful-opc .payment-group label,
.proopc-finalpage.bagful-opc .vmshipment label,
.proopc-finalpage.bagful-opc .vmpayment label {
  margin: 0 0 12px;
  padding: 14px 16px;
  border: 1px solid var(--bagful-border);
  border-radius: 12px;
  background: #fff;
}

.proopc-finalpage.bagful-opc .vmpayment label input[type="radio"],
.proopc-finalpage.bagful-opc .vmshipment label input[type="radio"] {
  margin-right: 10px;
}

.proopc-finalpage.bagful-opc .vmpayment_name,
.proopc-finalpage.bagful-opc .vmshipment_name {
  display: block;
  color: var(--bagful-text);
  font-size: 16px;
  font-weight: 700;
}

.proopc-finalpage.bagful-opc .vmpayment_description,
.proopc-finalpage.bagful-opc .vmpayment_desc,
.proopc-finalpage.bagful-opc .vmshipment_description,
.proopc-finalpage.bagful-opc .vmshipment_desc,
.proopc-finalpage.bagful-opc small,
.proopc-finalpage.bagful-opc .small {
  display: block;
  margin-top: 6px;
  color: var(--bagful-muted);
  font-size: 13px;
  line-height: 1.45;
}

.proopc-finalpage.bagful-opc table,
.proopc-finalpage.bagful-opc .proopc-carttable,
.proopc-finalpage.bagful-opc .proopc-price-table {
  width: 100%;
  border-collapse: collapse;
}

.proopc-finalpage.bagful-opc td,
.proopc-finalpage.bagful-opc th {
  padding: 8px 0;
  vertical-align: top;
}

.proopc-finalpage.bagful-opc .product-name,
.proopc-finalpage.bagful-opc .proopc-cart-product-title,
.proopc-finalpage.bagful-opc .cart-product-name {
  color: var(--bagful-text);
  font-weight: 700;
}

.proopc-finalpage.bagful-opc #proopc-pricelist .proopc-product,
.proopc-finalpage.bagful-opc #proopc-pricelist .proopc-cart-item,
.proopc-finalpage.bagful-opc #proopc-pricelist .product-row {
  margin: 0 0 14px;
  padding: 0 0 14px;
  border-bottom: 1px solid #efe7e0;
}

.proopc-finalpage.bagful-opc #proopc-pricelist .proopc-product:last-child,
.proopc-finalpage.bagful-opc #proopc-pricelist .proopc-cart-item:last-child,
.proopc-finalpage.bagful-opc #proopc-pricelist .product-row:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}

.proopc-finalpage.bagful-opc .proopc-product-price,
.proopc-finalpage.bagful-opc .proopc-total,
.proopc-finalpage.bagful-opc .proopc-grand-total,
.proopc-finalpage.bagful-opc .salesPrice {
  font-weight: 700;
}

.proopc-finalpage.bagful-opc .proopc-confirm-button-wrapper {
  margin: 18px 0 0;
}

.proopc-finalpage.bagful-opc .proopc-btn,
.proopc-finalpage.bagful-opc button,
.proopc-finalpage.bagful-opc input[type="submit"],
.proopc-finalpage.bagful-opc input[type="button"],
.proopc-finalpage.bagful-opc .btn,
.proopc-finalpage.bagful-opc .button {
  min-height: 54px;
  padding: 14px 22px;
  border: 0;
  border-radius: 12px;
  background: #0f0f10;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  box-shadow: none;
}

.proopc-finalpage.bagful-opc .proopc-btn:hover,
.proopc-finalpage.bagful-opc button:hover,
.proopc-finalpage.bagful-opc input[type="submit"]:hover,
.proopc-finalpage.bagful-opc input[type="button"]:hover,
.proopc-finalpage.bagful-opc .btn:hover,
.proopc-finalpage.bagful-opc .button:hover {
  background: #1a1a1c;
}

.proopc-finalpage.bagful-opc .proopc-btn[disabled],
.proopc-finalpage.bagful-opc button[disabled] {
  opacity: .55;
}

.proopc-finalpage.bagful-opc .proopc-alert,
.proopc-finalpage.bagful-opc .proopc-alert-error,
.proopc-finalpage.bagful-opc .proopc-alert-warning,
.proopc-finalpage.bagful-opc .proopc-alert-success {
  margin-bottom: 16px;
  padding: 14px 16px;
  border-radius: 16px;
}

.proopc-finalpage.bagful-opc .asterisk {
  color: #b85f4e;
}

.proopc-finalpage.bagful-opc #checkoutForm {
  margin: 0;
}

.proopc-finalpage.bagful-opc .cart-tos-group,
.proopc-finalpage.bagful-opc .bagful-tos-group {
  margin-top: 8px;
}

.proopc-finalpage.bagful-opc .cart-tos-group .terms-of-service {
  font-weight: 600;
  text-decoration: none;
}

.proopc-finalpage.bagful-opc .proopc-toolbar-right .proopc-clear-cart-wrapper,
.proopc-finalpage.bagful-opc .proopc-toolbar-right .proopc-continue-link {
  margin-top: 8px;
}


.proopc-finalpage.bagful-opc .bagful-opc-col--left .bagful-opc-card,
.proopc-finalpage.bagful-opc .bagful-opc-col--middle .bagful-opc-card,
.proopc-finalpage.bagful-opc .bagful-opc-col--right .bagful-opc-card {
  max-width: none;
}

.proopc-finalpage.bagful-opc .bagful-opc-card--summary .bagful-opc-card-body,
.proopc-finalpage.bagful-opc .bagful-opc-card--confirm .bagful-opc-card-body {
  padding-top: 20px;
}

.proopc-finalpage.bagful-opc .bagful-opc-card--summary {
  min-height: 0;
}

.proopc-finalpage.bagful-opc #proopc-pricelist .col-name {
  width: auto;
}

.proopc-finalpage.bagful-opc #proopc-pricelist .col-qty {
  width: 70px;
}

.proopc-finalpage.bagful-opc #proopc-pricelist .col-total {
  width: 88px;
}

.proopc-finalpage.bagful-opc #proopc-pricelist thead th {
  padding-top: 0;
  padding-bottom: 12px;
  color: var(--bagful-text);
  font-size: 13px;
  font-weight: 700;
}

.proopc-finalpage.bagful-opc #proopc-pricelist td,
.proopc-finalpage.bagful-opc #proopc-pricelist th {
  font-size: 13px;
}

.proopc-finalpage.bagful-opc .proopc-p-price,
.proopc-finalpage.bagful-opc .proopc-p-sku,
.proopc-finalpage.bagful-opc .proopc-product-name,
.proopc-finalpage.bagful-opc .proopc-p-info,
.proopc-finalpage.bagful-opc .vmshipment_description,
.proopc-finalpage.bagful-opc .vmshipment_desc,
.proopc-finalpage.bagful-opc .vmpayment_description,
.proopc-finalpage.bagful-opc .vmpayment_desc {
  font-size: 13px;
}

.proopc-finalpage.bagful-opc .proopc-product-hover,
.proopc-finalpage.bagful-opc .proopc-hint,
.proopc-finalpage.bagful-opc .proopc-hint-row {
  display: none !important;
}

.proopc-finalpage.bagful-opc .product-name,
.proopc-finalpage.bagful-opc .proopc-cart-product-title,
.proopc-finalpage.bagful-opc .cart-product-name,
.proopc-finalpage.bagful-opc .proopc-cart-summery .col-name > a {
  font-size: 15px;
  line-height: 1.45;
}

.proopc-finalpage.bagful-opc .proopc-product-price,
.proopc-finalpage.bagful-opc .proopc-total,
.proopc-finalpage.bagful-opc .proopc-grand-total,
.proopc-finalpage.bagful-opc .salesPrice,
.proopc-finalpage.bagful-opc .col-total {
  font-size: 15px;
}

.proopc-finalpage.bagful-opc .proopc-subtotal td,
.proopc-finalpage.bagful-opc .proopc-grand-total td,
.proopc-finalpage.bagful-opc .cart-total td,
.proopc-finalpage.bagful-opc .cart-total th {
  padding-top: 10px;
  padding-bottom: 10px;
  font-size: 15px;
}

.proopc-finalpage.bagful-opc .proopc-confirm-order textarea {
  border-radius: 16px;
}

.proopc-finalpage.bagful-opc .proopc-confirm-order .cart-tos-group,
.proopc-finalpage.bagful-opc .proopc-confirm-order .bagful-tos-group {
  margin-top: 16px;
}

.proopc-finalpage.bagful-opc .proopc-toolbar-right .proopc-clear-cart-wrapper,
.proopc-finalpage.bagful-opc .proopc-toolbar-right .proopc-continue-link {
  margin-top: 14px;
}

.proopc-finalpage.bagful-opc .proopc-cart-summery .line-through {
  opacity: .55;
}

.proopc-finalpage.bagful-opc .vmshipment label:has(input[type="radio"]:checked),
.proopc-finalpage.bagful-opc .vmpayment label:has(input[type="radio"]:checked) {
  border-color: #111;
  box-shadow: 0 0 0 1px #111 inset;
}


/* v6 layout and option alignment fixes */
.proopc-finalpage.bagful-opc .bagful-opc-col--right {
  min-width: 0;
}

.proopc-finalpage.bagful-opc .proopc-bt-address .address-group,
.proopc-finalpage.bagful-opc .proopc-bt-address fieldset.address-group {
  margin: 0 0 28px;
}

.proopc-finalpage.bagful-opc .proopc-bt-address legend,
.proopc-finalpage.bagful-opc .proopc-bt-address .proopc-delimiter {
  display: block;
  width: 100%;
  margin: 0 0 18px;
  padding: 0;
  color: var(--bagful-text);
  font-size: 20px;
  line-height: 1.3;
  font-weight: 700;
}

.proopc-finalpage.bagful-opc .proopc-bt-address .proopc-delimiter span {
  display: block;
}

.proopc-finalpage.bagful-opc .proopc-shipments fieldset,
.proopc-finalpage.bagful-opc .proopc-payments fieldset {
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr);
  column-gap: 12px;
  row-gap: 16px;
  align-items: start;
  padding: 0 !important;
}

.proopc-finalpage.bagful-opc .proopc-shipments fieldset > .clear,
.proopc-finalpage.bagful-opc .proopc-payments fieldset > .clear,
.proopc-finalpage.bagful-opc .proopc-shipments fieldset > br,
.proopc-finalpage.bagful-opc .proopc-payments fieldset > br {
  display: none !important;
}

.proopc-finalpage.bagful-opc .proopc-shipments input[type="radio"],
.proopc-finalpage.bagful-opc .proopc-payments input[type="radio"] {
  float: none !important;
  margin: 6px 0 0 !important;
  width: 18px;
  height: 18px;
  align-self: start;
}

.proopc-finalpage.bagful-opc .proopc-shipments label,
.proopc-finalpage.bagful-opc .proopc-payments label {
  float: none !important;
  display: block !important;
  max-width: none !important;
  width: auto !important;
  margin: 0 !important;
  font-size: 14px;
  line-height: 1.45;
}

.proopc-finalpage.bagful-opc .proopc-shipments label .vmshipment_name,
.proopc-finalpage.bagful-opc .proopc-payments label .vmpayment_name,
.proopc-finalpage.bagful-opc .proopc-shipments label strong,
.proopc-finalpage.bagful-opc .proopc-payments label strong {
  display: block;
  margin: 0 0 6px;
  font-size: 14px;
  line-height: 1.35;
  font-weight: 700;
}

.proopc-finalpage.bagful-opc .proopc-shipments .vmshipment_description,
.proopc-finalpage.bagful-opc .proopc-shipments .vmshipment_desc,
.proopc-finalpage.bagful-opc .proopc-payments .vmpayment_description,
.proopc-finalpage.bagful-opc .proopc-payments .vmpayment_desc {
  display: block;
  margin-top: 6px;
  color: var(--bagful-muted);
  font-size: 12px;
  line-height: 1.45;
}

.proopc-finalpage.bagful-opc #proopc-shipment-form .inner-wrap,
.proopc-finalpage.bagful-opc #proopc-payment-form .inner-wrap {
  padding: 0;
}

.proopc-finalpage.bagful-opc .bagful-opc-card-body {
  padding: 26px 20px 22px;
}

.proopc-finalpage.bagful-opc .bagful-opc-card--summary .bagful-opc-card-body,
.proopc-finalpage.bagful-opc .bagful-opc-card--confirm .bagful-opc-card-body {
  padding-left: 22px;
  padding-right: 22px;
}


/* v7 rebuilt fixes */
.proopc-finalpage.bagful-opc .bagful-opc-col--right {
  margin-left: 10px;
}

.proopc-finalpage.bagful-opc .proopc-confirm-order .cart-tos-group > .bagful-inline-check .terms-of-service-cont > a.terms-of-service {
  font-weight: 600;
}

.proopc-finalpage.bagful-opc .proopc-confirm-order .cart-tos-group > .tos-title,
.proopc-finalpage.bagful-opc .proopc-confirm-order .cart-tos-group > .field-title,
.proopc-finalpage.bagful-opc .proopc-confirm-order .cart-tos-group > .proopc-delimiter,
.proopc-finalpage.bagful-opc .proopc-confirm-order .bagful-tos-group > .tos-title,
.proopc-finalpage.bagful-opc .proopc-confirm-order .bagful-tos-group > .field-title,
.proopc-finalpage.bagful-opc .proopc-confirm-order .bagful-tos-group > .proopc-delimiter {
  display: none !important;
}

.proopc-finalpage.bagful-opc .proopc-confirm-order .cart-tos-group,
.proopc-finalpage.bagful-opc .proopc-confirm-order .bagful-tos-group {
  margin-top: 12px;
}



/* v9 coupon compact row + original TOS text/link restoration */
.proopc-finalpage.bagful-opc .proopc-coupon .inner-wrap {
  padding: 0;
}

.proopc-finalpage.bagful-opc .proopc-coupon .proopc-input-append {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: nowrap;
}

.proopc-finalpage.bagful-opc .proopc-coupon #proopc-coupon-code {
  flex: 1 1 auto;
  width: auto;
  max-width: 320px;
  margin: 0;
}

.proopc-finalpage.bagful-opc .proopc-coupon #proopc-task-savecoupon {
  flex: 0 0 auto;
  min-width: 115px;
  width: auto;
  margin: 0;
}

.proopc-finalpage.bagful-opc .proopc-confirm-order .cart-tos-group label.checkbox,
.proopc-finalpage.bagful-opc .proopc-confirm-order .cart-tos-group .prooopc-tos-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.proopc-finalpage.bagful-opc .proopc-confirm-order .cart-tos-group .terms-of-service-cont {
  display: inline;
}

.proopc-finalpage.bagful-opc .proopc-confirm-order .cart-tos-group .terms-of-service-cont a.terms-of-service {
  color: var(--bagful-text);
  font-weight: 600;
  text-decoration: none;
}


/* v10 fixes */
.bagful-coupon-row {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: nowrap;
}

.bagful-coupon-row #proopc-coupon-code {
    flex: 0 1 220px;
    max-width: 220px;
}

.bagful-coupon-row #proopc-task-savecoupon {
    flex: 0 0 auto;
    margin-left: 0;
}

.cart-tos-group .terms-of-service-cont,
.cart-tos-group .terms-of-service-cont a {
    display: inline;
}

.cart-tos-group .prooopc-tos-label {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.cart-tos-group .prooopc-tos-label input[type="checkbox"] {
    margin-top: 3px;
    flex: 0 0 auto;
}

.cart-tos-group .terms-of-service {
    font-weight: 700;
}


/* v11 fixes: tighter controls + dropdown overlay */
.proopc-finalpage.bagful-opc .bagful-opc-card,
.proopc-finalpage.bagful-opc .bagful-opc-card-body,
.proopc-finalpage.bagful-opc .proopc-bt-address,
.proopc-finalpage.bagful-opc .proopc-coupon,
.proopc-finalpage.bagful-opc .proopc-confirm-order {
  overflow: visible;
}

.proopc-finalpage.bagful-opc .delivery-office,
.proopc-finalpage.bagful-opc .delivery-address,
.proopc-finalpage.bagful-opc .cart-zip-group,
.proopc-finalpage.bagful-opc .cart-city-group,
.proopc-finalpage.bagful-opc .address-group,
.proopc-finalpage.bagful-opc .proopc-field {
  position: relative;
  overflow: visible;
}

.proopc-finalpage.bagful-opc .ui-autocomplete,
.proopc-finalpage.bagful-opc .ui-menu,
.proopc-finalpage.bagful-opc .autocomplete-suggestions,
.proopc-finalpage.bagful-opc .autocomplete-suggestion,
.proopc-finalpage.bagful-opc .chzn-drop,
.proopc-finalpage.bagful-opc .chosen-drop,
.proopc-finalpage.bagful-opc .vm-chzn-select + .chzn-container .chzn-drop,
.proopc-finalpage.bagful-opc .vm-chzn-select + .chosen-container .chosen-drop {
  z-index: 99999 !important;
}

.proopc-finalpage.bagful-opc .ui-autocomplete,
.proopc-finalpage.bagful-opc .ui-menu,
.proopc-finalpage.bagful-opc .autocomplete-suggestions,
.proopc-finalpage.bagful-opc .chzn-drop,
.proopc-finalpage.bagful-opc .chosen-drop {
  overflow: visible !important;
  max-height: min(320px, 50vh);
  border: 1px solid var(--bagful-border-strong);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(17,17,17,.12);
}


/* v12 cart summary accordion */
.proopc-finalpage.bagful-opc .bagful-cart-summary-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 132px 96px 38px;
  gap: 12px;
  align-items: center;
  padding: 0 0 14px;
  border-bottom: 1px solid #ece6e0;
}
.proopc-finalpage.bagful-opc .bagful-cart-summary-head > div {
  color: var(--bagful-text);
  font-size: 13px;
  font-weight: 700;
}
.proopc-finalpage.bagful-opc .bagful-cart-head-qty,
.proopc-finalpage.bagful-opc .bagful-cart-head-total {
  text-align: center;
}
.proopc-finalpage.bagful-opc .bagful-cart-items { margin-top: 10px; }
.proopc-finalpage.bagful-opc .bagful-cart-item {
  margin: 0;
  border-bottom: 1px solid #efe7e0;
}
.proopc-finalpage.bagful-opc .bagful-cart-item:last-child { border-bottom: 0; }
.proopc-finalpage.bagful-opc .bagful-cart-item summary {
  list-style: none;
}
.proopc-finalpage.bagful-opc .bagful-cart-item summary::-webkit-details-marker { display: none; }
.proopc-finalpage.bagful-opc .bagful-cart-item-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 132px 96px 38px;
  gap: 12px;
  align-items: start;
  padding: 16px 0;
  cursor: pointer;
}
.proopc-finalpage.bagful-opc .bagful-cart-item-main { min-width: 0; }
.proopc-finalpage.bagful-opc .bagful-cart-item-title,
.proopc-finalpage.bagful-opc .bagful-cart-item-title a {
  color: var(--bagful-text);
  font-size: 15px;
  line-height: 1.45;
  font-weight: 700;
  text-decoration: none;
}
.proopc-finalpage.bagful-opc .bagful-cart-item-qty,
.proopc-finalpage.bagful-opc .bagful-cart-item-total {
  padding-top: 2px;
  text-align: right;
  font-size: 15px;
  font-weight: 700;
}
.proopc-finalpage.bagful-opc .bagful-cart-item-qty {
  padding-top: 0;
}
.proopc-finalpage.bagful-opc .bagful-qty-controls {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 112px;
}
.proopc-finalpage.bagful-opc .bagful-qty-input {
  width: 44px;
  height: 34px;
  margin: 0;
  padding: 0 4px;
  border: 1px solid #e6ddd6;
  border-radius: 12px;
  background: #fff;
  color: var(--bagful-text);
  font-size: 14px;
  font-weight: 700;
  line-height: 34px;
  text-align: center;
  appearance: textfield;
  -moz-appearance: textfield;
}
.proopc-finalpage.bagful-opc .bagful-qty-input::-webkit-outer-spin-button,
.proopc-finalpage.bagful-opc .bagful-qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.proopc-finalpage.bagful-opc .bagful-qty-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid #e6ddd6;
  border-radius: 12px;
  background: #f7f4f1;
  color: var(--bagful-text);
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}
.proopc-finalpage.bagful-opc .bagful-qty-btn:hover {
  background: #efe9e3;
}
.proopc-finalpage.bagful-opc .bagful-cart-item-toggle {
  position: relative;
  width: 28px;
  height: 28px;
  border-radius: 10px;
  background: #f3f1ee;
}
.proopc-finalpage.bagful-opc .bagful-cart-item-toggle::before,
.proopc-finalpage.bagful-opc .bagful-cart-item-toggle::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 12px;
  height: 2px;
  background: #141414;
  border-radius: 999px;
  transform: translate(-50%, -50%);
}
.proopc-finalpage.bagful-opc .bagful-cart-item-toggle::after {
  width: 2px;
  height: 12px;
}
.proopc-finalpage.bagful-opc .bagful-cart-item[open] .bagful-cart-item-toggle::after {
  display: none;
}
.proopc-finalpage.bagful-opc .bagful-cart-item-details {
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr);
  gap: 18px;
  padding: 0 0 18px;
}
.proopc-finalpage.bagful-opc .bagful-cart-item-details.no-image {
  grid-template-columns: minmax(0, 1fr);
}
.proopc-finalpage.bagful-opc .bagful-cart-item-media-frame {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 160px;
  padding: 12px;
  border: 1px solid #ece6e0;
  border-radius: 18px;
  background: #faf9f7;
}
.proopc-finalpage.bagful-opc .bagful-cart-item-media img {
  max-width: 100%;
  height: auto;
}
.proopc-finalpage.bagful-opc .bagful-cart-item-customfields {
  color: var(--bagful-text);
  font-size: 14px;
  line-height: 1.6;
}
.proopc-finalpage.bagful-opc .bagful-cart-item-customfields > *:first-child { margin-top: 0; }
.proopc-finalpage.bagful-opc .bagful-cart-item-customfields > *:last-child { margin-bottom: 0; }
.proopc-finalpage.bagful-opc .bagful-cart-item-meta {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #ece6e0;
}
.proopc-finalpage.bagful-opc .bagful-cart-meta-row,
.proopc-finalpage.bagful-opc .bagful-cart-total-row {
  display: flex;
  align-items: flex-start;
  justify-content: end;
  gap: 16px;
}
.proopc-finalpage.bagful-opc .bagful-cart-meta-row + .bagful-cart-meta-row,
.proopc-finalpage.bagful-opc .bagful-cart-total-row + .bagful-cart-total-row {
  margin-top: 10px;
}
.proopc-finalpage.bagful-opc .bagful-cart-meta-row span,
.proopc-finalpage.bagful-opc .bagful-cart-total-label {
  color: var(--bagful-text);
  font-size: 14px;
  line-height: 1.5;
}
.proopc-finalpage.bagful-opc .bagful-cart-meta-row strong,
.proopc-finalpage.bagful-opc .bagful-cart-total-value {
  color: var(--bagful-text);
  font-size: 14px;
  line-height: 1.5;
  font-weight: 700;
  text-align: right;
}
.proopc-finalpage.bagful-opc .bagful-cart-totals {
  margin-top: 12px;
  padding-top: 18px;
  border-top: 1px solid #ece6e0;
}
.proopc-finalpage.bagful-opc .bagful-cart-total-row--grand {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #ece6e0;
}
.proopc-finalpage.bagful-opc .bagful-cart-total-row--grand .bagful-cart-total-label,
.proopc-finalpage.bagful-opc .bagful-cart-total-row--grand .bagful-cart-total-value {
  font-size: 18px;
  font-weight: 700;
}
.proopc-finalpage.bagful-opc .bagful-cart-tax-title {
  margin: 14px 0 10px;
  color: var(--bagful-text);
  font-size: 14px;
  font-weight: 700;
}
.proopc-finalpage.bagful-opc .bagful-cart-tax-note {
  display: block;
  margin-top: 6px;
  color: var(--bagful-muted);
}
@media (max-width: 1199px) {
  .proopc-finalpage.bagful-opc .bagful-cart-item-details {
    grid-template-columns: 140px minmax(0, 1fr);
  }
}
@media (max-width: 767px) {
  .proopc-finalpage.bagful-opc .bagful-cart-summary-head,
  .proopc-finalpage.bagful-opc .bagful-cart-item-summary {
    grid-template-columns: minmax(0, 1fr) 112px 84px 32px;
    gap: 8px;
  }
  .proopc-finalpage.bagful-opc .bagful-qty-controls {
    min-width: 112px;
    gap: 4px;
  }
  .proopc-finalpage.bagful-opc .bagful-qty-btn {
    width: 30px;
    height: 30px;
    border-radius: 10px;
    font-size: 18px;
  }
  .proopc-finalpage.bagful-opc .bagful-qty-input {
    width: 40px;
    height: 30px;
    border-radius: 10px;
    line-height: 30px;
    font-size: 13px;
  }
  .proopc-finalpage.bagful-opc .bagful-cart-item-details,
  .proopc-finalpage.bagful-opc .bagful-cart-item-details.no-image {
    grid-template-columns: 1fr;
  }
  .proopc-finalpage.bagful-opc .bagful-cart-item-media-frame {
    min-height: 120px;
  }
}


/* v14 quantity controls refinements */
.proopc-finalpage.bagful-opc .bagful-qty-controls {
  display: inline-flex;
  align-items: center;
}
.proopc-finalpage.bagful-opc .bagful-qty-btn,
.proopc-finalpage.bagful-opc .bagful-qty-input {
  min-height: 40px;
  border-radius: 12px;
}
.proopc-finalpage.bagful-opc .bagful-qty-btn {
  min-width: 40px;
  padding: 0;
  border: 1px solid #d9cec3;
  background: transparent;
  box-shadow: none;
}
.proopc-finalpage.bagful-opc .bagful-qty-btn:hover,
.proopc-finalpage.bagful-opc .bagful-qty-btn:focus {
  background: #f3ece6;
}
.proopc-finalpage.bagful-opc .bagful-qty-input {
  width: 45px;
  padding: 0 10px;
  text-align: center;
}


/* v15 cart controls refinements */
.proopc-finalpage.bagful-opc input[type="text"],
.proopc-finalpage.bagful-opc input[type="email"],
.proopc-finalpage.bagful-opc input[type="tel"],
.proopc-finalpage.bagful-opc input[type="number"],
.proopc-finalpage.bagful-opc input[type="password"],
.proopc-finalpage.bagful-opc select,
.proopc-finalpage.bagful-opc textarea,
.proopc-finalpage.bagful-opc .chzn-container-single .chzn-single,
.proopc-finalpage.bagful-opc .chosen-container-single .chosen-single,
.proopc-finalpage.bagful-opc .vm-chzn-select,
.proopc-finalpage.bagful-opc .inputbox {
  min-height: 40px;
}
.proopc-finalpage.bagful-opc .bagful-qty-btn {
  min-width: 28px;
  border: none;
}
.proopc-finalpage.bagful-opc .bagful-qty-btn:hover,
.proopc-finalpage.bagful-opc .bagful-qty-btn:focus {
  border: 1px solid #d9cec3;
}
.proopc-finalpage.bagful-opc .bagful-cart-item-toggle {
  top: 5px;
}
.proopc-finalpage.bagful-opc .bagful-cart-item-actions {
  display: inline-flex;
  align-items: flex-start;
  justify-content: flex-end;
  gap: 8px;
  padding-top: 0;
}
.proopc-finalpage.bagful-opc .bagful-cart-delete {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  min-width: 28px;
  height: 28px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  box-shadow: none;
  color: var(--bagful-text);
  cursor: pointer;
}
.proopc-finalpage.bagful-opc .bagful-cart-delete::before,
.proopc-finalpage.bagful-opc .bagful-cart-delete::after {
  content: '';
  position: absolute;
  width: 12px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
}
.proopc-finalpage.bagful-opc .bagful-cart-delete {
  position: relative;
}
.proopc-finalpage.bagful-opc .bagful-cart-delete::before {
  transform: rotate(45deg);
}
.proopc-finalpage.bagful-opc .bagful-cart-delete::after {
  transform: rotate(-45deg);
}
.proopc-finalpage.bagful-opc .bagful-cart-delete:hover,
.proopc-finalpage.bagful-opc .bagful-cart-delete:focus {
  border-color: #d9cec3;
  background: #f3ece6;
}
@media (max-width: 767px) {
  .proopc-finalpage.bagful-opc .bagful-cart-item-actions {
    gap: 6px;
  }
}


/* v16: move delete under total and restyle as trash icon */
.proopc-finalpage.bagful-opc .bagful-cart-item-summary {
  grid-template-columns: minmax(0, 1fr) 132px 110px 38px;
}
.proopc-finalpage.bagful-opc .bagful-cart-item-total-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 10px;
  padding-top: 8px;
}
.proopc-finalpage.bagful-opc .bagful-cart-item-delete-row {
  display: flex;
  justify-content: flex-end;
  width: 100%;
}
.proopc-finalpage.bagful-opc .bagful-cart-item-actions {
  padding-top: 0;
  gap: 0;
}
.proopc-finalpage.bagful-opc .bagful-cart-delete {
  position: relative;
  width: 28px;
  min-width: 28px;
  height: 28px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
}
.proopc-finalpage.bagful-opc .bagful-cart-delete::before,
.proopc-finalpage.bagful-opc .bagful-cart-delete::after {
  content: none;
}
.proopc-finalpage.bagful-opc .bagful-cart-delete .bagful-trash-icon,
.proopc-finalpage.bagful-opc .bagful-cart-delete svg {
  display: none;
}
.proopc-finalpage.bagful-opc .bagful-cart-delete {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23141414' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M8 6V4h8v2'/%3E%3Cpath d='M19 6l-1 14H6L5 6'/%3E%3Cpath d='M10 11v6'/%3E%3Cpath d='M14 11v6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px 16px;
}
.proopc-finalpage.bagful-opc .bagful-cart-delete:hover,
.proopc-finalpage.bagful-opc .bagful-cart-delete:focus {
  border-color: #d9cec3;
  background-color: #f3ece6;
}
@media (max-width: 767px) {
  .proopc-finalpage.bagful-opc .bagful-cart-item-summary {
    grid-template-columns: minmax(0, 1fr) 104px 86px 34px;
  }
  .proopc-finalpage.bagful-opc .bagful-cart-item-total-wrap {
    gap: 8px;
  }
}


/* v17: move toggle under title as ellipsis, use delete button on right */
.proopc-finalpage.bagful-opc .bagful-cart-item-summary {
  grid-template-columns: minmax(0, 1fr) 132px 110px 34px;
}
.proopc-finalpage.bagful-opc .bagful-cart-item-main {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
.proopc-finalpage.bagful-opc .bagful-cart-item-toggle-row {
  display: flex;
  align-items: center;
}
.proopc-finalpage.bagful-opc .bagful-cart-item-toggle {
  position: static;
  top: auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 22px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
}
.proopc-finalpage.bagful-opc .bagful-cart-item-toggle::before,
.proopc-finalpage.bagful-opc .bagful-cart-item-toggle::after {
  content: none;
}
.proopc-finalpage.bagful-opc .bagful-cart-item-toggle {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='6' viewBox='0 0 16 6' fill='none'%3E%3Ccircle cx='2' cy='3' r='1.5' fill='%23141414'/%3E%3Ccircle cx='8' cy='3' r='1.5' fill='%23141414'/%3E%3Ccircle cx='14' cy='3' r='1.5' fill='%23141414'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 16px 6px;
}
.proopc-finalpage.bagful-opc .bagful-cart-item-actions {
  align-items: flex-start;
  justify-content: flex-end;
  padding-top: 0;
}
.proopc-finalpage.bagful-opc .bagful-cart-delete {
  margin-top: 0;
}
.proopc-finalpage.bagful-opc .bagful-cart-item[open] .bagful-cart-item-toggle {
  border-color: #d9cec3;
  background-color: #f3ece6;
}
@media (max-width: 767px) {
  .proopc-finalpage.bagful-opc .bagful-cart-item-summary {
    grid-template-columns: minmax(0, 1fr) 104px 86px 30px;
  }
}
