:root {
  --dp-navy: #10233f;
  --dp-blue: #1472a7;
  --dp-light-blue: #f4f8fb;
  --dp-accent-blue: #1677b8;
  --dp-muted: #526178;
  --dp-light-gray: #eef2f6;
  --dp-border-gray: #D8E2EC;
  --dp-white: #ffffff;
  --dp-green: #178c3d;
  --dp-red: #dc2626;
  --dp-shadow: none;
  --dp-radius: 12px;

  /* Font Variables */
  --dp-font-flex: 'Roboto Flex', sans-serif;
  --dp-font-roboto: 'Roboto', sans-serif;
}

/* ── Base Typography Setup ── */
#dpos-wrap {
  font-family: var(--dp-font-flex); /* Main Default Font: Roboto Flex */
  color: #D8E2EC;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 24px 40px 24px;
  background: transparent;
}

/* ── Small Regular Text Overrides (13px & below -> Roboto Only) ── */
.dpos-hero-tag,
.dpos-banner-badge,
.dpos-banner-meta,
.dpos-mstep-num,
.dpos-brand-name,
.dpos-product-card-title,
.dpos-active-hint-text,
.dpos-field-title,
.dpos-checkbox-desc,
.dpos-condition-warning,
.dpos-price-status-helper,
.dpos-price-subtotal-block,
.dpos-tier-badge,
.dpos-review-meta,
.dpos-review-btn-edit,
.dpos-review-btn-delete,
.dpos-sidebar-summary-line,
.dpos-sidebar-estimate-desc,
.dpos-sidebar-prompt,
.dpos-check-desc,
.dpos-checkout-security-notice,
.dpos-footer-minimal,
.dpos-cart-item-name,
.dpos-cart-item-meta-row,
.dpos-toast {
  font-family: var(--dp-font-roboto);
}

.dpos-hidden-select {
  display: none !important;
  visibility: hidden !important;
  position: absolute !important;
}

/* ── Hero Section ── */
.dpos-hero {
  text-align: center;
  margin-bottom: 40px;
  margin-top: 10px;
}
.dpos-hero-tag {
  font-size: 13px;
  font-weight: 800;
  color: var(--dp-blue);
  letter-spacing: 1.8px;
  text-transform: uppercase;
  margin-bottom: 10px;
  display: block;
}
.dpos-hero-title {
  font-size: 44px;
  font-weight: 800;
  color: var(--dp-navy);
  margin: 0 0 12px 0;
  letter-spacing: -1px;
  line-height: 1.15;
}
.dpos-hero-subtitle {
  font-size: 16px;
  color: var(--dp-muted);
  margin: 0;
  font-weight: 500;
}

/* ── Progress step indicator ── */
.dpos-desktop-steps {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 0 auto 40px auto;
  max-width: 840px;
  background: transparent;
  border: none;
  padding: 0;
}
.dpos-dstep {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--dp-muted);
}
.dpos-dstep.active {
  color: var(--dp-blue);
  font-weight: 700;
}
.dpos-dstep.complete {
  color: var(--dp-green);
  font-weight: 700;
}
.dpos-dstep-num {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 2px solid var(--dp-border-gray);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  font-weight: 700;
  color: var(--dp-muted);
  background: var(--dp-white);
  transition: all 0.25s ease;
}
.dpos-dstep.active .dpos-dstep-num {
  background: var(--dp-blue);
  border-color: var(--dp-blue);
  color: var(--dp-white);
}
.dpos-dstep.complete .dpos-dstep-num {
  border-color: var(--dp-green);
  background: var(--dp-green);
  color: var(--dp-white);
}
.dpos-dstep.complete .dpos-simple-check {
  width: 17px;
  height: 17px;
  display: block;
}
.dpos-dstep-label {
  font-size: 15px;
}
.dpos-dstep-line {
  flex: 1;
  height: 2px;
  background: var(--dp-border-gray);
  margin: 0 20px;
}

/* ── Progress step indicator (Mobile Version) ── */
.dpos-mobile-steps {
  display: none;
  background: var(--dp-white);
  border: 1px solid var(--dp-border-gray);
  border-radius: var(--dp-radius);
  padding: 20px;
  margin-bottom: 24px;
}
.dpos-msteps-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.dpos-mstep-num-box {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--dp-accent-blue);
  color: var(--dp-white);
  display: flex;
  align-items: center;
  justify-content: center;
}
.dpos-mstep-num {
  font-size: 13px;
  font-weight: 700;
}
.dpos-mstep-title {
  font-size: 15px;
  font-weight: 600;
  color: var(--dp-blue);
}
.dpos-table-note {
  margin-top: 0px;
  font-size: 13px;
  color: var(--dp-muted);
  background: #F9FAFC;
  padding: 12px;
  border-radius: 6px;
  display: flex;
  gap: 6px;
  align-items: center;
}
.dpos-mstep-count {
  margin-left: auto;
  font-size: 14px;
  color: var(--dp-muted);
}
.dpos-msteps-progress-bg {
  height: 10px;
  background: var(--dp-light-gray);
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: 10px;
}
.dpos-msteps-progress-fill {
  height: 100%;
  width: 25%;
  background: var(--dp-accent-blue);
  border-radius: 5px;
  transition: width 0.3s ease;
}
.dpos-msteps-footer {
  font-size: 14px;
  color: var(--dp-muted);
  font-weight: 500;
}

/* ── Main columns layout ── */
.dpos-main {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 30px;
  align-items: flex-start;
}

/* ── Steps Sections ── */
.dpos-step-section {
  display: none;
  background: #FFFFFF;
  border: 1px solid #D8E2EC;
  border-radius: 12px;
  padding: 28px;
  margin-bottom: 24px;
  /* Auto layout for active state handled below */
  flex-direction: column;
  align-items: stretch;
  gap: 24px;
}
.dpos-btn-checkout:hover, 
.dpos-btn-checkout:active,
.dpos-btn-checkout:focus {
    color: #ffffff !important;
}
.dpos-step-section.active {
  display: flex;
}
.dpos-section-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 0;
  border-bottom: 1px solid var(--dp-border-gray);
  padding-bottom: 20px;
}
.dpos-section-title {
  font-size: 28px;
  font-weight: 800;
  color: var(--dp-navy);
  margin-bottom: 8px;
  letter-spacing: -0.5px;
}
.dpos-section-subtitle {
  font-size: 15px;
  color: var(--dp-muted);
  margin: 0;
  font-weight: 500;
}
.dpos-section-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  flex: 0 0 auto;
  min-width: 72px;
  min-height: 48px;
  background: var(--dp-white);
  padding: 6px 12px;
  border-radius: 12px;
  border: 3px solid var(--dp-border-gray);
  line-height: 1;
}
.dpos-section-badge-current {
  color: var(--dp-accent-blue);
  font-size: 20px;
  font-weight: 800;
}
.dpos-section-badge-divider,
.dpos-section-badge-total {
  color: var(--dp-muted);
  font-size: 20px;
  font-weight: 600;
}

/* ── Search and Filter Bar in Step 2 ── */
.dpos-product-filter-bar {
  display: flex;
  gap: 16px;
  margin-bottom: 24px;
}
.dpos-search-box {
  flex: 1;
  position: relative;
  display: flex;
  align-items: center;
}
.dpos-search-icon {
  position: absolute;
  left: 14px;
  pointer-events: none;
}
.dpos-search-box input {
  width: 100%;
  padding: 14px 16px 14px 44px;
  border: 1px solid var(--dp-border-gray);
  border-radius: var(--dp-radius);
  font-size: 14px;
  color: var(--dp-navy);
  outline: none;
  background: var(--dp-light-blue);
}
.dpos-search-box input:focus {
  border-color: var(--dp-blue);
  background: var(--dp-white);
}
.dpos-filter-dropdown-wrap {
  width: 160px;
}

/* ── Brand & Product Grids ── */
.dpos-brand-grid, .dpos-product-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
  margin-bottom: 24px;
}

/* Brand Card */
.dpos-brand-card {
  background: var(--dp-white);
  border: 1px solid var(--dp-border-gray);
  border-radius: 8px;
  padding: 12px;
  gap: 8px;
  width: 100%;
  min-width: 0;

  text-align: center;
  cursor: pointer;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  min-height: 163px;
  height: 100%;
}
.dpos-brand-card:hover {
  border-color: var(--dp-navy);
}
.dpos-brand-card.active {
  border-color: var(--dp-blue);
  border-width: 2px;
  background: var(--dp-light-blue);
}
.dpos-brand-img {
  width: 100%;
  height: 120px;
  object-fit: contain;
  margin-bottom: 8px;
  margin-top: auto;
}
.dpos-brand-img-placeholder {
  width: 60px;
  height: 60px;
  background: var(--dp-light-blue);
  color: var(--dp-blue);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 24px;
  margin-bottom: 16px;
}
.dpos-brand-name {
  font-family: var(--dp-font-flex);
  font-size: 16px;
  font-weight: 700;
  color: var(--dp-navy);
  margin-top: auto;
}

.dpos-product-card {
  background: var(--dp-white);
  border: 1px solid var(--dp-border-gray);
  border-radius: 8px;
  padding: 12px;
  gap: 8px;
  width: 100%;
  min-width: 0;
  text-align: center;
  cursor: pointer;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  min-height: 194px;
  height: 100%;
}
.dpos-product-card:hover {
  border-color: var(--dp-navy);
}
.dpos-product-card.active {
  border-color: var(--dp-blue);
  border-width: 2px;
  background: var(--dp-light-blue);
}
.dpos-product-card-img {
  width: 100%;
  height: 120px;
  object-fit: contain;
  margin-bottom: 8px;
  margin-top: auto;
  border: none;
}
.dpos-product-card-info {
  width: 100%;
}
.dpos-product-card-title {
  font-family: var(--dp-font-flex);
  font-size: 12px;
  font-weight: 400;
  color: var(--dp-navy);
  text-align: center;
  line-height: normal;
  margin-top: auto;
}

