/* Audio System Builder: maintained component styles. */
.asb-wrapper,.asb-modal-overlay,.asb-variation-picker,.tdkb-app{--asb-primary:#0056b3;--asb-primary-dark:#004085;--asb-accent:#e53e3e;--asb-text:#1a202c;--asb-text-muted:#64748b;--asb-bg-card:#ffffff;--asb-bg-modal:#ffffff;--asb-border:#e2e8f0;--asb-cart-btn:#0757df;--asb-pdf-btn:#0757df;--asb-font-scale:1;--asb-radius:4px;--asb-spacing:10px;--asb-shadow:none;--asb-transition:all .25s ease;--asb-card-min-h:205px;--asb-modal-max-w:1100px;--asb-modal-h:86vh;}
.asb-wrapper,.asb-wrapper *,.asb-modal-overlay,.asb-modal-overlay *,.asb-variation-picker,.asb-variation-picker * {
  box-sizing: border-box;
}
.asb-wrapper {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  color: var(--asb-text, #202b3a);
  font-family: inherit;
  font-size: calc(1em * var(--asb-font-scale, 1));
  line-height: 1.5;
  container-type: inline-size;
}
.asb-wrapper button,.asb-modal-overlay button,.asb-variation-picker button {
  font: inherit;
}
.asb-input-pid {
  display: none !important;
}
.asb-btn-choose-variation {
  border: 0;
  border-radius: 8px;
  background: var(--asb-primary, #075bb5);
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.25;
  text-align: center;
  cursor: pointer;
  transition: background var(--asb-transition), box-shadow var(--asb-transition), transform var(--asb-transition), opacity var(--asb-transition);
}
.asb-btn-choose-variation:hover:not(:disabled) {
  background: var(--asb-primary-dark, #064991);
  box-shadow: 0 5px 13px rgba(7, 91, 181, .2);
}
.asb-btn-choose-variation:disabled {
  opacity: .5;
  cursor: not-allowed;
}
.asb-summary-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  border: 1px solid var(--asb-border, #e1e7ef);
  background: #fff;
}
.asb-total-price span {
  font-weight: 500;
}
.asb-action-btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.asb-action-btns button,.asb-modal-body .asb-btn-pdf {
  min-height: 42px;
  padding: 10px 15px;
  border: 0;
  border-radius: 8px;
  color: #fff;
  font: inherit;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.3;
  cursor: pointer;
  transition: filter var(--asb-transition), transform var(--asb-transition);
}
.asb-action-btns button:hover,.asb-modal-body .asb-btn-pdf:hover {
  filter: brightness(.93);
}
.asb-action-btns button:active {
  transform: translateY(1px);
}
.asb-btn-cart {
  background: var(--asb-cart-btn, #16845b);
  color: #fff;
}
.asb-btn-pdf {
  background: var(--asb-pdf-btn, #075bb5);
  color: #fff;
}
.asb-variation-picker {
  position: fixed;
  z-index: 100000;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: rgba(12,22,38,.62);
}
.asb-variation-picker-inner {
  width: min(560px, 96vw);
  max-height: min(88vh, 760px);
  overflow: auto;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
}
.asb-variation-picker-head {
  position: sticky;
  z-index: 1;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 16px;
  border-bottom: 1px solid #e7edf4;
  background: #f8fafc;
  color: var(--asb-text, #202b3a);
  font-size: 15px;
}
.asb-variation-close {
  border: 0;
  background: transparent;
  color: #64748b;
  font-size: 27px;
  line-height: 1;
  cursor: pointer;
}
.asb-variation-product {
  padding: 12px 16px;
  background: #f8fafc;
  color: #334155;
  font-weight: 500;
}
.asb-variation-list {
  padding: 8px 16px 16px;
}
.asb-variation-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 13px 2px;
  border-bottom: 1px solid #edf1f5;
}
.asb-variation-row > div {
  min-width: 0;
  flex: 1;
}
.asb-variation-row strong {
  display: block;
  color: #1e293b;
  font-size: 14px;
  line-height: 1.35;
}
.asb-variation-meta {
  margin-top: 5px;
  color: #64748b;
  font-size: 13px;
}
.asb-variation-qty {
  margin-left: 6px;
  color: #027a48;
  font-weight: 500;
}
.asb-btn-choose-variation {
  min-height: 38px;
  padding: 8px 15px;
  flex: 0 0 auto;
}
.asb-variation-row.is-disabled {
  background: #fafafa;
  opacity: .72;
}
.asb-variation-empty,.asb-variation-loading {
  padding: 24px 12px;
  color: #64748b;
  text-align: center;
}
@media (max-width: 820px) {
  .asb-wrapper {
    padding-right: 5px;
    padding-left: 5px;
  }
  .asb-summary-bar {
    align-items: stretch;
    flex-direction: column;
  }
  .asb-total-price {
    text-align: center;
  }
  .asb-action-btns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .asb-action-btns button {
    width: 100%;
    min-width: 0;
    padding: 10px 8px;
  }
}
@media (max-width: 600px) {
  .asb-wrapper {
    padding-right: 4px;
    padding-left: 4px;
  }
  .asb-total-price {
    line-height: 1.45;
  }
  .asb-action-btns button {
    min-height: 44px;
    font-size: 11px;
  }
  .asb-variation-picker {
    padding: 8px;
  }
  .asb-variation-picker-inner {
    width: 100%;
    max-height: 92dvh;
  }
  .asb-variation-row {
    align-items: flex-start;
    gap: 9px;
  }
  .asb-btn-choose-variation {
    min-height: 36px;
    padding: 7px 11px;
  }
}
@media (max-width: 360px) {
  .asb-action-btns {
    grid-template-columns: 1fr;
  }
}
@media (prefers-reduced-motion: reduce) {
  .asb-wrapper *,.asb-modal-overlay *,.asb-variation-picker * {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}
.asb-license-notice,.asb-requirement-message {
  margin: 0 0 16px;
  padding: 14px 16px;
  border: 1px solid #fecdca;
  border-radius: 10px;
  background: #fff5f5;
  color: #b42318;
  font-weight: 500;
  text-align: center;
}
.asb-compatibility-status {
  flex: 1 0 100%;
  padding: 10px 12px;
  border: 1px solid #d0d5dd;
  border-radius: 8px;
  background: #f8fafc;
  color: #344054;
  font-size: 13px;
  line-height: 1.5;
}
.asb-compatibility-status.is-ok {
  border-color: #abefc6;
  background: #ecfdf3;
  color: #067647;
}
.asb-compatibility-status.is-warning {
  border-color: #fedf89;
  background: #fffaeb;
  color: #b54708;
}
.asb-compatibility-status.is-error {
  border-color: #fecdca;
  background: #fff5f5;
  color: #b42318;
}
.asb-compatibility-status ul {
  margin: 5px 0 0;
  padding-left: 18px;
}
.asb-wrapper,.asb-wrapper *,.asb-modal-overlay,.asb-modal-overlay *,.asb-variation-picker,.asb-variation-picker * {
  text-transform: none !important;
}
.asb-wrapper *::first-letter,.asb-modal-overlay *::first-letter,.asb-variation-picker *::first-letter {
  text-transform: none !important;
}
.asb-wrapper {
  padding: 0;
}
.asb-summary-bar {
  gap: 14px;
  padding: 15px 17px;
  border-color: #e2e8f0;
  border-radius: 16px;
  box-shadow: 0 5px 16px rgba(31, 45, 68, .06);
}
.asb-total-price {
  color: #26344d;
  font-size: 15px;
  font-weight: 500;
}
.asb-total-price span {
  color: #f05012;
  font-size: 20px;
}
.asb-action-btns {
  gap: 8px;
}
.asb-wrapper .asb-action-btns .asb-btn-cart {
  border-radius: 6px;
  background: #0757df;
  color: #fff;
}
.asb-wrapper .asb-action-btns .asb-btn-pdf {
  border-radius: 6px;
  background: #eef4ff;
  color: #0757df;
  border:1px solid #cfddf3;
}
.asb-wrapper .asb-action-btns button {
  min-height: 42px;
  padding: 10px 14px;
  font-size: 12px;
}
@media (max-width: 820px) {
  .asb-wrapper {
    padding: 0;
  }
}
@media (max-width: 600px) {
  .asb-wrapper {
    padding: 0;
  }
  .asb-summary-bar {
    gap: 10px;
    padding: 11px;
    border-radius: 12px;
  }
  .asb-total-price {
    font-size: 13px;
  }
  .asb-total-price span {
    display: inline;
    font-size: 17px;
  }
  .asb-action-btns {
    gap: 7px;
  }
  .asb-wrapper .asb-action-btns button {
    min-height: 42px;
    padding: 9px 7px;
    font-size: 10px;
  }
}
@media (max-width: 820px) {
  .gallery:has(.asb-wrapper),.row:has(.asb-wrapper) {
    display: flex;
    flex-flow: row wrap;
    width: 100%;
    max-width: 100%;
    padding: 7px;
    margin-left: 0;
    margin-right: 0;
    box-sizing: border-box;
  }
}
.asb-wrapper .asb-action-btns .asb-btn-cart,.asb-wrapper .asb-action-btns .asb-btn-pdf {
  font-size:12px!important;
  line-height:1.4;
  white-space:normal;
  min-height:48px;
}
@media (max-width:768px) {
  .asb-wrapper .asb-action-btns .asb-btn-cart,.asb-wrapper .asb-action-btns .asb-btn-pdf {
    font-size:12px!important;
  }
}
.asb-wrapper .asb-total-price {
  font-weight: 500;
}
.asb-wrapper .asb-total-price span {
  font-weight: 700;
}
.asb-wrapper .asb-quote-customer {
  margin:20px 0 18px;
  padding:18px 20px 20px;
  border:1px solid #dbe4f0;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 24px rgba(15,23,42,.04);
}
.asb-wrapper .asb-customer-heading {
  cursor:pointer;
  list-style:none;
  flex-wrap:wrap;
  display:flex;
  align-items:baseline;
  gap:8px;
  margin:0;
  font-size:13px;
  font-weight:600;
  color:#1e293b;
  letter-spacing:-0.01em;
}
.asb-wrapper .asb-customer-heading::-webkit-details-marker { display:none; }
.asb-wrapper .asb-customer-toggle { margin-left:auto; font-size:13px; color:#1565c0; }
.asb-wrapper .asb-customer-toggle::after { content:"Mở rộng +"; }
.asb-wrapper .asb-customer-details[open] .asb-customer-toggle::after { content:"Thu gọn −"; }
.asb-wrapper .asb-customer-heading em {
  font-style:normal;
  font-size:13px;
  font-weight:400;
  color:#64748b;
}
.asb-wrapper .asb-customer-grid {
  display:grid;
  grid-template-columns:1.15fr 0.8fr 1.15fr;
  gap:14px;
  margin-top:14px;
}
.asb-wrapper .asb-customer-grid input {
  width:100%;
  min-height:54px;
  margin:0;
  padding:0 16px;
  border:1px solid #d4deea;
  border-radius:12px;
  background:#ffffff;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.03);
  color:#0f172a;
  font-size:16px;
  font-weight:400;
  transition:border-color .2s ease, box-shadow .2s ease, background-color .2s ease, transform .2s ease;
}
.asb-wrapper .asb-customer-grid input::placeholder {
  color:#7b8798;
}
.asb-wrapper .asb-customer-grid input:hover {
  border-color:#c2cfdf;
  background:#fff;
}
.asb-wrapper .asb-customer-grid input:focus {
  border-color:#1d74f5;
  box-shadow:0 0 0 4px rgba(29,116,245,.12);
  outline:none;
  background:#fff;
}
@media (max-width: 1024px) {
  .asb-wrapper .asb-customer-grid {
    grid-template-columns:1fr;
    gap:12px;
  }
}
@media (max-width: 768px) {
  .asb-wrapper .asb-quote-customer {
    padding:14px;
    border-radius:12px;
    margin:16px 0;
  }
  .asb-wrapper .asb-customer-heading {
    display:flex;
    font-size:12px;
  }
  .asb-wrapper .asb-customer-heading em {
    display:block;
    margin-top:3px;
    font-size:12px;
  }
  .asb-wrapper .asb-customer-grid input {
    min-height:48px;
    font-size:15px;
    padding:0 14px;
  }
}
.asb-wrapper .asb-vat-option {
  display:flex;
  align-items:center;
  gap:10px;
  margin:16px 0 0;
  color:#334155;
  font-size:14px;
  font-weight:400;
  cursor:pointer;
}
.asb-wrapper .asb-vat-option input[type="checkbox"] {
  flex:none;
  width:19px;
  height:19px;
  min-height:19px;
  margin:0;
  accent-color:#1565c0;
  cursor:pointer;
}
.asb-wrapper .asb-vat-preview {
  margin:8px 0 0 29px;
  color:#475569;
  font-size:13px;
  font-weight:400;
  line-height:1.5;
}
.asb-wrapper .asb-cards-grid {
  display:grid;
  align-items:stretch;
}
.asb-wrapper .asb-card {
  min-width:0;
  overflow:hidden;
  text-align:center;
}
.asb-wrapper .asb-card-title {
  display:block;
  text-transform:none;
}
.asb-wrapper .asb-card-spacer {
  display:flex;
  align-items:center;
  justify-content:center;
}
.asb-wrapper .asb-plus-icon {
  display:grid;
  place-items:center;
  pointer-events:none;
}
.asb-wrapper .asb-plus-icon svg {
  display:block;
  width:35px;
  height:35px;
}
.asb-wrapper .asb-selected-thumb,.asb-wrapper .asb-selected-name,.asb-wrapper .asb-selected-price {
  display:none;
}
.asb-wrapper .has-selection .asb-selected-thumb,.asb-wrapper .has-selection .asb-selected-name,.asb-wrapper .has-selection .asb-selected-price {
  display:block;
}
.asb-wrapper .asb-selected-thumb {
  flex:0 0 auto;
  max-width:100%;
  object-position:center;
}
.asb-wrapper .asb-selected-name {
  width:100%;
  max-height:none;
  overflow:visible;
}
.asb-wrapper .asb-qty-box {
  display:none;
  width:100%;
  flex-wrap:nowrap;
  flex:0 0 auto;
}
.asb-wrapper .has-selection .asb-qty-box {
  display:flex;
}
.asb-wrapper .asb-qty-box label {
  flex:0 0 auto;
  width:auto;
  margin:0;
  color:#647997;
  font-weight:400;
}
.asb-wrapper .asb-input-qty {
  flex:0 0 60px;
  margin:0;
  border:1px solid #d2def0;
  border-radius:10px;
  background:#fff;
  color:#152d51;
  font-family:inherit;
  text-align:center;
  box-shadow:none;
  -moz-appearance:textfield;
}
.asb-wrapper .asb-input-qty:focus {
  border-color:#0757df;
  outline:2px solid #0757df22;
}
.asb-wrapper .asb-input-qty::-webkit-inner-spin-button,.asb-wrapper .asb-input-qty::-webkit-outer-spin-button {
  margin:0;
  -webkit-appearance:none;
}
.asb-wrapper .asb-btn-open-modal {
  display:block;
  width:100%;
  flex:0 0 auto;
  font-family:inherit;
  font-weight:600;
  text-transform:none;
  cursor:pointer;
  box-shadow:none;
}
.asb-wrapper .asb-btn-open-modal:hover {
  filter:brightness(.94);
}
.asb-wrapper .asb-remove-device {
  display:none;
  position:absolute;
  align-items:center;
  justify-content:center;
  margin:0;
  cursor:pointer;
  z-index:1;
}
.asb-wrapper .has-selection .asb-remove-device {
  display:flex;
}
.asb-wrapper .asb-remove-device:focus-visible {
  outline:2px solid #0757df;
  outline-offset:2px;
}
.asb-wrapper .asb-cards-grid {
  gap:10px;
  margin:0;
}
.asb-wrapper .asb-card {
  border:1px solid #dce6f5;
  border-radius:4px;
  background:#fff;
  padding:12px;
  min-height:205px;
  height:auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  position:relative;
  box-shadow:none;
}
.asb-wrapper .asb-card.has-selection {
  background:#f8faff;
}
.asb-wrapper .asb-card-title {
  font-size:12px;
  font-weight:700;
  line-height:1.4;
  min-height:32px;
  padding:0 20px 0 0;
  align-self:stretch;
  text-align:left;
  color:var(--tdkb-blue,#0757df);
  margin:0 0 8px;
}
.asb-wrapper .asb-card-spacer {
  flex:1;
  min-height:70px;
  max-height:100px;
}
.asb-wrapper .asb-plus-icon {
  width:35px;
  height:35px;
  opacity:.25;
}
.asb-wrapper .asb-plus-icon svg {
  fill:var(--tdkb-blue,#0757df);
}
.asb-wrapper .has-selection .asb-card-spacer {
  display:none;
}
.asb-wrapper .asb-selected-thumb {
  width:100%!important;
  height:80px!important;
  max-height:80px!important;
  object-fit:contain!important;
  margin:0 0 8px;
}
.asb-wrapper .asb-selected-name {
  font-size:11px;
  font-weight:600;
  line-height:1.5;
  text-align:center;
  margin:0;
  overflow-wrap:anywhere;
}
.asb-wrapper .asb-selected-price {
  font-size:12px;
  color:#f05012;
  margin:4px 0;
  font-weight:700;
}
.asb-wrapper .asb-qty-box {
  margin:6px 0;
  gap:6px;
  align-items:center;
  justify-content:center;
}
.asb-wrapper .asb-qty-box label {
  font-size:10px;
  white-space:nowrap;
}
.asb-wrapper .asb-input-qty {
  width:60px!important;
  min-width:60px!important;
  max-width:60px!important;
  height:32px;
  font-size:14px;
  padding:4px 6px;
}
.asb-wrapper .asb-btn-open-modal {
  font-size:11px!important;
  min-height:32px;
  height:auto;
  padding:7px 12px;
  line-height:1.3;
  background:var(--tdkb-blue,#0757df);
  color:#fff;
  border:0;
  border-radius:4px;
  align-self:stretch;
  margin-top:auto;
}
.asb-wrapper .asb-remove-device {
  width:26px;
  height:26px;
  min-height:26px;
  right:4px;
  top:4px;
  padding:0;
  font-size:19px;
  line-height:1;
  background:#fff1ed;
  color:#d63f24;
  border:0;
  border-radius:5px;
}
.asb-wrapper .asb-variation-picker {
  z-index:100020;
}
.asb-modal-overlay {
  position:fixed;
  z-index:100010;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  padding:18px;
  background:#152d5180;
  backdrop-filter:blur(3px);
  font-family:inherit;
}
.asb-modal-content {
  position:relative;
  display:flex;
  flex-direction:column;
  width:min(1100px,96vw);
  max-width:1100px;
  height:min(86dvh,820px);
  max-height:94dvh;
  overflow:hidden;
  border:1px solid #dfe8f5;
  border-radius:12px;
  background:#fff;
  box-shadow:0 20px 70px #152d5133;
}
.asb-modal-header {
  display:flex;
  min-height:54px;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 16px;
  border-bottom:1px solid #dfe8f5;
  background:#f5f9ff;
}
.asb-modal-header h3 {
  margin:0;
  color:#0757df;
  font-size:16px;
  font-weight:700;
  line-height:1.4;
}
.asb-modal-close {
  display:grid;
  place-items:center;
  flex:0 0 32px;
  width:32px;
  height:32px;
  min-height:32px;
  margin:0;
  padding:0;
  border:0;
  border-radius:6px;
  background:#eef4ff;
  color:#0757df;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.asb-modal-close:hover {
  background:#dfeaff;
}
.asb-modal-filter {
  display:flex;
  align-items:flex-end;
  gap:12px;
  flex-wrap:wrap;
  padding:12px 16px;
  border-bottom:1px solid #dfe8f5;
  background:#fff;
}
.asb-modal-filter .asb-brand-filter {
  display:flex;
  flex-direction:column;
  gap:5px;
  flex:0 1 240px;
  margin:0;
  color:#152d51;
  font-size:12px;
  font-weight:400;
}
.asb-modal-overlay .asb-modal-filter select,.asb-modal-overlay .asb-modal-filter input {
  height:42px;
  min-height:42px;
  margin:0;
  padding:8px 12px;
  border:1px solid #d2def0;
  border-radius:8px;
  background:#fff;
  color:#152d51;
  font-family:inherit;
  font-size:16px;
  font-weight:400;
  line-height:1.4;
  box-shadow:none;
  text-transform:none;
}
.asb-modal-filter select {
  width:100%;
}
.asb-modal-filter input {
  flex:1 1 260px;
  min-width:0;
  width:100%;
}
.asb-modal-filter input:focus,.asb-modal-filter select:focus-visible {
  border-color:#0757df;
  outline:2px solid #0757df22;
  outline-offset:0;
}
.asb-modal-body {
  min-height:0;
  padding:14px;
  overflow:auto;
  overscroll-behavior:contain;
  flex:1 1 auto;
}
.asb-modal-body p {
  margin:0 0 10px;
}
.asb-modal-overlay .asb-p-grid {
  display:grid;
  align-items:stretch;
  gap:10px;
}
.asb-p-item {
  display:flex;
  min-width:0;
  height:100%;
  flex-direction:column;
  align-items:center;
  gap:0;
  padding:12px;
  border:1px solid #dce6f5;
  border-radius:4px;
  background:#f8faff;
  text-align:center;
  box-shadow:none;
}
.asb-p-item:hover {
  border-color:#a9c6fa;
}
.asb-p-item img {
  display:block;
  width:100%;
  max-width:100%;
  height:110px;
  flex:0 0 110px;
  object-fit:contain;
  margin:0 0 10px;
}
.asb-p-item-title {
  display:-webkit-box;
  min-height:3em;
  max-height:3em;
  margin:0 0 5px;
  overflow:hidden;
  color:#152d51;
  font-size:12px;
  font-weight:600;
  line-height:1.5;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow-wrap:anywhere;
}
.asb-p-item-price {
  margin:4px 0 8px;
  color:#f05012;
  font-size:13px;
  font-weight:700;
  line-height:1.4;
}
.asb-p-item > :nth-child(4):not(.asb-stock-qty):not(.asb-stock-status):not(.asb-btn-select-prod) {
  display:-webkit-box;
  max-height:6em;
  margin:0 0 8px;
  overflow:hidden;
  color:#647997;
  font-size:11px;
  line-height:1.5;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
}
.asb-stock-qty,.asb-stock-status {
  display:inline-flex;
  align-self:center;
  align-items:center;
  width:fit-content;
  margin:0 auto 8px;
  padding:3px 7px;
  border:1px solid #cce8d2;
  border-radius:5px;
  background:#f0faee;
  color:#19723c;
  font-size:11px;
  font-weight:400;
  line-height:1.3;
}
.asb-stock-status.unavailable {
  border-color:#dfe8f5;
  background:#f3f7fc;
  color:#647997;
}
.asb-stock-status.out-of-stock {
  border-color:#f9d3ca;
  background:#fff1ed;
  color:#d63f24;
}
.asb-stock-status.backorder {
  border-color:#ffe2b5;
  background:#fff2df;
  color:#9c5d00;
}
.asb-modal-overlay .asb-p-item .asb-btn-select-prod {
  display:block;
  align-self:stretch;
  width:100%;
  min-height:34px;
  height:auto;
  margin:auto 0 0;
  padding:8px 10px;
  flex:0 0 auto;
  border:0;
  border-radius:4px;
  background:#0757df;
  color:#fff;
  font-family:inherit;
  font-size:12px;
  font-weight:600;
  line-height:1.4;
  text-transform:none;
  box-shadow:none;
  cursor:pointer;
}
.asb-modal-overlay .asb-p-item .asb-btn-select-prod:hover:not(:disabled) {
  background:#0649bd;
}
.asb-modal-overlay .asb-p-item .asb-btn-select-prod:disabled {
  background:#eef4ff;
  color:#647997;
  opacity:1;
  cursor:not-allowed;
}
.asb-modal-overlay .asb-p-item .asb-btn-select-prod[aria-busy="true"] {
  opacity:.65;
  cursor:wait;
}
.asb-btn-load-more {
  display:block;
  min-height:36px;
  margin:14px auto 0;
  padding:8px 18px;
  border:1px solid #cfddf3;
  border-radius:6px;
  background:#eef4ff;
  color:#0757df;
  font-family:inherit;
  font-size:12px;
  font-weight:600;
  cursor:pointer;
}
.asb-btn-load-more:hover {
  background:#dfeaff;
}
@media (max-width:560px) {
  .asb-modal-overlay {
    padding:6px;
  }
  .asb-modal-content {
    width:96vw;
    height:94dvh;
    max-height:94dvh;
    border-radius:9px;
  }
  .asb-modal-header {
    padding:10px 12px;
  }
  .asb-modal-header h3 {
    font-size:14px;
  }
  .asb-modal-filter {
    flex-direction:column;
    align-items:stretch;
    gap:8px;
    padding:10px 12px;
  }
  .asb-modal-filter .asb-brand-filter,.asb-modal-filter input {
    flex:0 0 auto;
    width:100%;
  }
  .asb-modal-body {
    padding:10px;
  }
  .asb-modal-overlay .asb-p-grid {
    gap:8px;
  }
  .asb-p-item {
    padding:8px;
  }
  .asb-p-item img {
    height:84px;
    flex-basis:84px;
  }
  .asb-p-item-title {
    font-size:11px;
  }
  .asb-p-item-price {
    font-size:12px;
  }
  .asb-stock-qty,.asb-stock-status {
    font-size:10px;
  }
}

/* Stable component rules; each instance supplies its own layout values. */
.asb-wrapper.asb-layout .asb-cards-grid {
  grid-template-columns: repeat(var(--asb-card-desktop, 4), minmax(0, 1fr));
}
.asb-modal-overlay.asb-layout .asb-p-grid {
  grid-template-columns: repeat(var(--asb-prod-desktop, 4), minmax(0, 1fr));
}
@media (max-width: 768px) {
  .asb-wrapper.asb-layout .asb-cards-grid {
    grid-template-columns: repeat(var(--asb-card-mobile, 2), minmax(0, 1fr));
  }
  .asb-modal-overlay.asb-layout .asb-p-grid {
    grid-template-columns: repeat(var(--asb-prod-mobile, 2), minmax(0, 1fr));
  }
}


/* Custom Builder Menu Dropdown Style matching thanhdigital.com */
.asb-builder-nav-item > a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-weight: 700 !important;
    color: #e53935 !important;
    border-bottom: 2px solid #e53935 !important;
    padding-bottom: 4px !important;
    transition: all 0.2s ease !important;
}
.asb-builder-nav-item:hover > a {
    color: #c62828 !important;
    border-bottom-color: #c62828 !important;
}
.asb-builder-nav-item .ux-menu-icon {
    width: 18px !important;
    height: 18px !important;
    vertical-align: middle !important;
}
.asb-builder-nav-item .nav-dropdown {
    min-width: 230px !important;
    background: #ffffff !important;
    border: 1px solid #e0e0e0 !important;
    border-radius: 4px !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.12) !important;
    padding: 6px 0 !important;
}
.asb-builder-nav-item .nav-dropdown li {
    border-bottom: 1px solid #f0f0f0 !important;
}
.asb-builder-nav-item .nav-dropdown li:last-child {
    border-bottom: none !important;
}
.asb-builder-nav-item .nav-dropdown li a {
    display: block !important;
    padding: 10px 16px !important;
    color: #333333 !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;
    transition: background 0.15s ease, color 0.15s ease !important;
}
.asb-builder-nav-item .nav-dropdown li a:hover {
    background: #fdf2f2 !important;
    color: #e53935 !important;
}
