.product-customization.ngsb-customization-enhanced .card {
  border: 1px solid #d9e2e8;
  border-radius: .5rem;
  box-shadow: 0 2px 8px rgba(35, 50, 60, .06);
  padding: 1.25rem;
}
.product-customization.ngsb-customization-enhanced .card-title {
  color: #263238;
  font-size: 1.15rem;
  font-weight: 700;
  margin-bottom: .35rem;
}
.product-customization.ngsb-customization-enhanced .card-title + p {
  color: #5f6f78;
  font-size: .95rem;
  margin-bottom: 1rem;
}
.product-customization.ngsb-customization-enhanced .form-group > label {
  color: #263238;
  display: block;
  font-size: .95rem;
  font-weight: 650;
  margin-bottom: .45rem;
}
.product-customization.ngsb-customization-enhanced .form-group > label .text-muted {
  font-size: .78rem;
  font-weight: 500;
}
.ngsb-customization-field {
  background: #f8fafb;
  border: 1px solid #e1e7ea;
  border-radius: .45rem;
  margin-bottom: .85rem;
  padding: 1rem;
}
.ngsb-customization-text .product-message {
  background: #fff;
  border: 1px solid #bac6cc;
  border-radius: .35rem;
  box-shadow: none;
  line-height: 1.45;
  min-height: 7rem;
  padding: .75rem;
  resize: vertical;
}
.ngsb-customization-text .product-message:focus {
  border-color: #ee4d2d;
  box-shadow: 0 0 0 3px rgba(238, 77, 45, .14);
}
.ngsb-character-counter {
  color: #718089;
  display: block;
  font-size: .78rem;
  margin-top: .35rem;
  text-align: right;
}
.ngsb-customization-file .custom-file {
  margin-bottom: .35rem;
}
.ngsb-customization-file .custom-file-label {
  background: #fff;
  border-color: #bac6cc;
  border-radius: .35rem;
  cursor: pointer;
  overflow: hidden;
  padding-right: 7.5rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ngsb-file-preview {
  align-items: center;
  background: #fff;
  border: 1px solid #dce3e7;
  border-radius: .35rem;
  display: flex;
  gap: .75rem;
  padding: .65rem;
}
.ngsb-file-preview img {
  border-radius: .25rem;
  height: 64px;
  object-fit: cover;
  width: 64px;
}
.ngsb-save-customization {
  min-height: 44px;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}
.ngsb-product-acceptance { margin-bottom: .75rem; }
.ngsb-acceptance-option {
  align-items: flex-start;
  background: #fff;
  border: 2px solid #cfd8dc;
  border-radius: .45rem;
  cursor: pointer;
  display: flex;
  gap: .75rem;
  padding: 1rem;
  transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.ngsb-acceptance-option:hover { border-color: #90a4ae; }
.ngsb-acceptance-option.is-checked { background: #f1fbf5; border-color: #2e8b57; }
.ngsb-acceptance-option:focus-within { box-shadow: 0 0 0 3px rgba(238, 77, 45, .18); }
.ngsb-acceptance-option label {
  color: #263238;
  cursor: pointer;
  flex: 1;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
  margin: 0;
}
.ngsb-product-acceptance-checkbox {
  accent-color: #2e8b57;
  cursor: pointer;
  flex: 0 0 auto;
  height: 1.35rem;
  margin: .05rem 0 0;
  width: 1.35rem;
}
.ngsb-acceptance-status {
  font-size: .9rem;
  font-weight: 600;
  margin: .75rem 0 0;
  min-height: 1.25rem;
}
.ngsb-acceptance-status.is-saving { color: #607d8b; }
.ngsb-acceptance-status.is-pending { color: #607d8b; font-weight: 500; }
.ngsb-acceptance-status.is-success { color: #237a45; }
.ngsb-acceptance-status.is-success::before { content: '\2713\00a0'; }
.ngsb-acceptance-status.is-error { color: #b3261e; }
.ngsb-confirmations { margin-top: .65rem; }
.ngsb-confirmations-title {
  color: #455a64;
  display: block;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .02em;
  margin-bottom: .25rem;
  text-transform: uppercase;
}
.ngsb-confirmation-line {
  align-items: flex-start;
  color: #237a45;
  display: flex;
  font-size: .9rem;
  gap: .4rem;
  line-height: 1.35;
  margin-bottom: .2rem;
}
.ngsb-confirmation-line::before { content: '\2713'; font-weight: 800; }
.ngsb-cart-customization {
  background: #f8fafb;
  border: 1px solid #dfe6e9;
  border-radius: .4rem;
  margin-top: .65rem;
  padding: .7rem .8rem;
}
.ngsb-cart-customization-title {
  color: #455a64;
  display: block;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .02em;
  margin-bottom: .4rem;
  text-transform: uppercase;
}
.ngsb-cart-customization-row {
  color: #34434b;
  display: grid;
  font-size: .86rem;
  gap: .15rem;
  grid-template-columns: minmax(90px, 35%) 1fr;
  line-height: 1.35;
  padding: .25rem 0;
}
.ngsb-cart-customization-label { color: #68777f; font-weight: 600; }
.ngsb-cart-customization-value { overflow-wrap: anywhere; }
.ngsb-cart-customization-image {
  border: 1px solid #d7dfe3;
  border-radius: .25rem;
  height: 52px;
  object-fit: cover;
  width: 52px;
}
.ngsb-cart-customization .ngsb-confirmation-line { margin-top: .25rem; }
.ngsb-mini-cart-customizations > ul,
.ngsb-mini-cart-customizations > ul > li { margin-bottom: 0; }
.ngsb-mini-cart-customizations .ngsb-cart-customization { padding: .55rem .65rem; }
.ngsb-mini-cart-customization-row {
  display: grid;
  font-size: .78rem;
  gap: .1rem;
  margin-bottom: .35rem;
}
.ngsb-mini-cart-customization-row:last-child { margin-bottom: 0; }
.ngsb-mini-cart-customizations .ngsb-confirmation-line { font-size: .78rem; }
@media (max-width: 575px) {
  .ngsb-cart-customization-row { grid-template-columns: 1fr; }
}