/* ── Selected Product Banner in Step 3 ── */
.dpos-selected-product-banner {
  display: flex;
  align-items: center;
  gap: 16px;
  background: var(--dp-light-blue);
  border: 1px solid var(--dp-border-gray);
  border-radius: var(--dp-radius);
  padding: 20px;
  margin-bottom: 28px;
}
.dpos-banner-img {
  width: 70px;
  height: 70px;
  object-fit: contain;
  background: var(--dp-white);
  border: 1px solid var(--dp-border-gray);
  border-radius: 6px;
}
.dpos-banner-info {
  flex: 1;
}
.dpos-banner-badge {
  font-size: 16px;
  font-weight: 600;
  color: var(--dp-blue);
  text-transform: uppercase;
  margin-bottom: 4px;
  display: block;
}
.dpos-banner-title {
  font-size: 15px !important;
  font-weight: 500;
  color: var(--dp-navy);
  margin: 0 0 4px 0;
}
.dpos-banner-meta {
  font-size: 13px;
  color: var(--dp-muted);
}
.dpos-banner-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 14px;
}
.dpos-banner-recheck-lot {
  padding: 8px 12px;
  color: var(--dp-blue);
  background: var(--dp-white);
  border: 1px solid var(--dp-blue);
  border-radius: 5px;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
}
.dpos-banner-recheck-lot[hidden] {
  display: none !important;
}
.dpos-banner-recheck-lot:hover,
.dpos-banner-recheck-lot:focus-visible {
  color: var(--dp-white);
  background: var(--dp-blue);
  outline: none;
}
.dpos-banner-change-link {
  font-size: 13px;
  font-weight: 700;
  color: var(--dp-blue);
  text-decoration: none;
}
.dpos-banner-change-link:hover {
  text-decoration: underline;
}

@media (max-width: 640px) {
  .dpos-selected-product-banner {
    flex-wrap: wrap;
  }
  .dpos-banner-info {
    min-width: calc(100% - 86px);
  }
  .dpos-banner-actions {
    width: 100%;
    justify-content: flex-end;
  }
}

/* Expiry hints */
.dpos-expiry-hint-box {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 8px 12px;
  gap: 8px;
  max-width: fit-content;
  height: 40px;
  background: #F8FAFC !important;
  border: 0px solid transparent !important;
  border-radius: 4px;
  white-space: nowrap;
}
.dpos-expiry-hint-static {

display: flex;

flex-direction: row;

align-items: center;

padding: 8px 12px;

gap: 8px;



width: 404px;

height: 40px;



background: #F8FAFC;

border-radius: 4px;
}
.dpos-expiry-hint-active {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 14px 0;
}
.dpos-active-hint-check {
  color: var(--dp-green);
  font-weight: bold;
}
.dpos-active-hint-text {
  font-size: 13px;
  font-weight: 700;
  color: var(--dp-green);
}

/* ── Two Column Layout for Step 3 ── */
.dpos-step3-two-col-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 24px;
  margin-bottom: 24px;
}

/* ── Section Footer buttons ── */
.dpos-section-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 30px;
  border-top: 1px solid var(--dp-border-gray);
  padding-top: 20px;
}
.dpos-link-info {
  color: var(--dp-blue);
  text-decoration: none;
  font-size: 14px;
  font-weight: 700;
}
.dpos-link-info:hover {
  text-decoration: underline;
}
.dpos-btn-continue {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 12px 20px 12px 24px;
    gap: 8px;
    width: 265px;
    height: 50px;
    background: #EEF2F6;
    border: 1px solid #EEF2F6;
    border-radius: 8px;
    color: #8C9BB3;
    font-size: 15px;
    font-weight: 700;
    cursor: not-allowed;
    transition: all 0.2s ease;
}
.dpos-btn-continue:disabled,
.dpos-btn-continue:disabled:hover {
  background: #EEF2F6 !important;
  border-color: #EEF2F6 !important;
  color: #8C9BB3 !important;
  cursor: not-allowed;
}
.dpos-btn-continue.active {
  background: #0A1744 !important;
  border-color: #0A1744 !important;
  color: var(--dp-white) !important;
  cursor: pointer;
}
.dpos-btn-continue.active:hover {
  opacity: 0.9;
}

/* Wizard main action button */
.dpos-btn-continue-wizard {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    padding: 12px 20px 12px 24px;
    gap: 8px;
    width: 265px;
    height: 50px;
    background: #0A1744 !important;
    border: 1px solid #0A1744 !important;
    border-radius: 8px;
    color: var(--dp-white) !important;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: opacity 0.2s;
}

#dpos-wrap .dpos-action-icon {
  width: 18px;
  height: 18px;
  display: block;
  flex: 0 0 18px;
}

#dpos-wrap #dpos-add-another-product {
  gap: 12px;
  width: auto;
  min-width: 210px;
  padding-left: 18px;
  padding-right: 18px;
}

#dpos-wrap #dpos-add-another-product .dpos-action-icon {
  width: 20px;
  height: 20px;
  flex-basis: 20px;
}

#dpos-wrap .dpos-mobile-checkout-btn {
  display: none;
}
.dpos-btn-continue-wizard:hover {
  opacity: 0.9;
}
  .dpos-btn-continue-wizard:disabled,
  .dpos-btn-continue-wizard:disabled:hover {
    background: #EEF2F6 !important;
    border-color: #EEF2F6 !important;
    color: #8C9BB3 !important;
    cursor: not-allowed;
  }

.dpos-back-btn {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 12px 24px 12px 20px;
  gap: 8px;
  width: 185px;
  height: 50px;
  background: #FFFFFF;
  border: 1px solid #D8E2EC;
  border-radius: 8px;
  color: #526178;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
}
.dpos-back-btn:hover {
  background: #f4f8fb;
  border-color: #1472a7;
  color: #1472a7;
}

/* ── Step Details Cards ── */
.dpos-step-card {
  background: var(--dp-white);
  border: 1px solid var(--dp-border-gray);
  border-radius: var(--dp-radius);
  padding: 24px;
  margin-bottom: 24px;
}
.dpos-card-label {
  display: block;
  font-size: 14px;
  font-weight: 800;
  margin-bottom: 14px;
  color: var(--dp-navy);
}
.dpos-label-sub {
  font-size: 12px;
  font-weight: 500;
  color: var(--dp-muted);
}
.dpos-expiry-row {
  display: flex;
  gap: 16px;
  flex-wrap: nowrap;
  align-items: center;
}
.dpos-expiry-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex: 1;
  min-width: 120px;
}
.dpos-field-title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--dp-muted);
}
.dpos-select-styled {
  padding: 12px 16px;
  border: 1px solid var(--dp-border-gray);
  border-radius: var(--dp-radius);
  background: var(--dp-white);
  font-size: 14px;
  color: #0D6FA6 !important;
  outline: none;
  cursor: pointer;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='8' height='5' viewBox='0 0 8 5' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.46667 4.325C3.38889 4.29722 3.31667 4.25 3.25 4.18333L0.183333 1.11667C0.0611111 0.994444 0 0.838889 0 0.65C0 0.461111 0.0611111 0.305556 0.183333 0.183333C0.305556 0.0611111 0.461111 0 0.65 0C0.838889 0 0.994444 0.0611111 1.11667 0.183333L3.71667 2.78333L6.31667 0.183333C6.43889 0.0611111 6.59444 0 6.78333 0C6.97222 0 7.12778 0.0611111 7.25 0.183333C7.37222 0.305556 7.43333 0.461111 7.43333 0.65C7.43333 0.838889 7.37222 0.994444 7.25 1.11667L4.18333 4.18333C4.11667 4.25 4.04444 4.29722 3.96667 4.325C3.88889 4.35278 3.80556 4.36667 3.71667 4.36667C3.62778 4.36667 3.54444 4.35278 3.46667 4.325Z' fill='%231677B8'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  padding-right: 40px;
}
.dpos-select-styled:focus {
  border-color: var(--dp-blue);
}

/* ── Condition card styling ── */
.dpos-condition-container {
  width: 100%;
}
.dpos-checkbox-btn {
  display: block;
  cursor: pointer;
  width: 100%;
}
.dpos-checkbox-btn-inner {
  display: flex;
  align-items: center;
  border: 1px solid var(--dp-border-gray);
  border-radius: var(--dp-radius);
  padding: 16px;
  background: var(--dp-white);
  transition: border-color 0.2s ease, background 0.2s ease;
}
.dpos-checkbox-btn:hover .dpos-checkbox-btn-inner {
  border-color: var(--dp-blue);
}
.dpos-checkbox-icon {
  font-size: 24px;
  margin-right: 12px;
}
.dpos-checkbox-text {
  flex: 1;
}
.dpos-checkbox-title {
  display: block;
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 2px;
  color: #0B1F3A;
}
.dpos-checkbox-desc {
  display: block;
  font-size: 11px;
  color: var(--dp-muted);
}
.dpos-checkbox-indicator-circle {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid var(--dp-border-gray);
  position: relative;
  transition: all 0.2s;
}
.dpos-hidden-checkbox {
  display: none !important;
}
.dpos-hidden-checkbox:checked + .dpos-checkbox-btn-inner {
  border-color: var(--dp-green);
  background: #f0fdf4;
}
.dpos-hidden-checkbox:checked + .dpos-checkbox-btn-inner .dpos-checkbox-indicator-circle {
  background: var(--dp-green);
  border-color: var(--dp-green);
}
.dpos-hidden-checkbox:checked + .dpos-checkbox-btn-inner .dpos-checkbox-indicator-circle::after {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--dp-white);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.dpos-condition-warning {
  font-size: 11px;
  color: var(--dp-muted);
  margin-top: 8px;
}

/* ── Payout calculators box ── */
.dpos-price-rate-col {
  display: flex;
  flex-direction: column;
}
.dpos-price-status-helper {
  font-size: 12px;
  font-weight: 600;
  color: var(--dp-green);
  margin-top: 4px;
  white-space: nowrap;
}
.dpos-price-amount-qty-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 12px;
}
.dpos-price-amount {
  font-size: 36px;
  font-weight: 800;
  color: var(--dp-navy);
}
.dpos-price-subtotal-block {
  font-size: 13px;
  color: var(--dp-muted);
  font-weight: 600;
  border-top: 1px solid var(--dp-border-gray);
  padding-top: 12px;
  margin-top: 8px;
  line-height: 1.4;
  white-space: nowrap;
}

.dpos-quantity-selector {
  display: flex;
  align-items: center;
  border: 1px solid var(--dp-border-gray);
  border-radius: var(--dp-radius);
  overflow: hidden;
  height: 44px;
  background: var(--dp-white);
}
  .dpos-qty-button {
    background: var(--dp-light-gray) !important;
    border: none !important;
    width: 36px;
    height: 100%;
    font-size: 18px;
    cursor: pointer;
    color: var(--dp-navy) !important;
  display: flex;
  align-items: center;
  justify-content: center;
}
  .dpos-qty-button:hover {
    background: var(--dp-border-gray) !important;
    color: var(--dp-navy) !important;
  }
.dpos-qty-input {
  text-align: center;
  border: none;
  font-size: 15px;
  font-weight: 800;
  outline: none;
  width: 48px;
  height: 100%;
  color: var(--dp-navy) !important;
  background: var(--dp-white) !important;
}

/* ── Table styles ── */
.dpos-table-responsive {
  overflow-x: auto;
}
.dpos-price-guide-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  margin-top: 8px;
}
.dpos-price-guide-table th {
  background: var(--dp-light-blue);
  color: var(--dp-navy);
  text-align: left;
  padding: 14px 16px;
  border-bottom: 2px solid var(--dp-border-gray);
}
.dpos-price-guide-table td {
  padding: 14px 16px;
  border-bottom: 1px solid var(--dp-border-gray);
}
.dpos-tier-badge {
  display: inline-block;
  padding: 4px 8px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 700;
}
.dpos-tier-badge.best { background: #dcfce7; color: var(--dp-green); }
.dpos-tier-badge.good { background: #fef9c3; color: #a16207; }
.dpos-tier-badge.fair { background: #f3f4f6; color: var(--dp-muted); }
.dpos-tier-badge.error { background: #fee2e2; color: var(--dp-red); }

.dpos-price-guide-table tr.dpos-guide-row-active td {
  background: #e8f5e9 !important;
  color: var(--dp-green) !important;
  font-weight: 700;
  border-top: 1.5px solid var(--dp-green) !important;
  border-bottom: 1.5px solid var(--dp-green) !important;
}
.dpos-price-guide-table tr.dpos-guide-row-active td:first-child {
  border-left: 1.5px solid var(--dp-green) !important;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}
.dpos-price-guide-table tr.dpos-guide-row-active td:last-child {
  border-right: 1.5px solid var(--dp-green) !important;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}
.dpos-price-guide-table tr.dpos-guide-row-active .dpos-tier-badge {
  background: var(--dp-green) !important;
  color: var(--dp-white) !important;
}
.dpos-tier-badge.expired {
  background: #fee2e2;
  color: var(--dp-red);
}
.dpos-price-guide-table tr.dpos-guide-row-active.dpos-expired-row td {
  background: #fef2f2 !important;
  color: var(--dp-navy) !important;
  border-top: 1.5px solid var(--dp-red) !important;
  border-bottom: 1.5px solid var(--dp-red) !important;
}
.dpos-price-guide-table tr.dpos-guide-row-active.dpos-expired-row td:first-child {
  border-left: 1.5px solid var(--dp-red) !important;
}
.dpos-price-guide-table tr.dpos-guide-row-active.dpos-expired-row td:last-child {
  border-right: 1.5px solid var(--dp-red) !important;
}
.dpos-price-guide-table tr.dpos-guide-row-active.dpos-expired-row .dpos-tier-badge {
  background: var(--dp-red) !important;
  color: var(--dp-white) !important;
}

/* ── Step 4: Review Payout Table Styles ── */
.dpos-review-payout-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 12px;
  font-size: 14px;
  margin-top: -12px;
  margin-bottom: 0px;
}
.dpos-review-payout-table tr {
  background: transparent !important;
}
.dpos-review-payout-table tbody tr {
  background: #FFFFFF !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
  border-radius: 8px;
}
.dpos-review-payout-table th {
  background: transparent !important;
  color: #8C9BB3 !important;
  text-align: left;
  padding: 0 14px 10px 14px;
  border: none !important;
  border-bottom: 1px solid var(--dp-border-gray) !important;
  font-weight: 500;
  font-size: 13px;
  text-transform: uppercase;
}
.dpos-review-payout-table td {
  padding: 20px 14px;
  border: none !important;
  border-top: 1px solid #E8EDF2 !important;
  border-bottom: 1px solid #E8EDF2 !important;
  vertical-align: middle;
  background: #FFFFFF !important;
}
.dpos-review-payout-table tbody tr td:first-child {
  border-left: 1px solid #E8EDF2 !important;
  border-top-left-radius: 8px;
  border-bottom-left-radius: 8px;
}
.dpos-review-payout-table tbody tr td:last-child {
  border-right: 1px solid #E8EDF2 !important;
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
}
.dpos-review-product-cell {
  display: flex;
  align-items: center;
  gap: 16px;
}
.dpos-review-img {
  width: 60px;
  height: 60px;
  object-fit: contain;
  border: 1px solid var(--dp-border-gray);
  border-radius: 6px;
}
.dpos-review-info {
  display: flex;
  flex-direction: column;
}
.dpos-review-name {
  font-weight: 800;
  color: var(--dp-navy);
}
.dpos-review-meta {
  font-size: 12px;
  color: var(--dp-muted);
  margin-top: 4px;
}
.dpos-review-qty-box {
  display: flex;
  align-items: center;
  border: 1px solid var(--dp-border-gray);
  border-radius: var(--dp-radius);
  overflow: hidden;
  width: 100px;
  background: #FFFFFF;
}
.dpos-review-qty-btn {
  background: #FFFFFF;
  color: var(--dp-navy);
  border: none;
  width: 32px;
  height: 32px;
  cursor: pointer;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dpos-review-qty-val {
  flex: 1;
  text-align: center;
  font-weight: 800;
  color: var(--dp-navy) !important;
}
.dpos-review-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}
.dpos-review-btn-edit {
  background: #F4F8FB !important;
  color: #1472a7 !important;
  border: 0px solid transparent !important;
  outline: none !important;
  box-shadow: none !important;
  padding: 10px 16px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: opacity 0.2s;
}
.dpos-review-btn-delete {
  background: #FEE2E2 !important;
  color: #DC2626 !important;
  border: 0px solid transparent !important;
  outline: none !important;
  box-shadow: none !important;
  padding: 10px 16px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: opacity 0.2s;
}

/* ── Summaries in Step 4 ── */
.dpos-review-summaries-box {
  background: var(--dp-light-blue);
  border: 1px solid var(--dp-border-gray);
  border-radius: var(--dp-radius);
  padding: 24px;
  margin-bottom: 24px;
}
.dpos-summary-row-line {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  margin-bottom: 10px;
  color: var(--dp-navy);
}
.dpos-summary-row-line.shipping-free span:last-child {
  color: var(--dp-green);
  font-weight: 700;
}
.dpos-summary-divider {
  height: 1px;
  background: var(--dp-border-gray);
  margin: 16px 0;
}
.dpos-summary-row-line.total-line {
  font-size: 20px;
  font-weight: 800;
}

.dpos-sidebar-summary-line {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  color: var(--dp-muted);
  margin-bottom: 8px;
}
.dpos-sidebar-summary-line.shipping-free span:last-child {
  color: var(--dp-green);
  font-weight: 700;
}
.dpos-sidebar-summary-line.total-line {
  font-size: 15px;
  color: var(--dp-navy);
  font-weight: 700;
}

/* ── Right Column / Sidebar ── */
.dpos-expiry-hint-box {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 8px 12px;
  gap: 8px;
  max-width: fit-content;
  height: 40px;
  background: #F8FAFC !important;
  border: 0px solid transparent !important;
  border-radius: 4px;
  white-space: nowrap;
}
.dpos-payout-sidebar {
  background: var(--dp-white);
  border: 1px solid var(--dp-border-gray);
  border-radius: var(--dp-radius);
  padding: 28px 24px;
  position: sticky;
  top: 20px;
  box-shadow: var(--dp-shadow);
}
.dpos-sidebar-header {
  margin-bottom: 20px;
  text-align: center;
}
.dpos-sidebar-title {
  font-size: 14px !important;
  font-weight: 700;
  color: var(--dp-blue);
  text-transform: uppercase;
  letter-spacing: 1px;
  text-align: center;
  margin-bottom: 10px;
}
.dpos-sidebar-estimate-value {
  font-size: 48px;
  font-weight: 800;
  color: var(--dp-navy);
  line-height: 1.1;
  text-align: center;
}
.dpos-sidebar-estimate-desc {
  font-size: 13px;
  color: var(--dp-muted);
  line-height: 1.4;
  margin: 6px 0 0 0;
  font-weight: 500;
  text-align: center;
}
.dpos-cart-item-title-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 6px;
  width: 100%;
}
.dpos-cart-item-meta-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  color: var(--dp-muted);
  width: 100%;
}
.dpos-cart-item-qty {
  font-weight: 500;
}
.dpos-cart-item-price {
  font-weight: 700;
  color: var(--dp-navy);
}
.dpos-sidebar-prompt {
  font-size: 12px;
  color: var(--dp-muted);
  margin-bottom: 24px;
  line-height: 1.4;
  text-align: center;
}
.dpos-empty-cart-illustration {
  margin: 20px auto;
  width: 96px;
  height: 82px;
}
.dpos-empty-cart-svg {
  width: 100%;
  height: 100%;
}
.dpos-sidebar-divider {
  height: 1px;
  background: var(--dp-border-gray);
  margin: 24px 0;
}
.dpos-trust-checks {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0px;
  gap: 12px;
}
.dpos-trust-check-item {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.dpos-check-icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.dpos-check-icon svg {
  width: 40px;
  height: 40px;
}
.dpos-check-content {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.dpos-check-title {
  font-size: 16px;
  font-weight: 700;
  color: #0A1744;
}
.dpos-check-desc {
  font-size: 14px;
  color: #5E6175;
  line-height: 1.4;
}

.dpos-btn-checkout {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  background: #0A1744;
  color: var(--dp-white);
  text-align: center;
  text-decoration: none;
  padding: 16px 20px;
  border-radius: var(--dp-radius);
  font-size: 15px;
  font-weight: 800;
  margin-top: 24px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.dpos-btn-checkout:hover:not(.disabled) {
  background: #14285C;
  opacity: 1;
}
.dpos-btn-checkout.disabled {
  background: var(--dp-light-gray);
  color: var(--dp-muted);
  box-shadow: none;
  cursor: not-allowed;
  pointer-events: none;
  opacity: 0.8;
}
.dpos-checkout-security-notice {
  display: block;
  text-align: center;
  font-size: 11px;
  color: var(--dp-muted);
  margin-top: 8px;
}

/* Minimal Footer */
.dpos-footer-minimal {
  text-align: center;
  padding-top: 40px;
  font-size: 12px;
  color: var(--dp-muted);
  border-top: 1px solid var(--dp-border-gray);
  margin-top: 60px;
  font-weight: 500;
}

/* ── Sidebar Mini Cart List ── */
.dpos-sidebar-cart-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 16px;
}
.dpos-cart-item {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--dp-border-gray);
}
.dpos-cart-item:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.dpos-cart-item-img {
  width: 48px;
  height: 48px;
  object-fit: contain;
  border: 1px solid var(--dp-border-gray);
  border-radius: 4px;
  flex-shrink: 0;
}
.dpos-cart-item-details {
  flex: 1;
  min-width: 0;
}
.dpos-cart-item-name {
    font-family: var(--dp-font-flex);
  font-size: 13px;
  font-weight: 700;
  color: var(--dp-navy);
  line-height: 1.35;
  flex: 1;
  padding-right: 12px;
}
.dpos-cart-item-remove {
  background: none;
  border: none;
  color: #ef4444;
  width: 20px;
  height: 20px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: opacity 0.2s;
  padding: 0;
  line-height: 1;
  font-weight: 700;
}
.dpos-cart-item-remove:hover {
  opacity: 0.8;
}
.dpos-cart-item-remove svg {
  width: 20px;
  height: 20px;
}

/* Toast */
.dpos-toast {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background: var(--dp-navy);
  color: var(--dp-white);
  padding: 12px 24px;
  border-radius: var(--dp-radius);
  font-size: 13px;
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  transform: translateY(100px);
  opacity: 0;
  transition: all 0.3s ease;
  z-index: 9999;
}
.dpos-toast.show {
  transform: translateY(0);
  opacity: 1;
}

.dpos-toast.error {
  display: flex;
  align-items: center;
  gap: 10px;
}

.dpos-toast-error-icon {
  display: inline-flex;
  flex: 0 0 22px;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #d8434f;
  color: #fff;
  font-size: 19px;
  font-weight: 400;
  line-height: 1;
}

/* Responsive Styles */
@media (max-width: 900px) {
  .dpos-main {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .dpos-payout-sidebar {
    position: static;
    margin-top: 20px;
  }
}

@media (max-width: 768px) {
  .dpos-desktop-steps {
    display: none !important;
  }
  .dpos-mobile-steps {
    display: block !important;
  }
  #dpos-wrap {
    padding: 12px;
  }
  .dpos-section-header {
    margin-bottom: 16px;
  }
  .dpos-section-title {
    font-size: 20px;
  }
  .dpos-brand-grid {
    grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
    gap: 12px;
  }
  .dpos-brand-card {
    min-height: 110px;
    padding: 12px 8px;
  }
  .dpos-brand-img {
    height: 36px;
    margin-bottom: 8px;
  }
  .dpos-brand-name {
      font-family: var(--dp-font-flex);
    font-size: 12px;
  }
  
  /* Product Grid -> list view on MOBILE */
  .dpos-product-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .dpos-product-card {
    flex-direction: row;
    align-items: center;
    text-align: left;
    min-height: auto;
    padding: 12px;
    gap: 16px;
  }
  .dpos-product-card-img {
    width: 50px;
    height: 50px;
    margin-bottom: 0;
    border: 1px solid var(--dp-border-gray);
    border-radius: 4px;
  }
  .dpos-product-card-title {
    text-align: left;
    font-size: 14px;
  }
  .dpos-step3-two-col-grid {
    grid-template-columns: 1fr;
  }

body.post-type-archive-product,
.dpos-shop-override-wrapper {
    background-color: var(--dp-light-blue) !important;
}

}

/* ========================================================================== */
/* MedAlliance visual system — v3.2.0                                         */
/* Final scoped overrides keep the existing pricing/cart behaviour unchanged. */
/* ========================================================================== */

#dpos-wrap {
  max-width: 1190px;
  padding: 0 20px 48px;
  color: var(--dp-navy);
  font-family: var(--dp-font-roboto);
  font-size: 14px;
  line-height: 1.45;
}

#dpos-wrap h1,
#dpos-wrap h2,
#dpos-wrap h3,
#dpos-wrap h4,
#dpos-wrap .dpos-hero-title,
#dpos-wrap .dpos-section-title,
#dpos-wrap .dpos-sidebar-estimate-value,
#dpos-wrap .dpos-summary-row-line.total-line {
  font-family: var(--dp-font-flex);
}

#dpos-wrap button,
#dpos-wrap input,
#dpos-wrap select,
#dpos-wrap textarea,
#dpos-wrap a,
#dpos-wrap .dpos-brand-name,
#dpos-wrap .dpos-product-card-title,
#dpos-wrap .dpos-banner-title,
#dpos-wrap .dpos-review-name,
#dpos-wrap .dpos-cart-item-name {
  font-family: var(--dp-font-roboto);
}

#dpos-wrap .dpos-hero {
  margin: 18px auto 46px;
}

#dpos-wrap .dpos-hero-tag {
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 1.8px;
}

#dpos-wrap .dpos-hero-title {
  margin-bottom: 8px;
  font-size: clamp(36px, 4vw, 48px);
  line-height: 1.08;
  letter-spacing: -1.1px;
}

#dpos-wrap .dpos-hero-subtitle {
  font-size: 16px;
  font-weight: 400;
}

#dpos-wrap .dpos-desktop-steps {
  width: 100%;
  max-width: 1140px;
  margin-bottom: 32px;
}

#dpos-wrap .dpos-mobile-product-back-wrap {
  display: none;
}

@media (min-width: 769px) {
  #dpos-wrap {
    overflow: visible;
  }

  #dpos-wrap .dpos-desktop-steps {
    position: sticky;
    top: 86px;
    z-index: 95;
    box-sizing: border-box;
    padding: 12px 18px;
    background: rgba(244, 248, 251, 0.96);
    border: 1px solid rgba(216, 226, 236, 0.92);
    border-radius: 12px;
    box-shadow: none;
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
  }

  body.admin-bar #dpos-wrap .dpos-desktop-steps {
    top: 118px;
  }
}

#dpos-wrap .dpos-dstep {
  gap: 10px;
  white-space: nowrap;
}

#dpos-wrap .dpos-dstep-num {
  width: 34px;
  height: 34px;
  border-width: 1px;
  font-size: 14px;
}

#dpos-wrap .dpos-dstep-label {
  font-size: 14px;
  font-weight: 400;
}

#dpos-wrap .dpos-dstep.active .dpos-dstep-label,
#dpos-wrap .dpos-dstep.complete .dpos-dstep-label {
  font-weight: 600;
}

#dpos-wrap .dpos-dstep-line {
  height: 1px;
  margin: 0 14px;
}

#dpos-wrap .dpos-main {
  grid-template-columns: minmax(0, 760px) minmax(310px, 356px);
  gap: 24px;
  justify-content: center;
}

#dpos-wrap .dpos-step-section {
  gap: 20px;
  padding: 28px;
  margin: 0;
}

#dpos-wrap .dpos-section-header {
  min-height: 64px;
  padding-bottom: 18px;
}

#dpos-wrap .dpos-section-title {
  margin: 0 0 3px;
  font-size: 28px;
  line-height: 1.15;
  letter-spacing: -0.5px;
}

#dpos-wrap .dpos-section-subtitle {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.45;
}

/* The small in-card counter from the Figma component. */
#dpos-wrap .dpos-section-badge {
  min-width: 54px;
  min-height: 36px;
  gap: 4px;
  padding: 6px 10px;
  border: 1px solid var(--dp-border-gray);
  border-radius: 7px;
}

#dpos-wrap .dpos-section-badge-current,
#dpos-wrap .dpos-section-badge-divider,
#dpos-wrap .dpos-section-badge-total {
  font-size: 13px;
  line-height: 1;
  font-weight: 400;
}

#dpos-wrap .dpos-section-badge-current {
  color: var(--dp-accent-blue);
  font-weight: 600;
}

#dpos-wrap .dpos-section-badge-divider,
#dpos-wrap .dpos-section-badge-total {
  color: #8a96a8;
}

#dpos-wrap .dpos-brand-grid,
#dpos-wrap .dpos-product-grid {
  gap: 12px;
  margin: 0;
}

#dpos-wrap .dpos-brand-card,
#dpos-wrap .dpos-product-card {
  position: relative;
  border-width: 1px;
  border-radius: 8px;
  box-shadow: none;
  overflow: visible;
}

#dpos-wrap .dpos-brand-card {
  min-height: 164px;
  padding: 10px;
}

#dpos-wrap .dpos-brand-img {
  height: 116px;
  margin: 0;
}

#dpos-wrap .dpos-brand-name {
  margin-top: 6px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.25;
}

#dpos-wrap .dpos-product-card {
  min-height: 190px;
  padding: 10px;
}

#dpos-wrap .dpos-product-card-img {
  height: 120px;
  margin: 0;
}

#dpos-wrap .dpos-product-card-title {
  font-size: 12px;
  font-weight: 500;
  line-height: 1.25;
}

#dpos-wrap .dpos-brand-card.active,
#dpos-wrap .dpos-product-card.active {
  border-width: 1px;
  border-color: var(--dp-accent-blue);
  background: #f5f9fc;
  box-shadow: 0 0 0 1px var(--dp-accent-blue);
}

#dpos-wrap .dpos-brand-card.active::after,
#dpos-wrap .dpos-product-card.active::after {
  content: "";
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border: 2px solid #fff;
  border-radius: 50%;
  background-color: var(--dp-accent-blue);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M3.5 10.5 8 14.5 16.5 5.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 16px 16px;
  box-shadow: 0 1px 3px rgba(16, 35, 63, 0.18);
}

#dpos-wrap .dpos-product-card.unavailable-selection {
  border-color: #d8434f;
  background: #fff7f8;
  box-shadow: 0 0 0 1px #d8434f;
}

#dpos-wrap .dpos-product-card.not-receiving {
  background: #fffafb;
}

#dpos-wrap .dpos-product-status {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 3px 7px;
  border: 1px solid #f3b7bc;
  border-radius: 999px;
  background: #fff0f1;
  color: #b4232f;
  font-family: 'Roboto', sans-serif;
  font-size: 11px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
}

#dpos-wrap .dpos-product-card.unavailable-selection::after {
  content: "\00d7";
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #d8434f;
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 22px;
  font-weight: 400;
  line-height: 1;
  box-shadow: 0 1px 3px rgba(16, 35, 63, 0.18);
}

#dpos-wrap .dpos-product-filter-bar {
  gap: 12px;
  margin: 0;
}

#dpos-wrap .dpos-search-box input,
#dpos-wrap .dpos-select-styled {
  min-height: 42px;
  border-radius: 8px;
  background-color: #fff;
  font-size: 13px;
}

#dpos-wrap .dpos-search-box input,
#dpos-wrap #dpos-product-filter-select {
  box-sizing: border-box;
  height: 42px;
  min-height: 42px;
}

#dpos-wrap .dpos-search-box input {
  padding-top: 0;
  padding-bottom: 0;
}

#dpos-wrap #dpos-product-filter-select {
  padding-top: 0;
  padding-bottom: 0;
}

#dpos-wrap .dpos-section-footer {
  margin: 0;
  padding-top: 18px;
}

#dpos-wrap .dpos-btn-continue,
#dpos-wrap .dpos-btn-continue-wizard,
#dpos-wrap .dpos-back-btn {
  min-height: 48px;
  height: 48px;
  font-size: 14px;
}

/* Step 3: compact product summary and aligned expiration controls. */
#dpos-wrap .dpos-selected-product-banner {
  gap: 12px;
  min-height: 88px;
  padding: 12px;
  margin: 0;
  border-radius: 8px;
}

#dpos-wrap .dpos-banner-img {
  width: 64px;
  height: 64px;
  border: 0;
  background: transparent;
}

#dpos-wrap .dpos-banner-badge {
  margin-bottom: 2px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.8px;
}

#dpos-wrap .dpos-banner-title {
  margin-bottom: 3px;
  font-size: 13px !important;
  font-weight: 500;
  line-height: 1.3;
}

#dpos-wrap .dpos-banner-change-link {
  font-size: 12px;
  font-weight: 500;
  text-decoration: underline;
}

#dpos-wrap .dpos-step-card {
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
}

#dpos-wrap #dpos-expiry-picker-box {
  padding: 0;
}

#dpos-wrap .dpos-card-label {
  margin-bottom: 10px;
  font-size: 13px;
  font-weight: 700;
}

#dpos-wrap .dpos-expiry-row {
  display: grid;
  grid-template-columns: 112px 112px minmax(0, 1fr);
  gap: 12px;
  align-items: end;
  padding: 12px 14px;
  border: 1px solid var(--dp-border-gray);
  border-radius: 8px;
}

#dpos-wrap .dpos-expiry-field {
  min-width: 0;
}

#dpos-wrap .dpos-field-title {
  font-size: 10px;
  font-weight: 500;
}

#dpos-wrap .dpos-expiry-hint-box {
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  min-height: 42px;
  padding: 0;
  white-space: normal;
}

#dpos-wrap .dpos-expiry-hint-static {
  min-height: 42px !important;
  padding: 8px 10px;
  font-size: 12px;
}

#dpos-wrap .dpos-expiry-hint-active {
  justify-content: flex-end;
  padding: 8px 4px 0;
}

#dpos-wrap .dpos-active-hint-text {
  font-size: 12px;
  font-weight: 500;
}

#dpos-wrap #dpos-price-guide-card {
  overflow: hidden;
}

#dpos-wrap .dpos-price-guide-table {
  margin: 0;
  border: 1px solid var(--dp-border-gray);
  border-radius: 8px 8px 0 0;
  overflow: hidden;
}

#dpos-wrap .dpos-price-guide-table th,
#dpos-wrap .dpos-price-guide-table td {
  padding: 10px 12px;
  font-size: 12px;
}

#dpos-wrap .dpos-table-note {
  padding: 9px 12px;
  border: 1px solid var(--dp-border-gray);
  border-top: 0;
  border-radius: 0 0 8px 8px;
  font-size: 11px;
}

#dpos-wrap .dpos-step3-two-col-grid {
  grid-template-columns: minmax(0, 1fr) minmax(270px, 1fr);
  gap: 18px;
  margin: 0;
  align-items: start;
}

#dpos-wrap #dpos-condition-card,
#dpos-wrap .dpos-pricing-card {
  min-width: 0;
}

#dpos-wrap .dpos-checkbox-btn-inner,
#dpos-wrap .dpos-price-amount-qty-row {
  min-height: 58px;
  padding: 10px 12px;
  border-radius: 8px;
}

#dpos-wrap .dpos-condition-warning {
  margin: 8px 0 0;
  font-size: 10px;
  line-height: 1.4;
}

#dpos-wrap .dpos-price-amount {
  font-size: 24px;
  line-height: 1.1;
}

#dpos-wrap .dpos-price-status-helper,
#dpos-wrap .dpos-price-subtotal-block {
  font-size: 10px;
}

/* Sidebar: distinct item rows, consistent dividers and spacing. */
#dpos-wrap .dpos-payout-sidebar {
  padding: 24px;
}

#dpos-wrap .dpos-sidebar-header {
  margin-bottom: 16px;
}

#dpos-wrap .dpos-sidebar-title {
  margin-bottom: 6px;
  font-size: 13px !important;
  font-weight: 600;
  letter-spacing: 0.8px;
}

#dpos-wrap .dpos-sidebar-estimate-value {
  font-size: 42px;
  line-height: 1.05;
}

#dpos-wrap .dpos-sidebar-cart-list {
  gap: 0;
  margin-top: 14px;
}

#dpos-wrap .dpos-cart-item {
  gap: 10px;
  padding: 14px 0;
}

#dpos-wrap .dpos-cart-item:first-child {
  padding-top: 0;
}

#dpos-wrap .dpos-cart-item-img {
  width: 48px;
  height: 48px;
}

#dpos-wrap .dpos-cart-item-name {
  padding-right: 6px;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
}

#dpos-wrap .dpos-cart-item-meta-row,
#dpos-wrap .dpos-sidebar-summary-line {
  font-size: 12px;
}

#dpos-wrap .dpos-sidebar-divider {
  margin: 18px 0;
}

#dpos-wrap .dpos-trust-checks {
  gap: 12px;
}

#dpos-wrap .dpos-check-title {
  font-size: 14px;
}

#dpos-wrap .dpos-check-desc {
  font-size: 12px;
}

#dpos-wrap .dpos-btn-checkout {
  margin-top: 20px;
  padding: 14px 16px;
  border-radius: 8px;
  font-size: 14px;
}

/* Step 4 review rows follow the Figma card hierarchy. */
#dpos-wrap .dpos-review-payout-table {
  display: block;
  margin: 0;
  border-spacing: 0;
}

#dpos-wrap .dpos-review-payout-table thead,
#dpos-wrap .dpos-review-payout-table tbody {
  display: block;
}

#dpos-wrap .dpos-review-payout-table thead tr,
#dpos-wrap .dpos-review-payout-table tbody tr {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 120px 82px 92px;
  column-gap: 10px;
}

#dpos-wrap .dpos-review-payout-table thead tr {
  padding: 0 12px;
}

#dpos-wrap .dpos-review-payout-table th {
  padding: 0 0 10px;
  border-bottom: 1px solid var(--dp-border-gray) !important;
  font-size: 11px;
  font-weight: 400;
}

#dpos-wrap .dpos-review-payout-table th.dpos-review-actions-heading {
  display: none;
}

#dpos-wrap .dpos-review-payout-table tbody {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

#dpos-wrap .dpos-review-payout-table tbody tr {
  padding: 12px;
  border: 1px solid var(--dp-border-gray);
  border-radius: 8px;
  box-shadow: none;
}

#dpos-wrap .dpos-review-payout-table td {
  padding: 4px 0 !important;
  border: 0 !important;
  background: transparent !important;
}

#dpos-wrap .dpos-review-payout-table td[data-label="PRODUCT"] {
  grid-column: 1;
  grid-row: 1 / span 2;
}

#dpos-wrap .dpos-review-payout-table td[data-label="QUANTITY"] {
  grid-column: 2;
}

#dpos-wrap .dpos-review-payout-table td[data-label="RATE"] {
  grid-column: 3;
}

#dpos-wrap .dpos-review-payout-table td[data-label="SUBTOTAL"] {
  grid-column: 4;
}

#dpos-wrap .dpos-review-payout-table td[data-label="ACTIONS"] {
  grid-column: 2 / 5;
  grid-row: 2;
  justify-self: end;
}

#dpos-wrap .dpos-review-product-cell {
  gap: 12px;
  align-items: flex-start;
}

#dpos-wrap .dpos-review-img {
  width: 76px;
  height: 76px;
  border: 0;
}

#dpos-wrap .dpos-review-name {
  font-size: 13px;
}

#dpos-wrap .dpos-review-qty-box {
  width: 110px;
  height: 38px;
  border-radius: 7px;
}

#dpos-wrap .dpos-review-actions {
  gap: 8px;
}

#dpos-wrap .dpos-review-btn-edit,
#dpos-wrap .dpos-review-btn-delete {
  min-height: 36px;
  padding: 8px 12px;
  font-size: 13px;
}

#dpos-wrap .dpos-review-summaries-box {
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent !important;
}

@media (max-width: 900px) {
  #dpos-wrap .dpos-main {
    grid-template-columns: minmax(0, 1fr);
  }

  #dpos-wrap .dpos-right-col {
    max-width: 760px;
    width: 100%;
    margin: 0 auto;
  }
}

@media (max-width: 768px) {
  #dpos-wrap {
    padding: 12px !important;
  }

  #dpos-wrap .dpos-hero {
    margin: 10px auto 20px;
  }

  #dpos-wrap .dpos-mobile-product-back-wrap {
    display: flex;
    width: 100%;
    padding-top: 16px;
  }

  #dpos-wrap #dpos-mobile-back-to-brands {
    width: 100% !important;
    max-width: none !important;
  }

  #dpos-wrap .dpos-hero-tag {
    font-size: 11px;
  }

  #dpos-wrap .dpos-hero-title {
    font-size: 29px;
    letter-spacing: -0.6px;
  }

  #dpos-wrap .dpos-hero-subtitle {
    font-size: 14px;
  }

  #dpos-wrap .dpos-mobile-steps {
    padding: 14px;
    margin-bottom: 16px;
  }

  #dpos-wrap .dpos-step-section {
    gap: 18px;
    padding: 16px !important;
  }

  #dpos-wrap .dpos-section-header {
    min-height: 56px;
    padding-bottom: 14px;
    margin: 0;
  }

  #dpos-wrap .dpos-section-title {
    max-width: calc(100% - 60px);
    font-size: 24px;
  }

  #dpos-wrap .dpos-section-subtitle {
    font-size: 13px;
  }

  #dpos-wrap .dpos-section-badge {
    min-width: 48px;
    min-height: 32px;
    gap: 3px;
    padding: 5px 8px;
    border-width: 1px;
    border-radius: 7px;
  }

  #dpos-wrap .dpos-section-badge-current,
  #dpos-wrap .dpos-section-badge-divider,
  #dpos-wrap .dpos-section-badge-total {
    font-size: 12px;
  }

  #dpos-wrap .dpos-brand-grid,
  #dpos-wrap .dpos-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  #dpos-wrap .dpos-brand-card {
    min-height: 168px;
    padding: 10px 8px;
  }

  #dpos-wrap .dpos-brand-img {
    height: 120px;
  }

  #dpos-wrap .dpos-brand-name {
    font-size: 13px;
  }

  #dpos-wrap .dpos-product-card {
    min-height: 178px;
    padding: 10px;
  }

  #dpos-wrap .dpos-product-card-img {
    height: 106px;
  }

  #dpos-wrap .dpos-product-filter-bar {
    align-items: stretch;
  }

  #dpos-wrap .dpos-filter-dropdown-wrap {
    width: 42%;
  }

  #dpos-wrap .dpos-selected-product-banner {
    grid-template-columns: 60px minmax(0, 1fr) !important;
    gap: 10px;
    padding: 12px;
  }

  #dpos-wrap .dpos-banner-img {
    width: 60px;
    height: 60px;
  }

  #dpos-wrap .dpos-expiry-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: end;
  }

  #dpos-wrap .dpos-expiry-hint-box {
    grid-column: 1 / -1;
    margin: 0;
  }

  #dpos-wrap .dpos-expiry-hint-active {
    justify-content: flex-start;
  }

  #dpos-wrap .dpos-step3-two-col-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }

  #dpos-wrap .dpos-price-amount-qty-row {
    flex-direction: row;
    align-items: center;
  }

  #dpos-wrap .dpos-review-payout-table thead {
    display: none;
  }

  #dpos-wrap .dpos-review-payout-table tbody tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(100px, 0.65fr);
    gap: 10px 12px;
    padding: 14px;
  }

  #dpos-wrap .dpos-review-payout-table td {
    display: flex;
    width: auto !important;
    padding: 0 !important;
    align-items: center;
  }

  #dpos-wrap .dpos-review-payout-table td::before {
    display: none;
  }

  #dpos-wrap .dpos-review-payout-table td[data-label="PRODUCT"] {
    grid-column: 1 / -1;
    grid-row: auto;
    padding-bottom: 10px !important;
    border-bottom: 1px solid var(--dp-border-gray) !important;
  }

  #dpos-wrap .dpos-review-payout-table td[data-label="QUANTITY"] {
    grid-column: 1;
  }

  #dpos-wrap .dpos-review-payout-table td[data-label="RATE"] {
    grid-column: 2;
    justify-content: flex-end;
  }

  #dpos-wrap .dpos-review-payout-table td[data-label="RATE"]::before {
    content: "Rate";
    display: inline;
    margin-right: auto;
    font-size: 10px;
    font-weight: 500;
    color: var(--dp-muted);
    text-transform: uppercase;
  }

  #dpos-wrap .dpos-review-payout-table td[data-label="SUBTOTAL"] {
    grid-column: 1 / -1;
    justify-content: flex-end;
  }

  #dpos-wrap .dpos-review-payout-table td[data-label="SUBTOTAL"]::before {
    content: "Subtotal";
    display: inline;
    margin-right: auto;
    font-size: 10px;
    font-weight: 500;
    color: var(--dp-muted);
    text-transform: uppercase;
  }

  #dpos-wrap .dpos-review-payout-table td[data-label="ACTIONS"] {
    grid-column: 1 / -1;
    grid-row: auto;
    width: 100% !important;
    justify-self: stretch;
  }

  #dpos-wrap .dpos-review-actions {
    width: 100%;
  }

  #dpos-wrap .dpos-review-btn-edit,
  #dpos-wrap .dpos-review-btn-delete {
    flex: 1;
    justify-content: center;
  }

  #dpos-wrap .dpos-review-img {
    width: 64px;
    height: 64px;
  }

  #dpos-wrap .dpos-payout-sidebar {
    padding: 20px;
  }
}

@media (max-width: 420px) {
  #dpos-wrap .dpos-hero-title {
    font-size: 26px;
  }

  #dpos-wrap .dpos-brand-card,
  #dpos-wrap .dpos-product-card {
    min-height: 158px;
  }

  #dpos-wrap .dpos-brand-img,
  #dpos-wrap .dpos-product-card-img {
    height: 100px;
  }

  #dpos-wrap .dpos-product-filter-bar {
    flex-direction: column;
  }

  #dpos-wrap .dpos-filter-dropdown-wrap {
    width: 100%;
  }

  #dpos-wrap .dpos-price-amount-qty-row {
    gap: 8px;
  }
}

/* --- RESPONSIVE FIXES FROM SESSION --- */

#dpos-wrap * {
  box-sizing: border-box;
}

.dpos-expiry-hint-static {
  width: 100% !important;
  height: auto !important;
  min-height: 40px !important;
  white-space: normal !important;
}

.dpos-review-summaries-box {
  background: var(--dp-light-blue) !important;
}

@media (max-width: 768px) {
  #dpos-wrap {
    padding: 16px !important;
  }
  .dpos-step-section {
    padding: 16px !important;
  }
  .dpos-step-card {
    padding: 16px !important;
  }
  .dpos-expiry-row {
    flex-wrap: wrap;
  }
  .dpos-expiry-field {
    min-width: 45%;
  }
  .dpos-expiry-hint-box {
    width: 100%;
    margin-top: 8px;
    height: auto !important;
  }
  #dpos-wrap .dpos-btn-continue-wizard,
  #dpos-wrap .dpos-back-btn,
  #dpos-wrap .dpos-btn-add-another {
    width: 100% !important;
    max-width: 100% !important;
  }
  #dpos-wrap .dpos-price-amount-qty-row {
    flex-direction: column;
    align-items: center;
  }
}

@media (max-width: 768px) {
  #dpos-wrap .dpos-section-footer {
    flex-direction: column-reverse !important;
    gap: 12px;
  }

  #dpos-wrap .dpos-mobile-checkout-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 48px;
    padding: 12px 18px;
    gap: 8px;
    border: 1px solid #0A1744;
    border-radius: 8px;
    background: #0A1744;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
  }

  #dpos-wrap .dpos-mobile-checkout-btn:hover {
    background: #14285C;
    border-color: #14285C;
    color: #fff;
  }

  #dpos-wrap .dpos-mobile-checkout-btn.disabled,
  #dpos-wrap .dpos-mobile-checkout-btn.disabled:hover {
    pointer-events: none;
    background: #EEF2F6;
    border-color: #EEF2F6;
    color: #8C9BB3;
  }

  #dpos-wrap #dpos-add-another-product {
    width: 100%;
    min-width: 0;
  }
  #dpos-wrap .dpos-brand-grid,
  #dpos-wrap .dpos-product-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 768px) {
  .dpos-review-payout-table thead {
    display: none;
  }
  .dpos-review-payout-table, 
  .dpos-review-payout-table tbody, 
  .dpos-review-payout-table tr, 
  .dpos-review-payout-table td {
    display: block;
    width: 100% !important;
  }
	.dpos-btn-continue {
 
		width: 100%;
	}
	
  .dpos-review-payout-table tr {
    margin-bottom: 16px;
    padding: 16px;
    border: 1px solid var(--dp-border-gray);
    border-radius: 8px;
    position: relative;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
  }
  .dpos-review-payout-table td {
    border: none !important;
    padding: 10px 0 !important;
    text-align: left !important;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .dpos-review-payout-table td::before {
    content: attr(data-label);
    font-weight: 700;
    color: var(--dp-muted);
    font-size: 11px;
    text-transform: uppercase;
    margin-right: 16px;
  }
  .dpos-review-product-cell {
    width: 100%;
    margin-bottom: 0px;
  }
  .dpos-review-payout-table td[data-label="PRODUCT"] {
    flex-direction: column;
    align-items: flex-start;
  }
  .dpos-review-payout-table td[data-label="PRODUCT"]::before {
    display: none;
  }
  .dpos-review-qty-box {
    width: 120px;
  }
}

/* Mobile card, selected-product and step-counter refinements */
@media (max-width: 768px) {
  #dpos-wrap .dpos-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  #dpos-wrap .dpos-product-card {
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    min-height: 176px;
    padding: 12px;
    gap: 8px;
    text-align: center;
  }
  #dpos-wrap .dpos-product-card-img {
    width: 100%;
    height: 104px;
    margin: 0;
    border: 0;
    border-radius: 4px;
    object-fit: contain;
  }
  #dpos-wrap .dpos-product-card-info {
    display: flex;
    flex: 1;
    align-items: flex-end;
    justify-content: center;
  }
  #dpos-wrap .dpos-product-card-title {
    width: 100%;
    margin: 0;
    text-align: center;
    font-size: 12px;
    line-height: 1.3;
    overflow-wrap: anywhere;
  }
  #dpos-wrap .dpos-selected-product-banner {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    grid-template-areas:
      "product-image product-info"
      "product-action product-action";
    align-items: center;
    gap: 12px;
    padding: 16px;
  }
  #dpos-wrap .dpos-banner-img {
    grid-area: product-image;
    width: 64px;
    height: 64px;
  }
  #dpos-wrap .dpos-banner-info {
    grid-area: product-info;
    min-width: 0;
  }
  #dpos-wrap .dpos-banner-title {
    overflow-wrap: anywhere;
  }
  #dpos-wrap .dpos-banner-actions {
    grid-area: product-action;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  #dpos-wrap .dpos-banner-change-link,
  #dpos-wrap .dpos-banner-recheck-lot {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 40px;
    padding: 8px 12px;
    background: var(--dp-white);
    border: 1px solid var(--dp-blue);
    border-radius: 6px;
    text-align: center;
  }
  #dpos-wrap .dpos-banner-actions:has(.dpos-banner-recheck-lot[hidden]) {
    grid-template-columns: 1fr;
  }
  #dpos-wrap .dpos-section-badge {
    min-width: 64px;
    min-height: 42px;
    gap: 6px;
    padding: 5px 10px;
    border-width: 3px;
  }
  #dpos-wrap .dpos-section-badge-current,
  #dpos-wrap .dpos-section-badge-divider,
  #dpos-wrap .dpos-section-badge-total {
    font-size: 18px;
  }
}

/* v3.2.0 mobile cascade guard: supersedes legacy responsive patches above. */
@media (max-width: 768px) {
  #dpos-wrap {
    padding: 12px !important;
  }
  #dpos-wrap .dpos-step-section {
    gap: 18px;
    padding: 16px !important;
  }
  #dpos-wrap .dpos-step-card {
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
  }
  #dpos-wrap .dpos-section-badge {
    min-width: 48px;
    min-height: 32px;
    gap: 3px;
    padding: 5px 8px;
    border: 1px solid var(--dp-border-gray);
    border-radius: 7px;
  }
  #dpos-wrap .dpos-section-badge-current,
  #dpos-wrap .dpos-section-badge-divider,
  #dpos-wrap .dpos-section-badge-total {
    font-size: 12px;
    font-weight: 400;
  }
  #dpos-wrap .dpos-section-badge-current {
    font-weight: 600;
  }
  #dpos-wrap .dpos-brand-grid,
  #dpos-wrap .dpos-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }
  #dpos-wrap .dpos-brand-card,
  #dpos-wrap .dpos-product-card {
    padding: 10px;
  }
  #dpos-wrap .dpos-product-card {
    min-height: 178px;
  }
  #dpos-wrap .dpos-product-card-img {
    height: 106px;
  }
  #dpos-wrap .dpos-selected-product-banner {
    grid-template-columns: 60px minmax(0, 1fr);
    grid-template-areas:
      "product-image product-info"
      "product-action product-action";
    gap: 10px;
    padding: 12px;
  }
  #dpos-wrap .dpos-banner-img {
    width: 60px;
    height: 60px;
  }
  #dpos-wrap .dpos-expiry-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    padding: 12px;
  }
  #dpos-wrap .dpos-expiry-field {
    min-width: 0;
  }
  #dpos-wrap .dpos-expiry-hint-box {
    grid-column: 1 / -1;
    width: 100%;
    margin: 0;
  }
  #dpos-wrap .dpos-step3-two-col-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 18px;
  }
  #dpos-wrap .dpos-price-amount-qty-row {
    flex-direction: row;
    align-items: center;
  }
  #dpos-wrap .dpos-review-payout-table tbody tr {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(100px, 0.65fr);
    gap: 10px 12px;
    margin: 0;
    padding: 14px;
    box-shadow: none;
  }
  #dpos-wrap .dpos-review-payout-table td {
    display: flex;
    width: auto !important;
    padding: 0 !important;
  }
  #dpos-wrap .dpos-review-payout-table td::before {
    display: none;
  }
  #dpos-wrap .dpos-review-payout-table td[data-label="PRODUCT"] {
    grid-column: 1 / -1;
    grid-row: auto;
    padding-bottom: 10px !important;
  }
  #dpos-wrap .dpos-review-payout-table td[data-label="QUANTITY"] {
    grid-column: 1;
  }
  #dpos-wrap .dpos-review-payout-table td[data-label="RATE"] {
    grid-column: 2;
    justify-content: flex-end;
  }
  #dpos-wrap .dpos-review-payout-table td[data-label="SUBTOTAL"] {
    grid-column: 1 / -1;
    justify-content: flex-end;
  }
  #dpos-wrap .dpos-review-payout-table td[data-label="ACTIONS"] {
    grid-column: 1 / -1;
    grid-row: auto;
    width: 100% !important;
  }
  #dpos-wrap .dpos-review-actions {
    width: 100%;
  }
  #dpos-wrap .dpos-review-btn-edit,
  #dpos-wrap .dpos-review-btn-delete {
    flex: 1;
    justify-content: center;
  }
}

/* v3.2.1 focused alignment refinements. */
#dpos-wrap .dpos-sidebar-action-wrap {
  margin-top: 22px;
}

#dpos-wrap #dpos-min-order-warning {
  margin: 0 0 18px !important;
}

#dpos-wrap .dpos-sidebar-action-wrap .dpos-btn-checkout {
  margin-top: 0;
}

#dpos-wrap .dpos-expiry-hint-active {
  width: 100%;
  justify-content: flex-end;
  text-align: right;
}

#dpos-wrap .dpos-active-hint-text {
  display: block;
  text-align: right;
}

#dpos-wrap .dpos-price-guide-table {
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
}

#dpos-wrap .dpos-price-guide-table thead th {
  background: #eef3f7;
  border-bottom: 1px solid #cbd7e3 !important;
}

#dpos-wrap .dpos-price-guide-table tbody tr:not(.dpos-guide-row-active) td {
  background: #f7f9fc;
  border-bottom: 1px solid #d8e2ec;
}

#dpos-wrap .dpos-price-guide-table tbody tr:not(.dpos-guide-row-active):nth-child(even) td {
  background: #f1f5f8;
}

#dpos-wrap .dpos-price-guide-table tbody tr:not(.dpos-guide-row-active):hover td {
  background: #eaf1f6;
}

#dpos-wrap .dpos-price-guide-table tbody tr:last-child td {
  border-bottom: 0;
}

/* Each payout item owns its labels; there is no shared table header. */
#dpos-wrap .dpos-review-payout-table thead {
  display: none;
}

#dpos-wrap .dpos-review-payout-table tbody tr {
  padding-top: 10px;
}

#dpos-wrap .dpos-review-payout-table td {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

#dpos-wrap .dpos-review-cell-label {
  display: block;
  width: 100%;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--dp-border-gray);
  color: #8c9bb3;
  font-family: var(--dp-font-roboto);
  font-size: 10px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.2px;
}

#dpos-wrap .dpos-review-payout-table td[data-label="PRODUCT"] {
  grid-row: 1 / span 2;
}

#dpos-wrap .dpos-review-payout-table td[data-label="QUANTITY"],
#dpos-wrap .dpos-review-payout-table td[data-label="RATE"],
#dpos-wrap .dpos-review-payout-table td[data-label="SUBTOTAL"] {
  justify-content: flex-start;
}

#dpos-wrap .dpos-review-payout-table td[data-label="ACTIONS"] {
  justify-content: flex-end;
}

#dpos-wrap .dpos-review-rate-value,
#dpos-wrap .dpos-review-subtotal-value {
  display: block;
  min-height: 38px;
  padding-top: 9px;
  line-height: 20px;
}

@media (max-width: 768px) {
  #dpos-wrap .dpos-sidebar-action-wrap {
    margin-top: 20px;
  }

  #dpos-wrap .dpos-expiry-hint-active,
  #dpos-wrap .dpos-active-hint-text {
    justify-content: flex-start;
    text-align: left;
  }

  #dpos-wrap .dpos-review-cell-label {
    padding-bottom: 6px;
  }

  #dpos-wrap .dpos-review-payout-table td[data-label="PRODUCT"] {
    grid-row: auto;
  }

  #dpos-wrap .dpos-review-payout-table td[data-label="RATE"]::before,
  #dpos-wrap .dpos-review-payout-table td[data-label="SUBTOTAL"]::before {
    display: none;
  }

  #dpos-wrap .dpos-review-rate-value,
  #dpos-wrap .dpos-review-subtotal-value {
    min-height: 0;
    padding-top: 0;
  }
}

/* v3.2.2 final alignment and connected review-header rules. */
#dpos-wrap .dpos-expiry-hint-active {
  width: 100%;
  min-height: 42px;
  justify-content: flex-start;
  align-items: center;
  padding: 8px 12px;
  text-align: left;
}

#dpos-wrap .dpos-active-hint-text {
  flex: 1;
  text-align: left;
}

#dpos-wrap .dpos-review-payout-table thead tr,
#dpos-wrap .dpos-review-payout-table tbody tr {
  column-gap: 0;
}

#dpos-wrap .dpos-review-payout-table td {
  padding-left: 8px !important;
  padding-right: 8px !important;
}

#dpos-wrap .dpos-review-cell-label {
  width: calc(100% + 16px);
  margin-left: -8px;
  margin-right: -8px;
  padding: 0 8px 8px;
}

@media (max-width: 768px) {
  #dpos-wrap .dpos-review-payout-table tbody tr {
    column-gap: 12px;
  }

  #dpos-wrap .dpos-review-payout-table td {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #dpos-wrap .dpos-review-cell-label {
    width: 100%;
    margin: 0 0 4px;
    padding: 0;
    border-bottom: 0;
  }

  #dpos-wrap .dpos-review-payout-table td[data-label="PRODUCT"] {
    padding-bottom: 0 !important;
    border-bottom: 0 !important;
  }
}

/* v3.2.6: accessible navigation for completed steps and saved payouts. */
#dpos-wrap .dpos-dstep.navigable {
  cursor: pointer;
}

#dpos-wrap .dpos-dstep.navigable:hover,
#dpos-wrap .dpos-dstep.navigable:focus-visible {
  color: var(--dp-blue);
}

#dpos-wrap .dpos-dstep.navigable:hover .dpos-dstep-num,
#dpos-wrap .dpos-dstep.navigable:focus-visible .dpos-dstep-num {
  border-color: var(--dp-blue);
  color: var(--dp-blue);
  background: #eef7fc;
}

#dpos-wrap .dpos-dstep.navigable:focus-visible {
  outline: 2px solid var(--dp-blue);
  outline-offset: 5px;
  border-radius: 6px;
}

@media (max-width: 768px) {
  #dpos-wrap .dpos-review-payout-table tbody tr {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 8px;
    row-gap: 12px;
  }

  #dpos-wrap .dpos-review-payout-table td[data-label="PRODUCT"] {
    grid-column: 1 / -1;
  }

  #dpos-wrap .dpos-review-payout-table td[data-label="QUANTITY"] {
    grid-column: 1;
  }

  #dpos-wrap .dpos-review-payout-table td[data-label="RATE"] {
    grid-column: 2;
  }

  #dpos-wrap .dpos-review-payout-table td[data-label="SUBTOTAL"] {
    grid-column: 3;
  }

  #dpos-wrap .dpos-review-payout-table td[data-label="QUANTITY"],
  #dpos-wrap .dpos-review-payout-table td[data-label="RATE"],
  #dpos-wrap .dpos-review-payout-table td[data-label="SUBTOTAL"] {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 6px;
  }

  #dpos-wrap .dpos-review-payout-table td[data-label="ACTIONS"] {
    grid-column: 1 / -1;
  }

  #dpos-wrap .dpos-review-qty-box {
    width: 100%;
    min-width: 0;
  }

  #dpos-wrap .dpos-review-rate-value,
  #dpos-wrap .dpos-review-subtotal-value {
    width: 100%;
    min-height: 38px;
    padding-top: 9px;
    white-space: nowrap;
  }
}

/* ── Omnipod recall verification modal ───────────────────────────────────── */
body.dpos-recall-open { overflow: hidden; }

.dpos-recall-modal {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  color: #10233f;
}

.dpos-recall-modal.is-open { display: flex; }
.dpos-recall-backdrop { position: absolute; inset: 0; background: rgba(6, 25, 58, .68); backdrop-filter: blur(4px); }

.dpos-recall-dialog {
  position: relative;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  width: min(780px, 100%);
  max-height: min(860px, calc(100vh - 48px));
  overflow: hidden;
  background: #fff;
  border: 1px solid #cfdeed;
  border-radius: 14px;
  box-shadow: 0 26px 70px rgba(6, 25, 58, .28);
}

.dpos-recall-header {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 26px 30px 20px;
  background: #fff;
  border-bottom: 1px solid #d8e3ee;
}

.dpos-recall-eyebrow { display: block; margin-bottom: 8px; color: #0876b7; font-size: 11px; font-weight: 700; letter-spacing: .12em; }
.dpos-recall-header h2 { margin: 0 0 6px; color: #10233f; font-family: "Roboto Flex", Roboto, sans-serif; font-size: clamp(27px, 4vw, 38px); font-weight: 800; line-height: 1.1; }
.dpos-recall-header p { margin: 0; color: #526178; font-size: 14px; }

.dpos-recall-close {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  padding: 0;
  color: #60728a;
  background: #f7fafd;
  border: 1px solid #cad9e7;
  border-radius: 50%;
  cursor: pointer;
}
.dpos-recall-close:hover, .dpos-recall-close:focus-visible {
  color: #0876b7 !important;
  background: #edf6fb !important;
  border-color: #87bad7 !important;
  outline: none;
}

.dpos-recall-body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 24px 30px 30px; background: #fbfdff; }
.dpos-recall-body > * + * { margin-top: 20px; }

.dpos-recall-alert { display: flex; gap: 13px; padding: 16px; background: #fff8e9; border: 1px solid #e7c76f; border-radius: 9px; }
.dpos-recall-alert-icon { flex: 0 0 26px; width: 26px; height: 26px; display: grid; place-items: center; color: #7b580d; background: #fff; border: 1px solid #d3a72f; border-radius: 50%; font-weight: 800; }
.dpos-recall-alert h3 { margin: 1px 0 4px; color: #5e4310; font-size: 16px; font-weight: 700; }
.dpos-recall-alert p { margin: 0; color: #6e572a; font-size: 14px; line-height: 1.5; }

.dpos-recall-section { padding: 20px; background: #fff; border: 1px solid #d8e3ee; border-radius: 10px; }
.dpos-recall-section-heading { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 16px; }
.dpos-recall-section-heading > span { flex: 0 0 30px; color: #0876b7; font-size: 12px; font-weight: 800; line-height: 24px; }
.dpos-recall-section-heading h3 { margin: 0 0 3px; color: #10233f; font-size: 17px; font-weight: 700; }
.dpos-recall-section-heading p { margin: 0; color: #526178; font-size: 13px; line-height: 1.45; }

.dpos-recall-image-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.dpos-recall-image-grid figure { display: flex; flex-direction: column; margin: 0; min-width: 0; overflow: hidden; background: #f8fbfe; border: 1px solid #d8e3ee; border-radius: 8px; }
.dpos-recall-image-grid img { width: 100%; height: 155px; object-fit: contain; padding: 8px; background: #fff; }
.dpos-recall-image-grid figcaption { padding: 9px 10px; color: #3d5069; font-size: 12px; font-weight: 600; text-align: center; }

.dpos-recall-official-link { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 16px; color: #086faa; background: #f0f7fc; border: 1px solid #b8d6e9; border-radius: 7px; font-size: 14px; font-weight: 700; text-decoration: none; }
.dpos-recall-official-link:hover, .dpos-recall-official-link:focus-visible { color: #075f92; background: #e7f3fa; outline: 2px solid rgba(8, 118, 183, .18); }

.dpos-recall-checker { display: grid; gap: 8px; }
.dpos-recall-checker > label { color: #31465f; font-size: 11px; font-weight: 700; letter-spacing: .06em; }
.dpos-recall-checker-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; }
.dpos-recall-checker-row input { width: 100%; min-width: 0; height: 48px; padding: 0 14px; color: #10233f; background: #fff; border: 1px solid #bdcedd; border-radius: 6px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 15px; text-transform: uppercase; box-shadow: none; }
.dpos-recall-checker-row input:focus { border-color: #1680bd; outline: 3px solid rgba(22, 128, 189, .13); }
.dpos-recall-checker-row input.has-error { border-color: #c1932a; background: #fffdf7; }
.dpos-recall-checker-row input.has-success { border-color: #31915b; background: #f8fdf9; }
.dpos-recall-checker-row button { min-width: 118px; min-height: 48px; padding: 0 18px; color: #fff; background: #0b1b53; border: 1px solid #0b1b53; border-radius: 6px; font-size: 13px; font-weight: 700; cursor: pointer; }
.dpos-recall-checker-row button:hover, .dpos-recall-checker-row button:focus-visible { color: #fff; background: #122669; border-color: #122669; outline: none; }
.dpos-recall-lot-help { margin: 0; color: #697b91; font-size: 11px; line-height: 1.4; }
.dpos-recall-lot-result { display: grid; gap: 3px; margin-top: 4px; padding: 13px 14px; border: 1px solid; border-radius: 6px; }
.dpos-recall-lot-result[hidden] { display: none; }
.dpos-recall-lot-result strong { font-size: 14px; }
.dpos-recall-lot-result span { font-size: 12px; line-height: 1.45; }
.dpos-recall-lot-result.is-error { color: #684f1a; background: #fff9ea; border-color: #dfbd69; }
.dpos-recall-lot-result.is-affected { color: #684f1a; background: #fff5dc; border-color: #d7a83d; }
.dpos-recall-lot-result.is-safe { color: #17683a; background: #edf9f1; border-color: #8ccaa4; }

.dpos-recall-lot-groups { display: grid; gap: 10px; }
.dpos-recall-lot-group { overflow: hidden; border: 1px solid #d7e2ed; border-radius: 8px; }
.dpos-recall-lot-group summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 15px; color: #10233f; background: #f5f9fc; cursor: pointer; font-size: 14px; font-weight: 700; list-style-position: inside; }
.dpos-recall-lot-group summary small { color: #667991; font-size: 11px; font-weight: 600; white-space: nowrap; }
.dpos-recall-lot-list { display: flex; flex-wrap: wrap; gap: 7px; max-height: 210px; overflow-y: auto; padding: 14px; border-top: 1px solid #d7e2ed; }
.dpos-recall-lot-list code { padding: 5px 7px; color: #243a56; background: #edf4f9; border-radius: 4px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11px; }

.dpos-recall-result-note { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.dpos-recall-result-note div { display: grid; gap: 4px; padding: 15px; background: #f2f7fb; border-left: 3px solid #1680bd; border-radius: 4px; }
.dpos-recall-result-note strong { color: #10233f; font-size: 13px; }
.dpos-recall-result-note span { color: #526178; font-size: 12px; line-height: 1.45; }

.dpos-recall-footer { position: relative; z-index: 2; padding: 18px 30px 22px; background: #fff; border-top: 1px solid #d8e3ee; box-shadow: 0 -8px 24px rgba(16, 35, 63, .04); }
.dpos-step3-recall-consent { margin: 20px 0 4px; }
.dpos-step3-recall-consent[hidden] { display: none; }
.dpos-step3-recall-consent .dpos-recall-acknowledgment { margin-bottom: 0; font-size: 14px; }
.dpos-recall-acknowledgment { display: flex; align-items: flex-start; gap: 11px; margin-bottom: 16px; padding: 14px 15px; color: #2f4057; background: #f2f7fb; border-left: 3px solid #1680bd; border-radius: 5px; cursor: pointer; font-size: 15px; line-height: 1.48; }
.dpos-recall-acknowledgment input { flex: 0 0 19px; width: 19px; height: 19px; margin: 1px 0 0; accent-color: #1680bd; }
.dpos-recall-acknowledgment:has(input:disabled) { color: #738296; cursor: not-allowed; opacity: .72; }
.dpos-recall-actions { display: grid; grid-template-columns: 1fr; gap: 12px; }
.dpos-recall-check-button, .dpos-recall-continue { min-height: 48px; display: flex; align-items: center; justify-content: center; padding: 12px 16px; border-radius: 6px; font-size: 13px; font-weight: 700; letter-spacing: .02em; text-align: center; text-decoration: none; }
.dpos-recall-check-button { color: #086faa; background: #fff; border: 1px solid #9fc7df; }
.dpos-recall-check-button:hover, .dpos-recall-check-button:focus-visible { color: #075f92; background: #f2f8fc; outline: none; border-color: #0876b7; }
.dpos-recall-continue { color: #fff; background: #0b1b53; border: 1px solid #0b1b53; cursor: pointer; }
.dpos-recall-continue:hover:not(:disabled), .dpos-recall-continue:focus-visible:not(:disabled) { background: #122669; outline: none; }
.dpos-recall-continue:disabled { color: #9ba8b8; background: #edf1f5; border-color: #e1e7ed; cursor: not-allowed; }

@media (max-width: 640px) {
  .dpos-recall-modal { align-items: center; padding: 14px; }
  .dpos-recall-dialog { width: 100%; max-height: calc(100dvh - 28px); border-radius: 11px; }
  .dpos-recall-header { padding: 19px 18px 15px; }
  .dpos-recall-header h2 { padding-right: 4px; font-size: 25px; }
  .dpos-recall-header p { font-size: 12px; }
  .dpos-recall-close { flex-basis: 34px; width: 34px; height: 34px; }
  .dpos-recall-body { padding: 16px 18px 20px; }
  .dpos-recall-section { padding: 16px; }
  .dpos-recall-image-grid { grid-template-columns: 1fr; }
  .dpos-recall-image-grid img { height: 185px; }
  .dpos-recall-result-note { grid-template-columns: 1fr; }
  .dpos-recall-footer { padding: 14px 18px 18px; }
  .dpos-recall-acknowledgment { max-height: 138px; overflow-y: auto; margin-bottom: 12px; font-size: 14px; }
  .dpos-step3-recall-consent .dpos-recall-acknowledgment { max-height: none; overflow: visible; margin-bottom: 0; font-size: 13px; }
  .dpos-recall-checker-row { grid-template-columns: 1fr; }
  .dpos-recall-checker-row button { width: 100%; }
  .dpos-recall-actions { grid-template-columns: 1fr; gap: 9px; }
  .dpos-recall-check-button, .dpos-recall-continue { min-height: 44px; }
}

@media (max-height: 700px) and (min-width: 641px) {
  .dpos-recall-dialog { max-height: calc(100vh - 24px); }
  .dpos-recall-header { padding-top: 18px; padding-bottom: 15px; }
  .dpos-recall-footer { padding-top: 13px; padding-bottom: 15px; }
  .dpos-recall-acknowledgment { margin-bottom: 12px; }
}
