
/* BUPHA Commerce v1.7.15 typography */
.bupha-product-card h1,
.bupha-product-card h2,
.bupha-product-card h3,
.bupha-checkout-wrap h1,
.bupha-checkout-wrap h2,
.bupha-checkout-wrap h3,
.bupha-checkout-wrap h4,
.bupha-checkout-section-title,
.bupha-cart-empty strong,
.bupha-shipping-title,
.bupha-shipping-category-title,
.bupha-payment-title,
.bupha-payment-detail h1,
.bupha-payment-detail h2,
.bupha-payment-detail h3,
.bupha-payment-detail h4,
.bupha-payment-status-badge,
.bupha-checkout-summary-title,
.bupha-order-success > strong {
  font-family: "Plus Jakarta Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  letter-spacing: -0.015em;
}

.bupha-product-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 18px;
}
.bupha-product-card,
.bupha-checkout-wrap,
.bupha-cart {
  border: 1px solid #e7e1d6;
  border-radius: 18px;
  background: #fffaf2;
  padding: 18px;
  box-shadow: 0 12px 30px rgba(31, 43, 30, .08);
}
.bupha-product-image img {
  width: 100%;
  height: auto;
  border-radius: 14px;
  display: block;
}
.bupha-product-card h3 {
  margin: 12px 0 6px;
  font-size: 18px;
}
.bupha-product-price {
  font-weight: 700;
  margin-bottom: 10px;
}
.bupha-product-price del {
  opacity: .55;
  font-weight: 400;
  margin-left: 6px;
}
.bupha-add-to-cart,
.bupha-checkout-button,
.bupha-cart-checkout,
.bupha-wa-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0;
  border-radius: 999px;
  padding: 12px 18px;
  background: #234333;
  color: #fff !important;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none !important;
  transition: transform .15s ease, opacity .15s ease;
}
.bupha-add-to-cart:hover,
.bupha-checkout-button:hover,
.bupha-cart-checkout:hover,
.bupha-wa-link:hover {
  transform: translateY(-1px);
  opacity: .92;
}
.bupha-add-to-cart.is-added {
  background: #376e51;
}
.bupha-cart-empty {
  color: #6f6f6f;
}
.bupha-cart-item {
  display: grid;
  grid-template-columns: 54px 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(35, 67, 51, .12);
}
.bupha-cart-item img {
  width: 54px;
  height: 54px;
  object-fit: cover;
  border-radius: 12px;
}
.bupha-cart-info span {
  display: block;
  font-size: 13px;
  opacity: .75;
}
.bupha-cart-actions {
  display: flex;
  gap: 7px;
  align-items: center;
}
.bupha-cart-actions input {
  width: 54px;
  height: 36px;
  padding: 7px 6px;
  border-radius: 10px;
  border: 1px solid #ddd;
  text-align: center;
  font-weight: 700;
}
.bupha-cart-actions input::-webkit-outer-spin-button,
.bupha-cart-actions input::-webkit-inner-spin-button {
  margin: 0;
}
.bupha-cart-actions button {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid #d7cec0;
  background: #fff;
  cursor: pointer;
  font-weight: 800;
  line-height: 1;
}
.bupha-cart-qty-btn {
  color: #234333;
}
.bupha-cart-remove {
  color: #8f2b2b;
}
.bupha-cart-total {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding-top: 14px;
  font-size: 16px;
}
.bupha-checkout-wrap h3 {
  margin-top: 0;
}
.bupha-checkout-form {
  display: grid;
  gap: 12px;
  margin-top: 16px;
}
.bupha-checkout-form label {
  display: grid;
  gap: 6px;
  font-weight: 600;
}
.bupha-checkout-form input,
.bupha-checkout-form textarea {
  width: 100%;
  border: 1px solid #ddd5c8;
  border-radius: 12px;
  padding: 12px 14px;
  background: #fff;
}
.bupha-bank-instruction {
  background: #fff;
  border-left: 4px solid #234333;
  border-radius: 12px;
  padding: 12px 14px;
  margin: 14px 0;
}
.bupha-alert {
  padding: 12px 14px;
  border-radius: 12px;
  background: #f3eee5;
}
.bupha-alert-success {
  background: #e9f7ef;
}
.bupha-alert-error {
  background: #fdecec;
}
.bupha-wa-link {
  margin-top: 12px;
}
@media (max-width: 540px) {
  .bupha-cart-item {
    grid-template-columns: 44px 1fr;
  }
  .bupha-cart-actions {
    grid-column: 2;
    flex-wrap: wrap;
  }
}
.bupha-stock-badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 700;
  margin: 4px 0 10px;
}
.bupha-stock-out {
  background: #f6e8e8;
  color: #8f2b2b;
}
.bupha-add-to-cart-disabled,
.bupha-add-to-cart:disabled {
  opacity: .55;
  cursor: not-allowed;
  transform: none !important;
}
.bupha-cart-meta {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding-top: 8px;
  font-size: 13px;
  opacity: .78;
}
.bupha-cart-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 14px;
}
.bupha-cart-checkout {
  min-width: 160px;
}
.bupha-cart-clear {
  margin-top: 0;
  border: 0;
  background: transparent;
  color: #8f2b2b;
  cursor: pointer;
  font-weight: 700;
  padding: 0;
}
.bupha-cart-notice {
  background: #fff6df;
  border: 1px solid #f0d79b;
  color: #6f520d;
  border-radius: 12px;
  padding: 10px 12px;
  margin-bottom: 12px;
  font-size: 13px;
}

.bupha-cart-empty {
  display: grid;
  gap: 8px;
  color: #6f6f6f;
}
.bupha-cart-empty strong {
  color: #234333;
  font-size: 16px;
}
.bupha-cart-empty span {
  display: block;
}
.bupha-cart-continue {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-top: 6px;
  border-radius: 999px;
  padding: 10px 15px;
  background: #234333;
  color: #fff !important;
  font-weight: 700;
  text-decoration: none !important;
}
.bupha-toast {
  position: fixed;
  left: 50%;
  bottom: 24px;
  z-index: 99999;
  transform: translate(-50%, 16px);
  opacity: 0;
  pointer-events: none;
  background: #234333;
  color: #fff;
  border-radius: 999px;
  padding: 12px 18px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, .16);
  font-weight: 700;
  transition: opacity .2s ease, transform .2s ease;
}
.bupha-toast.is-visible {
  opacity: 1;
  transform: translate(-50%, 0);
}

.bupha-toast.is-cart-added {
  top: 24px;
  bottom: auto;
  border-radius: 18px;
  padding: 14px 20px;
  background: #0f4f37;
  box-shadow: 0 18px 46px rgba(15, 79, 55, .22);
  transform: translate(-50%, -16px);
}
.bupha-toast.is-cart-added.is-visible {
  transform: translate(-50%, 0);
}
.bupha-cart-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  background: #234333;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
}
.bupha-cart-count.is-empty {
  opacity: .45;
}
@media (max-width: 540px) {
  .bupha-toast {
    width: calc(100% - 32px);
    text-align: center;
    border-radius: 16px;
  }
}

.bupha-product-label {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  border-radius: 999px;
  padding: 5px 10px;
  background: #efe4cf;
  color: #234333;
  font-size: 12px;
  font-weight: 800;
  margin: 10px 0 0;
}
.bupha-checkout-section-title {
  margin: 16px 0 10px;
  font-weight: 800;
  color: #234333;
}
.bupha-checkout-section-title:first-of-type {
  margin-top: 0;
}
.bupha-checkout-button.is-loading,
.bupha-checkout-button:disabled {
  opacity: .72;
  cursor: wait;
  transform: none !important;
}

.bupha-cart-info del {
  opacity: .55;
  margin-left: 4px;
}
.bupha-checkout-form .bupha-field-error {
  border-color: #b93b3b;
  background: #fff8f8;
}


.bupha-checkout-summary {
  margin: 16px 0 14px;
  border: 1px solid rgba(35, 67, 51, .14);
  border-radius: 18px;
  background: #fbfaf6;
  padding: 14px;
}
.bupha-checkout-summary-title {
  font-weight: 800;
  color: #234333;
  margin-bottom: 10px;
}
.bupha-checkout-summary-row,
.bupha-checkout-summary-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 7px 0;
  border-top: 1px solid rgba(35, 67, 51, .08);
}
.bupha-checkout-summary-row span,
.bupha-checkout-summary-note,
.bupha-checkout-summary-empty {
  color: #667266;
}
.bupha-checkout-summary-total {
  margin-top: 6px;
  padding-top: 12px;
  font-size: 16px;
  color: #234333;
}
.bupha-checkout-summary-total strong {
  font-size: 18px;
}
.bupha-checkout-summary-note {
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.5;
}
.bupha-checkout-summary-empty {
  font-size: 14px;
  line-height: 1.5;
}

.bupha-order-success {
  display: grid;
  gap: 12px;
  padding: 16px;
  border-radius: 18px;
  background: #e9f7ef;
  border: 1px solid rgba(35, 67, 51, .14);
}
.bupha-order-success > strong {
  color: #234333;
  font-size: 18px;
}
.bupha-order-success > span {
  color: #516151;
}
.bupha-order-success-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.bupha-order-success-summary div {
  border-radius: 14px;
  background: rgba(255,255,255,.72);
  padding: 12px;
}
.bupha-order-success-summary span {
  display: block;
  font-size: 12px;
  color: #667266;
  margin-bottom: 4px;
}
.bupha-order-success-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
@media (max-width: 540px) {
  .bupha-order-success-summary {
    grid-template-columns: 1fr;
  }
}

/* BUPHA Commerce v1.5.0 shipping */
.bupha-shipping-box {
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 14px;
  padding: 14px;
  background: #fff;
  margin: 10px 0 14px;
}
.bupha-shipping-title {
  font-weight: 700;
  margin-bottom: 8px;
}
.bupha-shipping-empty,
.bupha-shipping-loading {
  font-size: 13px;
  opacity: .75;
}
.bupha-shipping-option {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  cursor: pointer;
}
.bupha-shipping-option + .bupha-shipping-option {
  border-top: 1px solid rgba(0,0,0,.06);
}
.bupha-shipping-option input {
  margin: 0;
}

.bupha-destination-suggestions {
  position: relative;
  margin: -8px 0 12px;
  display: grid;
  gap: 6px;
}
.bupha-destination-option,
.bupha-destination-empty {
  width: 100%;
  text-align: left;
  border: 1px solid rgba(22, 101, 52, .14);
  background: #fff;
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 13px;
  line-height: 1.35;
}
.bupha-destination-option {
  cursor: pointer;
}
.bupha-destination-option:hover {
  background: #f7fbf8;
}
.bupha-destination-empty {
  color: #64748b;
  background: #f8fafc;
}


/* BUPHA Commerce v1.5.7 shipping diagnostics */
.bupha-commerce .bupha-destination-suggestions,
.bupha-destination-suggestions {
  position: relative;
  z-index: 20;
}
.bupha-commerce .bupha-destination-option,
.bupha-commerce .bupha-destination-empty,
.bupha-destination-option,
.bupha-destination-empty {
  color: #1f2937 !important;
  background: #ffffff !important;
  opacity: 1 !important;
  text-shadow: none !important;
  -webkit-text-fill-color: #1f2937 !important;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .05);
}
.bupha-commerce .bupha-destination-option:hover,
.bupha-commerce .bupha-destination-option:focus,
.bupha-destination-option:hover,
.bupha-destination-option:focus {
  color: #064e3b !important;
  -webkit-text-fill-color: #064e3b !important;
  background: #eef8f1 !important;
  border-color: rgba(22, 101, 52, .35) !important;
  outline: none;
}
.bupha-commerce .bupha-destination-option.is-selected,
.bupha-destination-option.is-selected {
  color: #064e3b !important;
  -webkit-text-fill-color: #064e3b !important;
  background: #ecfdf5 !important;
  border-color: rgba(22, 101, 52, .55) !important;
}
.bupha-commerce .bupha-destination-empty,
.bupha-destination-empty {
  color: #64748b !important;
  -webkit-text-fill-color: #64748b !important;
  background: #f8fafc !important;
}
.bupha-commerce .bupha-shipping-option,
.bupha-commerce .bupha-shipping-empty,
.bupha-commerce .bupha-shipping-loading,
.bupha-shipping-option,
.bupha-shipping-empty,
.bupha-shipping-loading {
  color: #1f2937 !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #1f2937 !important;
}
.bupha-commerce .bupha-shipping-empty,
.bupha-commerce .bupha-shipping-loading,
.bupha-shipping-empty,
.bupha-shipping-loading {
  color: #64748b !important;
  -webkit-text-fill-color: #64748b !important;
}
.bupha-commerce .bupha-shipping-option span,
.bupha-shipping-option span {
  color: #1f2937 !important;
  -webkit-text-fill-color: #1f2937 !important;
}


/* Shipping source/diagnostic labels */
.bupha-shipping-source {
  margin: 0 0 10px;
  padding: 10px 12px;
  border-radius: 12px;
  background: #ecfdf5;
  border: 1px solid #a7f3d0;
  color: #065f46;
  font-size: 13px;
  line-height: 1.45;
}
.bupha-shipping-source.is-fallback {
  background: #fff7ed;
  border-color: #fed7aa;
  color: #9a3412;
}
.bupha-shipping-option-source {
  display: block;
  margin-top: 4px;
  color: #64748b !important;
  font-size: 12px;
  line-height: 1.35;
  font-weight: 500;
}

/* BUPHA Commerce v1.5.11 Shopee-style shipping categories */
.bupha-shipping-category {
  margin: 12px 0 10px;
  border: 1px solid rgba(16, 185, 129, .14);
  border-radius: 12px;
  overflow: hidden;
  background: #ffffff;
}
.bupha-shipping-category-title {
  padding: 10px 12px;
  background: #f0fdf4;
  color: #166534 !important;
  -webkit-text-fill-color: #166534 !important;
  font-weight: 800;
  font-size: 14px;
  border-bottom: 1px solid rgba(16, 185, 129, .14);
}
.bupha-shipping-category .bupha-shipping-option {
  padding: 10px 12px;
}
.bupha-shipping-category .bupha-shipping-option + .bupha-shipping-option {
  border-top: 1px solid rgba(0,0,0,.06);
}

/* BUPHA Commerce v1.6.2 payment method foundation */
.bupha-payment-box {
  margin: 16px 0;
  padding: 16px;
  border: 1px solid rgba(16, 185, 129, .16);
  border-radius: 14px;
  background: #fff;
}
.bupha-payment-title {
  margin-bottom: 10px;
  color: #1f2937 !important;
  -webkit-text-fill-color: #1f2937 !important;
  font-weight: 800;
  font-size: 16px;
}
.bupha-payment-options {
  display: grid;
  gap: 10px;
}
.bupha-payment-option {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 12px;
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  background: #fff;
  color: #1f2937 !important;
  -webkit-text-fill-color: #1f2937 !important;
  cursor: pointer;
}
.bupha-payment-option:hover {
  border-color: rgba(16, 185, 129, .35);
  background: #f8fffb;
}
.bupha-payment-option input {
  margin-top: 4px;
}
.bupha-payment-method-desc {
  margin-top: 3px;
  color: #64748b !important;
  -webkit-text-fill-color: #64748b !important;
  font-size: 12px;
  line-height: 1.4;
}

/* BUPHA Commerce v1.6.2 manual payment success */
.bupha-order-success-payment{margin-top:14px;text-align:left}
.bupha-payment-instruction{border:1px solid #e5e7eb;border-radius:14px;background:#fff;padding:14px;display:grid;gap:10px}
.bupha-payment-instruction-total{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:#f8fafc}
.bupha-payment-instruction-total span{color:#64748b;font-size:13px}
.bupha-payment-instruction-total strong{font-size:18px}
.bupha-bank-account-list{display:grid;gap:8px}
.bupha-bank-account-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #edf2f7;border-radius:12px;background:#fbfdff}
.bupha-bank-account-item span{color:#334155}
.bupha-bank-account-item strong{font-size:16px;letter-spacing:.3px}
.bupha-payment-instruction-text{color:#334155;font-size:14px;line-height:1.55}
.bupha-wa-proof{background:#0f766e!important}

.bupha-payment-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:8px 10px}
.bupha-gateway-payment-instruction code{white-space:normal;word-break:break-word}

/* BUPHA Commerce v1.6.4 QRIS dynamic foundation */
.bupha-qris-box {
  display: flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-start;
  margin: 12px 0;
  padding: 12px;
  border: 1px solid #e5e7eb;
  border-radius: 14px;
  background: #ffffff;
}
.bupha-qris-image {
  max-width: 240px;
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid #eef2f7;
  border-radius: 12px;
  background: #ffffff;
  padding: 8px;
}
.bupha-qris-payload {
  display: block;
  max-width: 100%;
  overflow-wrap: anywhere;
  white-space: normal;
  padding: 10px;
  border-radius: 10px;
  background: #f8fafc;
}


/* BUPHA Commerce v1.6.7 payment UX finalization */
.bupha-payment-instruction > strong{display:block;font-size:18px;line-height:1.3;word-break:normal;overflow-wrap:anywhere}
.bupha-payment-ref{display:grid;gap:4px;margin:4px 0}.bupha-payment-ref span{font-size:12px;color:#64748b}.bupha-payment-ref code{display:block;padding:8px 10px;border-radius:10px;background:#f8fafc;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.bupha-payment-log{grid-column:1/-1;margin-top:8px}.bupha-payment-log summary{cursor:pointer;color:#0f766e;font-weight:700}.bupha-payment-log pre{max-height:260px;overflow:auto;background:#0f172a;color:#e2e8f0;border-radius:10px;padding:12px;white-space:pre-wrap;word-break:break-word}
@media (max-width: 640px){.bupha-payment-instruction{padding:12px}.bupha-payment-instruction > strong{font-size:17px}.bupha-order-success-actions .bupha-wa-proof{display:none}}

.bupha-va-bank-wrap {
  margin-top: 10px;
  padding: 12px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: #fff;
}
.bupha-va-bank-wrap label {
  display: grid;
  gap: 6px;
  font-weight: 600;
}
.bupha-va-bank-wrap select {
  width: 100%;
  min-height: 42px;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  padding: 8px 10px;
  background: #fff;
  color: #111827;
}

/* BUPHA Commerce v1.7.12: VA bank selector is embedded in the selected payment card */
.bupha-payment-option .bupha-va-bank-wrap {
  margin-top: 10px;
  padding: 10px;
  border: 1px solid #dbeafe;
  border-radius: 12px;
  background: #f8fffb;
}
.bupha-va-bank-title {
  margin-bottom: 6px;
  color: #0f766e !important;
  -webkit-text-fill-color: #0f766e !important;
  font-weight: 700;
  font-size: 13px;
}
.bupha-payment-option .bupha-va-bank-wrap select {
  width: 100%;
  min-height: 42px;
  border: 1px solid #d1d5db;
  border-radius: 10px;
  padding: 8px 10px;
  background: #fff;
  color: #111827 !important;
  -webkit-text-fill-color: #111827 !important;
}

.bupha-payment-detail {
  border: 1px solid #e7e1d6;
  border-radius: 22px;
  background: #fffaf2;
  padding: 20px;
  box-shadow: 0 14px 34px rgba(31, 43, 30, .08);
}
.bupha-payment-detail-header {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 18px;
}
.bupha-payment-detail-header h3 {
  margin: 0 0 6px;
}
.bupha-payment-detail-header p {
  margin: 0;
  color: #5d6558;
}
.bupha-payment-status-badge {
  border-radius: 999px;
  padding: 8px 12px;
  font-weight: 700;
  background: #fff1cf;
  color: #7a4a00;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.bupha-customer-order-tabs .bupha-order-tab-icon {
  font-size: var(--bupha-order-tab-icon-size, 16px);
  font-style: normal;
  font-size: var(--bupha-order-tab-icon-size);
  line-height: 1;
  display: inline-flex;
}
.bupha-payment-status-badge.is-paid {
  background: #e7f7e8;
  color: #20622c;
}
.bupha-payment-status-badge.is-failed,
.bupha-payment-status-badge.is-expired {
  background: #fde8e8;
  color: #9b1c1c;
}
.bupha-payment-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr);
  gap: 16px;
}
.bupha-payment-detail-grid.bupha-payment-detail-payment-only {
  grid-template-columns: minmax(0, 760px);
  justify-content: center;
}
.bupha-payment-detail-grid.bupha-payment-detail-payment-only .bupha-payment-card {
  width: 100%;
  box-sizing: border-box;
}

.bupha-payment-card {
  border: 1px solid #eadfcd;
  border-radius: 18px;
  background: #fff;
  padding: 16px;
}
.bupha-payment-card h4 {
  margin: 0 0 12px;
}
.bupha-payment-detail-row,
.bupha-payment-item,
.bupha-payment-total-row {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 9px 0;
  border-bottom: 1px solid #f0eadf;
}
.bupha-payment-detail-row span,
.bupha-payment-item span {
  color: #5d6558;
}
.bupha-payment-items {
  margin: 10px 0;
}
.bupha-payment-total-row {
  border-bottom: 0;
  padding-top: 14px;
  font-size: 18px;
}
.bupha-payment-total-row strong {
  font-size: 20px;
}
.bupha-payment-help {
  margin-top: 16px;
  border-top: 1px solid #f0eadf;
  padding-top: 14px;
}
.bupha-payment-help p {
  margin: 6px 0 12px;
  color: #5d6558;
}
.bupha-payment-detail-empty {
  text-align: center;
}
@media (max-width: 767px) {
  .bupha-payment-detail-header,
  .bupha-payment-detail-row,
  .bupha-payment-item,
  .bupha-payment-total-row {
    align-items: flex-start;
  }
  .bupha-payment-detail-header {
    flex-direction: column;
  }
  .bupha-payment-detail-grid {
    grid-template-columns: 1fr;
  }
}

.bupha-copy-row {
  align-items: center;
  flex-wrap: wrap;
}
.bupha-copy-button {
  border: 1px solid #d7eadb;
  background: #f3fbf4;
  color: #0b5a38;
  border-radius: 999px;
  padding: 7px 12px;
  font: inherit;
  font-weight: 700;
  font-size: 13px;
  cursor: pointer;
  margin-left: auto;
}
.bupha-copy-button:hover,
.bupha-copy-button.is-copied {
  background: #0b5a38;
  color: #fff;
  border-color: #0b5a38;
}
.bupha-payment-live-notice {
  margin: 12px 0;
}
.bupha-alert-success {
  background: #e7f7e8;
  border-color: #bfe8c4;
  color: #20622c;
}
@media (max-width: 767px) {
  .bupha-copy-button {
    width: 100%;
    margin-left: 0;
    margin-top: 8px;
  }
}

.bupha-payment-check-button {
  width: 100%;
  border: 1px solid #234333;
  background: #234333;
  color: #fff;
  border-radius: 999px;
  padding: 12px 16px;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
  margin: 12px 0 4px;
}
.bupha-payment-check-button:hover {
  filter: brightness(.96);
}
.bupha-payment-check-button:disabled {
  opacity: .65;
  cursor: wait;
}
.bupha-alert-soft {
  background: #f7f2ea;
  border: 1px solid #eadfcd;
  color: #4b5148;
}
.bupha-alert-warning {
  background: #fff5db;
  border: 1px solid #f0d593;
  color: #6d4b00;
}
.bupha-payment-status-badge.is-refunded {
  background: #eef0ff;
  color: #303b7a;
}


/* Customer Dashboard */
.bupha-customer-dashboard{
  font-family:'Plus Jakarta Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:#fff;
  border:1px solid #edf0f3;
  border-radius:22px;
  padding:22px;
  box-shadow:0 16px 45px rgba(15,23,42,.06);
}
.bupha-customer-dashboard-header h3{margin:0 0 6px;font-size:24px;line-height:1.2;color:#12372a}
.bupha-customer-dashboard-header p{margin:0 0 18px;color:#667085;font-size:14px;line-height:1.6}
.bupha-customer-dashboard-form{display:flex;gap:12px;align-items:flex-end;margin-bottom:14px}
.bupha-customer-dashboard-form label{flex:1;font-weight:700;font-size:13px;color:#344054}
.bupha-customer-dashboard-form input{width:100%;margin-top:7px;border:1px solid #d0d5dd;border-radius:14px;padding:12px 14px;font-size:15px}
.bupha-customer-dashboard-button,.bupha-customer-order-link{
  display:inline-flex;align-items:center;justify-content:center;
  border:0;border-radius:14px;background:#12372a;color:#fff!important;
  padding:12px 16px;font-weight:800;text-decoration:none;cursor:pointer;
}
.bupha-customer-dashboard-button:disabled{opacity:.65;cursor:not-allowed}
.bupha-customer-dashboard-results{display:grid;gap:14px;margin-top:16px}
.bupha-customer-order-card{border:1px solid #e5e7eb;border-radius:18px;padding:16px;background:#fafafa}
.bupha-customer-order-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.bupha-customer-order-head strong{display:block;font-size:16px;color:#111827}
.bupha-customer-order-head small{display:block;color:#667085;margin-top:2px}
.bupha-customer-order-head span{font-weight:900;color:#12372a}
.bupha-customer-order-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}
.bupha-customer-order-grid div{background:#fff;border:1px solid #edf0f3;border-radius:14px;padding:10px}
.bupha-customer-order-grid span{display:block;color:#667085;font-size:12px;margin-bottom:3px}
.bupha-customer-order-grid strong{font-size:13px;color:#111827}
.bupha-customer-products ul{margin:0 0 12px;padding-left:18px;color:#374151;font-size:13px}
.bupha-customer-empty{padding:14px;border-radius:14px;background:#f9fafb;color:#667085}
@media (max-width:640px){
  .bupha-customer-dashboard-form{display:block}
  .bupha-customer-dashboard-button{width:100%;margin-top:10px}
  .bupha-customer-order-grid{grid-template-columns:1fr}
}


/* Customer account access */
.bupha-account-access-box{
  margin-top:16px;
  padding:14px;
  border:1px solid #e5e7eb;
  border-radius:16px;
  background:#f9fafb;
}
.bupha-account-access-box h5{margin:0 0 6px;font-size:15px;color:#12372a}
.bupha-account-access-box p{margin:0 0 10px;color:#667085;font-size:13px;line-height:1.5}
.bupha-account-access-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:8px 0;
  border-top:1px dashed #e5e7eb;
}
.bupha-account-access-row span{font-size:12px;color:#667085}
.bupha-account-access-row code{
  font-size:13px;
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:10px;
  padding:5px 8px;
  color:#111827;
}
.bupha-account-access-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}
.bupha-account-secondary-link{font-weight:800;text-decoration:none;color:#12372a}
.bupha-customer-login-strip{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:14px 0 0;
  padding:10px 12px;
  border:1px solid #edf0f3;
  border-radius:14px;
  background:#f9fafb;
  font-size:13px;
  color:#667085;
}
.bupha-customer-login-strip a{font-weight:800;color:#12372a;text-decoration:none}
@media(max-width:640px){
  .bupha-customer-login-strip{display:block}
  .bupha-customer-login-strip a{display:inline-block;margin-top:6px}
}


.bupha-customer-order-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:10px;
}
.bupha-customer-detail-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #12372a;
  border-radius:14px;
  background:#fff;
  color:#12372a;
  padding:11px 15px;
  font-weight:800;
  cursor:pointer;
}
.bupha-customer-order-detail{
  margin-top:14px;
  border-top:1px dashed #d0d5dd;
  padding-top:14px;
  display:grid;
  gap:12px;
}
.bupha-customer-detail-section{
  background:#fff;
  border:1px solid #edf0f3;
  border-radius:16px;
  padding:14px;
}
.bupha-customer-detail-section h4{
  margin:0 0 10px;
  font-size:14px;
  color:#12372a;
}
.bupha-customer-detail-section p{
  margin:4px 0;
  color:#475467;
  font-size:13px;
  line-height:1.5;
}
.bupha-customer-detail-product,
.bupha-customer-detail-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:8px 0;
  border-bottom:1px solid #f2f4f7;
  font-size:13px;
}
.bupha-customer-detail-product:last-child,
.bupha-customer-detail-row:last-child{border-bottom:0}
.bupha-customer-detail-row.is-total{
  font-size:15px;
  font-weight:900;
  color:#12372a;
}


/* Customer tracking timeline */
.bupha-customer-tracking-timeline{
  margin:14px 0;
  padding:12px;
  border:1px solid #edf0f3;
  border-radius:16px;
  background:#fff;
}
.bupha-customer-track-step{
  position:relative;
  display:grid;
  grid-template-columns:22px 1fr;
  gap:10px;
  padding:0 0 14px;
  color:#98a2b3;
}
.bupha-customer-track-step:last-child{padding-bottom:0}
.bupha-customer-track-step:before{
  content:"";
  position:absolute;
  left:8px;
  top:18px;
  bottom:-2px;
  width:2px;
  background:#e5e7eb;
}
.bupha-customer-track-step:last-child:before{display:none}
.bupha-customer-track-dot{
  width:18px;
  height:18px;
  border-radius:999px;
  background:#e5e7eb;
  border:3px solid #fff;
  box-shadow:0 0 0 1px #e5e7eb;
  margin-top:2px;
  z-index:1;
}
.bupha-customer-track-step strong{
  display:block;
  font-size:13px;
  color:#667085;
}
.bupha-customer-track-step p{
  margin:2px 0 0;
  font-size:12px;
  line-height:1.45;
  color:#98a2b3;
}
.bupha-customer-track-step.is-done .bupha-customer-track-dot,
.bupha-customer-track-step.is-current .bupha-customer-track-dot{
  background:#12372a;
  box-shadow:0 0 0 1px #12372a;
}
.bupha-customer-track-step.is-done:before{background:#12372a}
.bupha-customer-track-step.is-current strong,
.bupha-customer-track-step.is-done strong{color:#12372a}
.bupha-customer-track-step.is-current p,
.bupha-customer-track-step.is-done p{color:#475467}


.bupha-customer-dashboard-live-note{
  margin:8px 0 0;
  color:#667085;
  font-size:12px;
  line-height:1.5;
}


/* v1.9.4 Manual Bank Transfer polish */
.bupha-manual-transfer-instruction {
  display: grid;
  gap: 14px;
}

.bupha-payment-instruction-title {
  display: block;
  font-size: 18px;
  color: var(--bupha-green, #064e3b);
  margin-bottom: 2px;
}

.bupha-copy-total-row,
.bupha-bank-account-item {
  border: 1px solid rgba(6, 78, 59, 0.12);
  border-radius: 16px;
  background: rgba(250, 247, 239, 0.65);
}

.bupha-bank-account-list {
  display: grid;
  gap: 10px;
}

.bupha-bank-account-item {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px;
  padding: 14px;
}

.bupha-bank-account-info {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.bupha-bank-account-label {
  font-size: 13px;
  color: #6b7280;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.bupha-bank-account-info small {
  color: #6b7280;
}

.bupha-bank-account-number {
  font-size: 18px;
  color: #111827;
  word-break: break-all;
}

.bupha-copy-account-button,
.bupha-copy-button {
  white-space: nowrap;
}

.bupha-payment-confirm-box {
  margin-top: 16px;
  padding: 14px;
  border: 1px solid rgba(6, 78, 59, 0.12);
  border-radius: 18px;
  background: #fff;
}

.bupha-payment-confirm-note {
  margin: 0 0 12px;
  color: #4b5563;
  line-height: 1.55;
}

.bupha-payment-confirm-button {
  width: 100%;
  justify-content: center;
  text-align: center;
}

.bupha-payment-no-account-note {
  padding: 12px 14px;
  border-radius: 14px;
  background: #fff7ed;
  color: #9a3412;
}

@media (max-width: 560px) {
  .bupha-bank-account-item {
    grid-template-columns: 1fr;
  }
  .bupha-copy-account-button {
    width: 100%;
  }
}


/* v1.10.0 Customer Dashboard Pro */
.bupha-customer-dashboard-pro {
  display: grid;
  gap: 18px;
}

.bupha-customer-dashboard-pro-header {
  align-items: flex-start;
}

.bupha-customer-dashboard-kicker {
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--bupha-green, #064e3b);
  margin-bottom: 6px;
}

.bupha-customer-dashboard-shell {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.bupha-customer-dashboard-menu {
  position: sticky;
  top: 16px;
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--bupha-dashboard-menu-border, rgba(6, 78, 59, .12));
  border-radius: var(--bupha-dashboard-menu-bg-radius, 20px);
  background: var(--bupha-dashboard-menu-bg, rgba(255,255,255,.78));
}

.bupha-customer-dashboard-menu button,
.bupha-customer-dashboard-menu a {
  appearance: none;
  border: 0;
  text-align: left;
  text-decoration: none;
  padding: 12px 14px;
  border-radius: var(--bupha-dashboard-menu-item-radius, 14px);
  background: transparent;
  color: var(--bupha-dashboard-menu-text, #374151);
  font-weight: 700;
  cursor: pointer;
}

.bupha-customer-dashboard-menu button.is-active,
.bupha-customer-dashboard-menu a:hover,
.bupha-customer-dashboard-menu button:hover {
  background: var(--bupha-dashboard-menu-active-bg, rgba(6, 78, 59, .08));
  color: var(--bupha-dashboard-menu-active-text, var(--bupha-green, #064e3b));
}

.bupha-customer-dashboard-panel {
  display: none;
}

.bupha-customer-dashboard-panel.is-active {
  display: grid;
  gap: 14px;
}

.bupha-customer-profile-card,
.bupha-customer-placeholder-card {
  display: flex;
  gap: 14px;
  align-items: center;
  padding: 18px;
  border: 1px solid rgba(6, 78, 59, .12);
  border-radius: 22px;
  background: #fff;
}

.bupha-customer-avatar {
  width: 58px;
  height: 58px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(6, 78, 59, .1);
  color: var(--bupha-green, #064e3b);
  font-size: 24px;
  font-weight: 800;
  flex: 0 0 auto;
}


.bupha-customer-order-sticky-area {
  display: flex;
  flex-direction: column;
}

/* Logo-aware floating order filter top cover.
   When the header/filter is placed below the dashboard logo, this fills
   the sticky gap up to the top edge with a clean background so content
   does not show through while scrolling. */
.bupha-customer-dashboard-pro.has-order-filter-below-logo.has-order-filter-floating-position-top .bupha-customer-order-sticky-area {
  isolation: isolate;
}
.bupha-customer-dashboard-pro.has-order-filter-below-logo.has-order-filter-floating-position-top .bupha-customer-order-sticky-area::before {
  content: "";
  position: absolute;
  left: -24px;
  right: -24px;
  bottom: 100%;
  height: var(--bupha-order-filter-top-cover-height, var(--bupha-order-filter-sticky-top, 0px));
  background: var(--bupha-order-filter-top-cover-bg, #ffffff);
  pointer-events: none;
  z-index: -1;
}
@media (max-width: 720px) {
  .bupha-customer-dashboard-pro.has-order-filter-below-logo.has-order-filter-floating-position-top .bupha-customer-order-sticky-area::before {
    left: -16px;
    right: -16px;
  }
}

.bupha-customer-dashboard-pro.has-order-filter-order-header_first .bupha-customer-orders-header { order: 1; }
.bupha-customer-dashboard-pro.has-order-filter-order-header_first .bupha-customer-order-tabs { order: 2; }
.bupha-customer-dashboard-pro.has-order-filter-order-filter_first .bupha-customer-order-tabs { order: 1; }
.bupha-customer-dashboard-pro.has-order-filter-order-filter_first .bupha-customer-orders-header { order: 2; }

.bupha-customer-dashboard-pro.has-order-filter-floating-all .bupha-customer-order-sticky-area {
  position: sticky;
  z-index: 60;
  background: var(--bupha-order-filter-sticky-bg);
  padding: var(--bupha-order-filter-sticky-padding);
  border-radius: var(--bupha-order-filter-sticky-radius);
  box-shadow: var(--bupha-order-filter-sticky-shadow);
  backdrop-filter: blur(10px);
}
.bupha-customer-dashboard-pro.has-order-filter-floating-position-top.has-order-filter-floating-all .bupha-customer-order-sticky-area { top: var(--bupha-order-filter-sticky-top); bottom: auto; }
.bupha-customer-dashboard-pro.has-order-filter-floating-position-bottom.has-order-filter-floating-all .bupha-customer-order-sticky-area { bottom: var(--bupha-order-filter-sticky-bottom); top: auto; }

@media (min-width: 721px) {
  .bupha-customer-dashboard-pro.has-order-filter-floating-desktop .bupha-customer-order-sticky-area {
    position: sticky;
    z-index: 60;
    background: var(--bupha-order-filter-sticky-bg);
    padding: var(--bupha-order-filter-sticky-padding);
    border-radius: var(--bupha-order-filter-sticky-radius);
    box-shadow: var(--bupha-order-filter-sticky-shadow);
    backdrop-filter: blur(10px);
  }
  .bupha-customer-dashboard-pro.has-order-filter-floating-position-top.has-order-filter-floating-desktop .bupha-customer-order-sticky-area { top: var(--bupha-order-filter-sticky-top); bottom: auto; }
  .bupha-customer-dashboard-pro.has-order-filter-floating-position-bottom.has-order-filter-floating-desktop .bupha-customer-order-sticky-area { bottom: var(--bupha-order-filter-sticky-bottom); top: auto; }
}

@media (max-width: 720px) {
  .bupha-customer-dashboard-pro.has-order-filter-floating-mobile .bupha-customer-order-sticky-area {
    position: sticky;
    z-index: 60;
    background: var(--bupha-order-filter-sticky-bg);
    padding: var(--bupha-order-filter-sticky-padding);
    border-radius: var(--bupha-order-filter-sticky-radius);
    box-shadow: var(--bupha-order-filter-sticky-shadow);
    backdrop-filter: blur(10px);
  }
  .bupha-customer-dashboard-pro.has-order-filter-floating-position-top.has-order-filter-floating-mobile .bupha-customer-order-sticky-area { top: var(--bupha-order-filter-sticky-top); bottom: auto; }
  .bupha-customer-dashboard-pro.has-order-filter-floating-position-bottom.has-order-filter-floating-mobile .bupha-customer-order-sticky-area { bottom: var(--bupha-order-filter-sticky-bottom); top: auto; }
}

.bupha-customer-order-tabs {
  --bupha-order-tab-font-size: 16px;
  --bupha-order-tab-font-weight: 700;
  --bupha-order-tab-radius: 999px;
  --bupha-order-tab-padding-y: 12px;
  --bupha-order-tab-padding-x: 22px;
  --bupha-order-tab-active-bg: var(--bupha-green, #064e3b);
  --bupha-order-tab-active-text: #fff;
  --bupha-order-tab-inactive-bg: #fff;
  --bupha-order-tab-inactive-text: #4b5563;
  --bupha-order-tab-badge-bg: #e5e7eb;
  --bupha-order-tab-badge-text: #374151;
  --bupha-order-tab-border: rgba(6, 78, 59, .14);
  --bupha-order-tab-gap: 10px;
  --bupha-order-tab-icon-size: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: var(--bupha-order-tab-gap);
  margin: 8px 0 4px;
}

.bupha-customer-order-tabs button {
  appearance: none;
  border: 1px solid var(--bupha-order-tab-border);
  background: var(--bupha-order-tab-inactive-bg);
  border-radius: var(--bupha-order-tab-radius);
  padding: var(--bupha-order-tab-padding-y) var(--bupha-order-tab-padding-x);
  font-size: var(--bupha-order-tab-font-size);
  font-weight: var(--bupha-order-tab-font-weight);
  line-height: 1.1;
  color: var(--bupha-order-tab-inactive-text);
  cursor: pointer;
  white-space: nowrap;
}

.bupha-customer-order-tabs button.is-active {
  background: var(--bupha-order-tab-active-bg);
  color: var(--bupha-order-tab-active-text);
}

.bupha-customer-order-tabs span {
  display: inline-flex;
  min-width: 20px;
  justify-content: center;
  margin-left: 6px;
  padding: 2px 7px;
  border-radius: 99px;
  background: var(--bupha-order-tab-badge-bg);
  color: var(--bupha-order-tab-badge-text);
}

.bupha-customer-order-tabs button.is-active span {
  background: rgba(255,255,255,.22);
  color: inherit;
}

@media (max-width: 640px) {
  .bupha-customer-order-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    padding: 0 2px 8px;
    margin-left: -2px;
    margin-right: -2px;
  }

  .bupha-customer-order-tabs::-webkit-scrollbar {
    display: none;
  }

  .bupha-customer-order-tabs button {
    flex: 0 0 auto;
  }
}

.bupha-customer-order-summary-card {
  padding: 14px;
}

.bupha-customer-order-summary {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.bupha-customer-order-thumb {
  width: 72px;
  height: 72px;
  border-radius: 16px;
  overflow: hidden;
  background: rgba(6,78,59,.08);
  display: grid;
  place-items: center;
  color: var(--bupha-green, #064e3b);
  font-weight: 800;
  font-size: 22px;
}

.bupha-customer-order-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bupha-customer-order-main {
  min-width: 0;
  display: grid;
  gap: 8px;
}

.bupha-customer-order-meta {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.bupha-customer-order-meta span {
  display: inline-flex;
  padding: 4px 8px;
  border-radius: 99px;
  background: #f3f4f6;
  color: #4b5563;
  font-size: 12px;
  font-weight: 700;
}

.bupha-customer-order-link.is-secondary {
  background: #fff;
  color: var(--bupha-green, #064e3b);
  border: 1px solid rgba(6,78,59,.22);
}

.bupha-customer-detail-product {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
}

.bupha-customer-detail-product img {
  width: 42px;
  height: 42px;
  border-radius: 10px;
  object-fit: cover;
}

.bupha-customer-detail-actions {
  margin-top: 12px;
}

@media (max-width: 720px) {
  .bupha-customer-dashboard-shell {
    grid-template-columns: 1fr;
  }
  .bupha-customer-dashboard-menu {
    position: static;
    display: flex;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .bupha-customer-dashboard-menu button,
  .bupha-customer-dashboard-menu a {
    white-space: nowrap;
  }
  .bupha-customer-order-summary {
    grid-template-columns: 58px minmax(0, 1fr);
  }
  .bupha-customer-order-thumb {
    width: 58px;
    height: 58px;
  }
  .bupha-customer-order-head {
    align-items: flex-start;
  }
}


/* v1.10.1 Customer dashboard polish */
.bupha-customer-dashboard-form.is-hidden-for-logged-in {
  display: none !important;
}

body.logged-in .bupha-customer-dashboard-pro {
  margin-top: 0;
}

.bupha-customer-order-actions .bupha-customer-order-link:empty {
  display: none;
}

.bupha-customer-order-actions {
  min-height: 42px;
}

.bupha-customer-dashboard-menu a:first-child,
.bupha-customer-dashboard-menu button:first-child {
  font-weight: 800;
}


/* v1.10.2 Customer dashboard card/cart polish */
.bupha-customer-order-detail[hidden],
.bupha-customer-order-detail.is-collapsed {
  display: none !important;
}

.bupha-customer-dashboard-pro-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 14px;
}

.bupha-customer-dashboard-actions {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
}

.bupha-dashboard-cart-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 999px;
  background: var(--bupha-green, #064e3b);
  color: #fff !important;
  text-decoration: none;
  font-weight: 800;
  white-space: nowrap;
  box-shadow: 0 8px 22px rgba(6, 78, 59, .16);
}

.bupha-dashboard-cart-button strong {
  min-width: 22px;
  height: 22px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  background: rgba(255,255,255,.2);
  font-size: 12px;
}

.bupha-customer-order-actions a:empty,
.bupha-customer-order-actions button:empty {
  display: none !important;
}

@media (max-width: 720px) {
  .bupha-customer-dashboard-pro-header {
    grid-template-columns: 1fr;
  }
  .bupha-customer-dashboard-actions {
    justify-content: flex-start;
  }
  .bupha-dashboard-cart-button {
    width: 100%;
    justify-content: center;
  }
}


/* v1.10.3 Rebuy add-to-cart */
button.bupha-customer-order-link {
  cursor: pointer;
  font: inherit;
}

button.bupha-customer-order-link.is-added {
  background: var(--bupha-dashboard-menu-active-bg, rgba(6, 78, 59, .08));
  color: var(--bupha-dashboard-menu-active-text, var(--bupha-green, #064e3b));
}


/* v1.10.6 Cart button widget + clean customer dashboard */
.bupha-cart-button-widget {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 12px 18px;
  border-radius: 999px;
  background: var(--bupha-green, #064e3b);
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 800;
  line-height: 1;
  box-shadow: 0 10px 24px rgba(6, 78, 59, .18);
  position: relative;
}

.bupha-cart-button-widget:hover {
  transform: translateY(-1px);
  color: #fff !important;
}

.bupha-cart-button-icon {
  font-size: 18px;
  line-height: 1;
}

.bupha-cart-button-count {
  min-width: 22px;
  height: 22px;
  padding: 0 7px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  background: rgba(255,255,255,.22);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.bupha-cart-button-count.is-empty,
.bupha-cart-button-count[data-count="0"] {
  opacity: .75;
}

.bupha-cart-button-widget.is-floating {
  position: fixed;
  z-index: 9997;
}

.bupha-cart-button-widget.is-bottom-right { right: 22px; bottom: 22px; }
.bupha-cart-button-widget.is-bottom-left { left: 22px; bottom: 22px; }
.bupha-cart-button-widget.is-top-right { right: 22px; top: 22px; }
.bupha-cart-button-widget.is-top-left { left: 22px; top: 22px; }

.bupha-customer-login-required {
  padding: 20px;
  border: 1px solid rgba(6,78,59,.12);
  border-radius: 22px;
  background: #fff;
  display: grid;
  gap: 10px;
}

.bupha-customer-login-required h4,
.bupha-customer-login-required p {
  margin: 0;
}

@media (max-width: 560px) {
  .bupha-cart-button-widget.is-floating {
    right: 16px;
    left: 16px;
    bottom: 16px;
    top: auto;
    width: auto;
  }
}


/* v1.10.7 Customer address reuse */
.bupha-saved-address-choice,
.bupha-profile-address-box {
  border: 1px solid var(--bupha-order-tab-border);
  border-radius: 18px;
  background: rgba(250, 247, 239, .68);
  padding: 14px;
  display: grid;
  gap: 8px;
}

.bupha-saved-address-choice p,
.bupha-profile-address-box p {
  margin: 0;
  color: #4b5563;
  line-height: 1.6;
}

.bupha-saved-address-choice label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-weight: 700;
}

.bupha-profile-address-box {
  margin-top: 10px;
}


/* v1.10.8 Logged-in customer access box */
.bupha-account-access-box .bupha-payment-check-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}


/* v1.10.9 Customer Dashboard button style fix */
.bupha-customer-dashboard-pro {
  --bupha-dashboard-primary-button-bg: var(--bupha-green, #064e3b);
  --bupha-dashboard-primary-button-color: #ffffff;
  --bupha-dashboard-secondary-button-bg: #ffffff;
  --bupha-dashboard-secondary-button-color: var(--bupha-green, #064e3b);
  --bupha-dashboard-secondary-button-border: rgba(6, 78, 59, .28);
}

.bupha-customer-dashboard-pro .bupha-customer-detail-toggle,
.bupha-customer-dashboard-pro .bupha-customer-order-link:not(.is-secondary) {
  background: var(--bupha-dashboard-primary-button-bg) !important;
  color: var(--bupha-dashboard-primary-button-color) !important;
  border-color: var(--bupha-dashboard-primary-button-bg) !important;
}

.bupha-customer-dashboard-pro .bupha-customer-order-link.is-secondary,
.bupha-customer-dashboard-pro button.bupha-customer-order-link.is-secondary,
.bupha-customer-dashboard-pro .bupha-rebuy-button {
  background: var(--bupha-dashboard-secondary-button-bg) !important;
  color: var(--bupha-dashboard-secondary-button-color) !important;
  border: 1px solid var(--bupha-dashboard-secondary-button-border) !important;
  opacity: 1 !important;
  visibility: visible !important;
  min-width: 132px;
}

.bupha-customer-dashboard-pro .bupha-customer-order-link.is-secondary *,
.bupha-customer-dashboard-pro button.bupha-customer-order-link.is-secondary *,
.bupha-customer-dashboard-pro .bupha-rebuy-button * {
  color: inherit !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.bupha-customer-dashboard-pro .bupha-customer-order-link.is-secondary:empty,
.bupha-customer-dashboard-pro button.bupha-customer-order-link.is-secondary:empty {
  display: none !important;
}

.bupha-customer-dashboard-pro .bupha-customer-order-actions {
  gap: 10px;
  align-items: center;
}


/* v1.10.10 Elementor direct dashboard button styling */
.bupha-customer-dashboard-pro .bupha-customer-order-actions > button.bupha-customer-detail-toggle,
.bupha-customer-dashboard-pro .bupha-customer-order-actions > .bupha-customer-detail-toggle {
  background-color: var(--bupha-dashboard-primary-button-bg) !important;
  color: var(--bupha-dashboard-primary-button-color) !important;
  border-color: var(--bupha-dashboard-primary-button-bg) !important;
}

.bupha-customer-dashboard-pro .bupha-customer-order-actions > button.bupha-rebuy-button,
.bupha-customer-dashboard-pro .bupha-customer-order-actions > .bupha-rebuy-button,
.bupha-customer-dashboard-pro .bupha-customer-order-actions > .bupha-customer-order-link.is-secondary {
  background-color: var(--bupha-dashboard-secondary-button-bg) !important;
  color: var(--bupha-dashboard-secondary-button-color) !important;
  border-color: var(--bupha-dashboard-secondary-button-border) !important;
}


/* v1.10.12 Full dashboard button customization */
.bupha-customer-dashboard-pro .bupha-customer-order-actions button,
.bupha-customer-dashboard-pro .bupha-customer-order-actions a {
  box-sizing: border-box;
}

.bupha-customer-dashboard-pro .bupha-customer-order-actions button span,
.bupha-customer-dashboard-pro .bupha-customer-order-actions a span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}


/* v1.10.13 In-dashboard shop tab */
.bupha-customer-shop-panel {
  gap: 16px;
}

.bupha-customer-shop-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 18px;
  border: 1px solid rgba(6,78,59,.12);
  border-radius: 22px;
  background: #fff;
}

.bupha-customer-shop-header h4,
.bupha-customer-shop-header p {
  margin: 0;
}

.bupha-customer-shop-header p {
  color: #6b7280;
  margin-top: 4px;
}

.bupha-customer-shop-open-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid rgba(6,78,59,.22);
  color: var(--bupha-green, #064e3b);
  text-decoration: none;
  font-weight: 800;
  white-space: nowrap;
}

.bupha-customer-dashboard-shop-grid .bupha-product-grid {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

@media (max-width: 720px) {
  .bupha-customer-shop-header {
    align-items: flex-start;
    flex-direction: column;
  }
  .bupha-customer-shop-open-link {
    width: 100%;
  }
}


/* v1.10.14 Dashboard cart button removed */
.bupha-customer-dashboard-pro-header {
  grid-template-columns: minmax(0, 1fr) auto;
}

.bupha-customer-dashboard-actions:empty {
  display: none !important;
}


/* v1.10.15 Mobile floating cart position fix */
@media (max-width: 560px) {
  .bupha-cart-button-widget.is-floating {
    width: auto !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
  }

  .bupha-cart-button-widget.is-floating.is-top-right {
    top: 16px !important;
    right: 16px !important;
    left: auto !important;
    bottom: auto !important;
  }

  .bupha-cart-button-widget.is-floating.is-top-left {
    top: 16px !important;
    left: 16px !important;
    right: auto !important;
    bottom: auto !important;
  }

  .bupha-cart-button-widget.is-floating.is-bottom-right {
    right: 16px !important;
    bottom: 16px !important;
    left: auto !important;
    top: auto !important;
  }

  .bupha-cart-button-widget.is-floating.is-bottom-left {
    left: 16px !important;
    bottom: 16px !important;
    right: auto !important;
    top: auto !important;
  }
}


/* v1.10.16 Final guard: do not force Elementor cart button full-width on mobile */
@media (max-width: 560px) {
  [class*="bupha-cart-button-widget-"] .bupha-cart-button-widget.is-floating {
    width: auto !important;
    max-width: none !important;
  }
}


/* v1.10.17 Customer dashboard mobile floating menu */
@media (max-width: 720px) {
  .bupha-customer-dashboard-pro.has-mobile-floating-menu .bupha-customer-dashboard-menu {
    scrollbar-width: none;
  }
  .bupha-customer-dashboard-pro.has-mobile-floating-menu .bupha-customer-dashboard-menu::-webkit-scrollbar {
    display: none;
  }
}


/* v1.10.18 Mobile floating menu controls guard */
@media (max-width: 720px) {
  .bupha-customer-dashboard-pro.has-mobile-floating-menu .bupha-customer-dashboard-menu {
    position: fixed !important;
  }
  .bupha-customer-dashboard-pro.has-mobile-floating-menu .bupha-customer-dashboard-menu button,
  .bupha-customer-dashboard-pro.has-mobile-floating-menu .bupha-customer-dashboard-menu a {
    box-sizing: border-box !important;
  }
}


/* v1.10.19 Dashboard order button controls guard */
.bupha-customer-dashboard-pro .bupha-customer-order-actions button,
.bupha-customer-dashboard-pro .bupha-customer-order-actions a {
  box-sizing: border-box !important;
  appearance: none;
}


/* v1.10.23 Customer custom login page */
.bupha-customer-login-box {
  width: min(100%, 560px);
  margin: 0 auto;
  padding: 32px;
  border: 1px solid rgba(6,78,59,.10);
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(248,252,250,.98) 0%, #ffffff 28%);
  box-shadow: 0 20px 50px rgba(15,23,42,.08);
  display: grid;
  gap: 18px;
}

.bupha-customer-login-hero {
  display: grid;
  gap: 10px;
}

.bupha-customer-login-badge {
  width: 52px;
  height: 52px;
  border-radius: 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #064e3b 0%, #166534 100%);
  color: #fff;
  font-size: 24px;
  font-weight: 800;
  box-shadow: 0 12px 24px rgba(6,78,59,.18);
}

.bupha-customer-login-box h3,
.bupha-customer-login-box p {
  margin: 0;
}

.bupha-customer-login-box h3 {
  font-size: clamp(26px, 4vw, 34px);
  line-height: 1.15;
  color: #0f172a;
}

.bupha-customer-login-box > p,
.bupha-customer-login-hero > p {
  color: #5b6472;
}

.bupha-customer-login-mini-note {
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(6,78,59,.06);
  color: #26453a;
  font-size: 14px;
  line-height: 1.6;
}

.bupha-customer-login-form {
  display: grid;
  gap: 16px;
}

.bupha-customer-login-form label {
  display: grid;
  gap: 8px;
  font-weight: 700;
  color: #374151;
}

.bupha-customer-login-label {
  font-size: 14px;
}

.bupha-customer-login-form input[type="text"],
.bupha-customer-login-form input[type="password"] {
  width: 100%;
  border: 1px solid rgba(15,23,42,.12);
  border-radius: 16px;
  padding: 14px 16px;
  min-height: 54px;
  font: inherit;
  background: #fff;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.bupha-customer-login-form input[type="text"]:focus,
.bupha-customer-login-form input[type="password"]:focus {
  outline: none;
  border-color: rgba(6,78,59,.42);
  box-shadow: 0 0 0 4px rgba(6,78,59,.08);
}

.bupha-customer-login-row {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}

.bupha-customer-login-help {
  font-size: 13px;
  color: #6b7280;
}

.bupha-customer-login-remember {
  display: inline-flex !important;
  align-items: center;
  gap: 8px !important;
  font-weight: 600 !important;
  margin: 0;
}

.bupha-customer-login-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 14px 22px;
  border-radius: 999px;
  border: 0;
  background: linear-gradient(135deg, #064e3b 0%, #1f513e 100%);
  color: #fff !important;
  font-weight: 800;
  font-size: 16px;
  text-decoration: none !important;
  cursor: pointer;
  box-shadow: 0 14px 24px rgba(6,78,59,.16);
}

.bupha-customer-login-button:hover {
  transform: translateY(-1px);
}

.bupha-customer-login-actions {
  display: flex;
  justify-content: center;
}

.bupha-customer-login-box.is-logged-in {
  text-align: center;
}

@media (max-width: 767px) {
  .bupha-customer-login-box {
    padding: 22px;
    border-radius: 22px;
  }

  .bupha-customer-login-badge {
    width: 46px;
    height: 46px;
    border-radius: 15px;
    font-size: 20px;
  }

  .bupha-customer-login-row {
    align-items: flex-start;
  }

  .bupha-customer-login-button {
    width: 100%;
  }
}


/* v1.10.24 force one visible customer order status */
.bupha-customer-dashboard-pro .bupha-customer-order-meta span:nth-child(n+2) {
  display: none !important;
}

.bupha-customer-dashboard-pro .bupha-customer-order-meta {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}

.bupha-customer-dashboard-pro .bupha-customer-order-meta span:first-child {
  display: inline-flex !important;
}

/* v1.10.24 stronger customer login redesign */
.bupha-customer-login-box.bupha-customer-login-box-v2,
.bupha-customer-login-box {
  width: min(100%, 580px) !important;
  margin: 0 auto !important;
  padding: 34px !important;
  border: 1px solid rgba(6,78,59,.10) !important;
  border-radius: 30px !important;
  background:
    radial-gradient(circle at top left, rgba(6,78,59,.10), transparent 32%),
    linear-gradient(180deg, rgba(248,252,250,.98) 0%, #ffffff 42%) !important;
  box-shadow: 0 24px 60px rgba(15,23,42,.10) !important;
  display: grid !important;
  gap: 20px !important;
}

.bupha-customer-login-box-v2 .bupha-customer-login-hero,
.bupha-customer-login-box .bupha-customer-login-hero {
  display: grid !important;
  gap: 10px !important;
  text-align: left !important;
}

.bupha-customer-login-box-v2 .bupha-customer-login-badge,
.bupha-customer-login-box .bupha-customer-login-badge {
  width: 56px !important;
  height: 56px !important;
  border-radius: 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(135deg, #064e3b 0%, #166534 100%) !important;
  color: #fff !important;
  font-size: 24px !important;
  font-weight: 900 !important;
  box-shadow: 0 14px 28px rgba(6,78,59,.20) !important;
}

.bupha-customer-login-box-v2 h3,
.bupha-customer-login-box h3 {
  margin: 0 !important;
  font-size: clamp(28px, 4vw, 36px) !important;
  line-height: 1.12 !important;
  color: #0f172a !important;
  letter-spacing: -0.03em !important;
}

.bupha-customer-login-box-v2 p,
.bupha-customer-login-box p {
  margin: 0 !important;
  color: #5b6472 !important;
  line-height: 1.7 !important;
}

.bupha-customer-login-mini-note {
  padding: 12px 14px !important;
  border-radius: 16px !important;
  background: rgba(6,78,59,.07) !important;
  color: #26453a !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
}

.bupha-customer-login-form {
  display: grid !important;
  gap: 16px !important;
}

.bupha-customer-login-form label {
  display: grid !important;
  gap: 8px !important;
  font-weight: 800 !important;
  color: #334155 !important;
}

.bupha-customer-login-label {
  font-size: 14px !important;
}

.bupha-customer-login-form input[type="text"],
.bupha-customer-login-form input[type="password"] {
  width: 100% !important;
  border: 1px solid rgba(15,23,42,.12) !important;
  border-radius: 16px !important;
  padding: 15px 16px !important;
  min-height: 56px !important;
  font: inherit !important;
  background: #fff !important;
  box-shadow: 0 1px 0 rgba(15,23,42,.02) !important;
}

.bupha-customer-login-form input[type="text"]:focus,
.bupha-customer-login-form input[type="password"]:focus {
  outline: none !important;
  border-color: rgba(6,78,59,.48) !important;
  box-shadow: 0 0 0 4px rgba(6,78,59,.09) !important;
}

.bupha-customer-login-row {
  display: flex !important;
  gap: 12px !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
}

.bupha-customer-login-help {
  font-size: 13px !important;
  color: #6b7280 !important;
}

.bupha-customer-login-remember {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-weight: 700 !important;
  margin: 0 !important;
}

.bupha-customer-login-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 54px !important;
  padding: 15px 24px !important;
  border-radius: 999px !important;
  border: 0 !important;
  background: linear-gradient(135deg, #064e3b 0%, #1f513e 100%) !important;
  color: #fff !important;
  font-weight: 900 !important;
  font-size: 16px !important;
  text-decoration: none !important;
  cursor: pointer !important;
  box-shadow: 0 16px 28px rgba(6,78,59,.18) !important;
}

.bupha-customer-login-actions {
  display: flex !important;
  justify-content: center !important;
}

.bupha-customer-login-box.is-logged-in {
  text-align: center !important;
}

.bupha-customer-login-box.is-logged-in .bupha-customer-login-hero {
  text-align: center !important;
  justify-items: center !important;
}

@media (max-width: 767px) {
  .bupha-customer-login-box.bupha-customer-login-box-v2,
  .bupha-customer-login-box {
    padding: 22px !important;
    border-radius: 24px !important;
  }

  .bupha-customer-login-button {
    width: 100% !important;
  }
}


/* v1.10.25 final guard after header-version fix */
.bupha-customer-dashboard-pro .bupha-customer-order-meta > span:nth-child(n+2) {
  display: none !important;
}

.bupha-customer-login-box.bupha-customer-login-box-v2 {
  background:
    radial-gradient(circle at top left, rgba(6,78,59,.10), transparent 32%),
    linear-gradient(180deg, rgba(248,252,250,.98) 0%, #ffffff 42%) !important;
  border-radius: 30px !important;
  box-shadow: 0 24px 60px rgba(15,23,42,.10) !important;
}

/* BUPHA Commerce v1.0.0 official base customer portal additions */
.bupha-customer-profile-editor,
.bupha-customer-address-card,
.bupha-customer-articles-card,
.bupha-customer-article-detail{
  width:100%;
}
.bupha-customer-profile-body{width:100%}
.bupha-customer-mini-form{display:grid;gap:14px;margin-top:16px;width:100%}
.bupha-customer-mini-form label{display:grid;gap:7px;font-weight:800;color:#12372a;font-size:13px}
.bupha-customer-mini-form small{font-weight:600;color:#6d7a72}
.bupha-customer-mini-form input,
.bupha-customer-mini-form textarea{
  width:100%;border:1px solid rgba(18,55,42,.14);border-radius:16px;padding:12px 14px;background:#fff;color:#12372a;font:inherit;outline:none;box-shadow:0 6px 18px rgba(18,55,42,.04)
}
.bupha-customer-mini-form textarea{resize:vertical;min-height:88px}
.bupha-customer-mini-form input:focus,
.bupha-customer-mini-form textarea:focus{border-color:rgba(18,55,42,.38);box-shadow:0 0 0 4px rgba(18,55,42,.08)}
.bupha-customer-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.bupha-customer-form-grid:has(label:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}
.bupha-customer-delete-form{margin-top:12px}
.bupha-customer-link-danger{border:0;background:transparent;color:#9f2d20;font-weight:800;cursor:pointer;padding:8px 0}
.bupha-customer-article-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}
.bupha-customer-article-item{border:1px solid rgba(18,55,42,.1);border-radius:18px;background:#fff;padding:16px;box-shadow:0 8px 24px rgba(18,55,42,.05)}
.bupha-customer-article-item h5{margin:0 0 8px;font-size:16px;color:#12372a}
.bupha-customer-article-item p{margin:0 0 12px;color:#5d6f65;line-height:1.55}
.bupha-customer-article-item a,
.bupha-customer-back-link{font-weight:800;color:#12372a;text-decoration:none}
.bupha-customer-article-content{color:#263d32;line-height:1.75}
.bupha-customer-article-content img{max-width:100%;height:auto;border-radius:18px}
.bupha-customer-dashboard-menu a.is-active{background:#12372a;color:#fff;border-color:#12372a;box-shadow:0 12px 28px rgba(18,55,42,.16)}
@media (max-width: 720px){
  .bupha-customer-form-grid,
  .bupha-customer-form-grid:has(label:nth-child(3)),
  .bupha-customer-article-list{grid-template-columns:1fr}
}


/* v1.0.0 profile address privacy + mobile layout polish */
.bupha-customer-address-card{
  display:block !important;
  align-items:stretch !important;
}
.bupha-customer-profile-editor{
  align-items:flex-start !important;
}
.bupha-customer-profile-body,
.bupha-customer-address-card,
.bupha-customer-mini-form,
.bupha-customer-mini-form label,
.bupha-customer-mini-form input,
.bupha-customer-mini-form textarea{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.bupha-profile-address-box{
  overflow-wrap:anywhere;
}
.bupha-customer-address-card > h4{
  margin-top:0;
}
.bupha-customer-address-card > p{
  margin-bottom:14px;
}
@media (max-width: 720px){
  .bupha-customer-profile-card,
  .bupha-customer-placeholder-card{
    padding:16px !important;
    border-radius:20px !important;
  }
  .bupha-customer-profile-editor{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  .bupha-customer-avatar{
    width:48px !important;
    height:48px !important;
    font-size:20px !important;
  }
  .bupha-customer-profile-body h4{
    margin-top:0;
    word-break:break-word;
  }
  .bupha-customer-mini-form{
    gap:12px !important;
  }
  .bupha-customer-mini-form input,
  .bupha-customer-mini-form textarea{
    font-size:16px !important;
    border-radius:14px !important;
    padding:12px 13px !important;
  }
  .bupha-customer-dashboard-menu{
    gap:8px !important;
    padding:8px !important;
  }
  .bupha-customer-dashboard-menu a{
    flex:0 0 auto;
    padding:10px 13px !important;
  }
}

/* v1.0.2 Customer dashboard home cleanup */
.bupha-customer-dashboard-pro .bupha-customer-dashboard-shell {
  margin-top: 0;
}

.bupha-customer-home-panel {
  gap: 0;
}

.bupha-customer-dashboard-home-content {
  width: 100%;
  min-height: 1px;
}

.bupha-customer-dashboard-home-content:empty {
  display: block;
  min-height: 0;
}

.bupha-customer-dashboard-home-content > *:first-child {
  margin-top: 0;
}

.bupha-customer-dashboard-home-content > *:last-child {
  margin-bottom: 0;
}

.bupha-customer-dashboard-home-content .bupha-product-grid {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}


/* v1.0.6: harden Elementor/shortcode product grid responsive layout */
.bupha-product-grid-shell[data-bupha-product-grid] > .bupha-product-grid {
  display: grid !important;
  grid-template-columns: repeat(var(--bupha-grid-desktop-columns, 3), minmax(0, 1fr)) !important;
}
@media (max-width: 767px) {
  .bupha-product-grid-shell[data-bupha-product-grid] > .bupha-product-grid {
    grid-template-columns: repeat(var(--bupha-grid-mobile-columns, 2), minmax(0, 1fr)) !important;
  }
}

@media (max-width: 540px) {
  .bupha-toast.is-cart-added {
    top: 18px;
    width: calc(100% - 36px);
    max-width: 420px;
    border-radius: 18px;
  }
}


/* v1.0.19 Mobile canvas safe guard (non-destructive) */
.bupha-customer-dashboard-pro,
.bupha-customer-dashboard-pro * {
  box-sizing: border-box;
}

.bupha-customer-dashboard-pro,
.bupha-customer-dashboard-pro .bupha-customer-dashboard-shell,
.bupha-customer-dashboard-pro .bupha-customer-dashboard-panel,
.bupha-customer-dashboard-pro .bupha-customer-dashboard-results,
.bupha-customer-dashboard-pro .bupha-customer-order-summary-card,
.bupha-customer-dashboard-pro .bupha-customer-order-summary,
.bupha-customer-dashboard-pro .bupha-customer-order-main,
.bupha-customer-dashboard-pro .bupha-customer-order-actions {
  max-width: 100%;
  min-width: 0;
}

@media (max-width: 767px) {
  .bupha-customer-dashboard-pro {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  .bupha-customer-dashboard-pro .bupha-customer-dashboard-shell,
  .bupha-customer-dashboard-pro .bupha-customer-dashboard-panel.is-active {
    width: 100%;
    max-width: 100%;
  }

  .bupha-customer-dashboard-pro.has-mobile-floating-menu {
    padding-bottom: calc(84px + env(safe-area-inset-bottom, 0px));
  }

  .bupha-customer-dashboard-pro.has-mobile-floating-menu .bupha-customer-dashboard-menu {
    left: calc(12px + env(safe-area-inset-left, 0px));
    right: calc(12px + env(safe-area-inset-right, 0px));
    width: auto;
    max-width: calc(100vw - 24px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px));
    overflow-x: auto;
    overflow-y: hidden;
    flex-wrap: nowrap;
    justify-content: flex-start;
  }

  .bupha-customer-dashboard-pro.has-mobile-floating-menu .bupha-customer-dashboard-menu a,
  .bupha-customer-dashboard-pro.has-mobile-floating-menu .bupha-customer-dashboard-menu button {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .bupha-customer-dashboard-pro .bupha-customer-order-tabs {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
  }

  .bupha-customer-dashboard-pro .bupha-customer-order-tabs button {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .bupha-customer-dashboard-pro .bupha-customer-order-summary-card,
  .bupha-customer-dashboard-pro .bupha-customer-order-summary {
    width: 100%;
    max-width: 100%;
  }

  .bupha-customer-dashboard-pro .bupha-customer-order-summary {
    grid-template-columns: 58px minmax(0, 1fr);
  }

  .bupha-customer-dashboard-pro .bupha-customer-order-main,
  .bupha-customer-dashboard-pro .bupha-customer-order-main * {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .bupha-customer-dashboard-pro .bupha-customer-order-actions {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .bupha-customer-dashboard-pro .bupha-customer-order-actions a,
  .bupha-customer-dashboard-pro .bupha-customer-order-actions button {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    white-space: nowrap;
  }

  .bupha-cart-button-widget.is-floating {
    max-width: calc(100vw - 24px);
  }

  .bupha-cart-button-widget.is-top-right,
  .bupha-cart-button-widget.is-bottom-right {
    right: calc(12px + env(safe-area-inset-right, 0px));
  }

  .bupha-cart-button-widget.is-top-left,
  .bupha-cart-button-widget.is-bottom-left {
    left: calc(12px + env(safe-area-inset-left, 0px));
  }
}

@media (max-width: 360px) {
  .bupha-customer-dashboard-pro .bupha-customer-order-actions {
    grid-template-columns: 1fr;
  }
}


/* v1.0.20 Mobile order canvas fit: prevent cropped cards without hiding content */
@media (max-width: 767px) {
  .bupha-customer-dashboard-pro {
    overflow-x: clip;
  }

  .bupha-customer-dashboard-pro .bupha-customer-dashboard-panel.is-active,
  .bupha-customer-dashboard-pro .bupha-customer-dashboard-results,
  .bupha-customer-dashboard-pro .bupha-customer-order-summary-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .bupha-customer-dashboard-pro .bupha-customer-order-summary-card {
    overflow: hidden;
    padding: 14px !important;
  }

  .bupha-customer-dashboard-pro .bupha-customer-order-summary {
    grid-template-columns: 64px minmax(0, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .bupha-customer-dashboard-pro .bupha-customer-order-thumb {
    width: 64px !important;
    height: 64px !important;
  }

  .bupha-customer-dashboard-pro .bupha-customer-order-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .bupha-customer-dashboard-pro .bupha-customer-order-head > div,
  .bupha-customer-dashboard-pro .bupha-customer-order-head strong,
  .bupha-customer-dashboard-pro .bupha-customer-order-head small {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere;
  }

  .bupha-customer-dashboard-pro .bupha-customer-order-head > span {
    white-space: nowrap;
    justify-self: end;
    font-size: 15px;
  }

  .bupha-customer-dashboard-pro .bupha-customer-order-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .bupha-customer-dashboard-pro .bupha-customer-order-actions > a,
  .bupha-customer-dashboard-pro .bupha-customer-order-actions > button,
  .bupha-customer-dashboard-pro .bupha-customer-order-link.is-secondary,
  .bupha-customer-dashboard-pro button.bupha-customer-order-link.is-secondary,
  .bupha-customer-dashboard-pro .bupha-rebuy-button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
    white-space: nowrap !important;
    font-size: 14px !important;
  }

  .bupha-customer-dashboard-pro .bupha-customer-order-tabs {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 380px) {
  .bupha-customer-dashboard-pro .bupha-customer-order-summary {
    grid-template-columns: 56px minmax(0, 1fr) !important;
    gap: 10px !important;
  }
  .bupha-customer-dashboard-pro .bupha-customer-order-thumb {
    width: 56px !important;
    height: 56px !important;
  }
  .bupha-customer-dashboard-pro .bupha-customer-order-actions {
    gap: 7px !important;
  }
  .bupha-customer-dashboard-pro .bupha-customer-order-actions > a,
  .bupha-customer-dashboard-pro .bupha-customer-order-actions > button,
  .bupha-customer-dashboard-pro .bupha-customer-order-link.is-secondary,
  .bupha-customer-dashboard-pro button.bupha-customer-order-link.is-secondary,
  .bupha-customer-dashboard-pro .bupha-rebuy-button {
    font-size: 13px !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
  }
}


/* v1.0.21 Mobile order no-crop fix: stronger selectors for Elementor/mobile containers */
@media (max-width: 767px) {
  .bupha-customer-dashboard,
  .bupha-customer-dashboard * {
    box-sizing: border-box !important;
  }

  .bupha-customer-dashboard {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .bupha-customer-dashboard .bupha-customer-dashboard-shell,
  .bupha-customer-dashboard .bupha-customer-dashboard-panel,
  .bupha-customer-dashboard .bupha-customer-dashboard-panel.is-active,
  .bupha-customer-dashboard .bupha-customer-dashboard-results,
  .bupha-customer-dashboard .bupha-customer-order-card,
  .bupha-customer-dashboard .bupha-customer-order-summary-card,
  .bupha-customer-dashboard .bupha-customer-order-summary,
  .bupha-customer-dashboard .bupha-customer-order-main {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .bupha-customer-dashboard .bupha-customer-order-card,
  .bupha-customer-dashboard .bupha-customer-order-summary-card {
    overflow: visible !important;
  }

  .bupha-customer-dashboard .bupha-customer-order-summary {
    display: grid !important;
    grid-template-columns: 56px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: start !important;
  }

  .bupha-customer-dashboard .bupha-customer-order-thumb {
    width: 56px !important;
    height: 56px !important;
    min-width: 56px !important;
  }

  .bupha-customer-dashboard .bupha-customer-order-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 4px !important;
  }

  .bupha-customer-dashboard .bupha-customer-order-head > span {
    justify-self: start !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    font-size: 14px !important;
  }

  .bupha-customer-dashboard .bupha-customer-order-head strong,
  .bupha-customer-dashboard .bupha-customer-order-head small {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
  }

  .bupha-customer-dashboard .bupha-customer-order-actions,
  .bupha-customer-dashboard-pro .bupha-customer-order-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    gap: 8px !important;
  }

  .bupha-customer-dashboard .bupha-customer-order-actions > a,
  .bupha-customer-dashboard .bupha-customer-order-actions > button,
  .bupha-customer-dashboard .bupha-customer-order-link,
  .bupha-customer-dashboard .bupha-customer-detail-toggle,
  .bupha-customer-dashboard .bupha-rebuy-button {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .bupha-customer-dashboard .bupha-customer-order-tabs {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    flex-wrap: nowrap !important;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 390px) {
  .bupha-customer-dashboard {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  .bupha-customer-dashboard .bupha-customer-order-card,
  .bupha-customer-dashboard .bupha-customer-order-summary-card {
    padding: 12px !important;
  }
  .bupha-customer-dashboard .bupha-customer-order-summary {
    grid-template-columns: 52px minmax(0, 1fr) !important;
    gap: 9px !important;
  }
  .bupha-customer-dashboard .bupha-customer-order-thumb {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
  }
}


/* v1.0.22 Mobile order reflow: keep actions inside visible canvas */
@media (max-width: 767px) {
  body:has(.bupha-customer-dashboard-pro) {
    overflow-x: hidden;
  }

  .bupha-customer-dashboard-pro,
  .bupha-customer-dashboard-pro .bupha-customer-dashboard-shell,
  .bupha-customer-dashboard-pro .bupha-customer-dashboard-panel.is-active,
  .bupha-customer-dashboard-pro .bupha-customer-dashboard-results,
  .bupha-customer-dashboard-pro .bupha-customer-order-summary-card {
    width: 100% !important;
    max-width: min(100%, calc(100vw - 24px)) !important;
    min-width: 0 !important;
  }

  .bupha-customer-dashboard-pro .bupha-customer-order-summary-card {
    overflow: hidden !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .bupha-customer-dashboard-pro .bupha-customer-order-summary {
    display: grid !important;
    grid-template-columns: 58px minmax(0, 1fr) !important;
    gap: 10px 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* Let order children participate in the card grid so action buttons can use full card width. */
  .bupha-customer-dashboard-pro .bupha-customer-order-main {
    display: contents !important;
  }

  .bupha-customer-dashboard-pro .bupha-customer-order-head,
  .bupha-customer-dashboard-pro .bupha-customer-order-meta {
    grid-column: 2 / 3 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  .bupha-customer-dashboard-pro .bupha-customer-order-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 5px !important;
    margin-bottom: 2px !important;
  }

  .bupha-customer-dashboard-pro .bupha-customer-order-head > span {
    justify-self: start !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .bupha-customer-dashboard-pro .bupha-customer-order-actions {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-top: 8px !important;
    clear: both !important;
  }

  .bupha-customer-dashboard-pro .bupha-customer-order-actions > a,
  .bupha-customer-dashboard-pro .bupha-customer-order-actions > button,
  .bupha-customer-dashboard-pro .bupha-customer-order-actions .bupha-customer-detail-toggle,
  .bupha-customer-dashboard-pro .bupha-customer-order-actions .bupha-customer-order-link,
  .bupha-customer-dashboard-pro .bupha-customer-order-actions .bupha-rebuy-button {
    display: inline-flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    justify-content: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .bupha-customer-dashboard-pro .bupha-customer-order-tabs,
  .bupha-customer-dashboard-pro .bupha-customer-order-sticky-area {
    max-width: min(100%, calc(100vw - 24px)) !important;
    min-width: 0 !important;
  }
}


/* v1.0.23 Mobile order layout normalization */
.bupha-customer-dashboard-pro .bupha-customer-order-summary > .bupha-customer-order-actions {
  grid-column: 1 / -1;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

@media (max-width: 767px) {
  .bupha-customer-dashboard-pro,
  .bupha-customer-dashboard-pro * {
    box-sizing: border-box;
  }

  .bupha-customer-dashboard-pro {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: clip !important;
  }

  .bupha-customer-dashboard-pro .bupha-customer-dashboard-shell,
  .bupha-customer-dashboard-pro .bupha-customer-dashboard-panel,
  .bupha-customer-dashboard-pro .bupha-customer-dashboard-panel.is-active,
  .bupha-customer-dashboard-pro .bupha-customer-dashboard-results {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: clip !important;
  }

  .bupha-customer-dashboard-pro .bupha-customer-order-summary-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .bupha-customer-dashboard-pro .bupha-customer-order-summary {
    display: grid !important;
    grid-template-columns: 58px minmax(0, 1fr) !important;
    gap: 10px 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    align-items: start !important;
  }

  .bupha-customer-dashboard-pro .bupha-customer-order-main {
    display: grid !important;
    gap: 8px !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .bupha-customer-dashboard-pro .bupha-customer-order-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 6px !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .bupha-customer-dashboard-pro .bupha-customer-order-head > div,
  .bupha-customer-dashboard-pro .bupha-customer-order-head strong,
  .bupha-customer-dashboard-pro .bupha-customer-order-head small,
  .bupha-customer-dashboard-pro .bupha-customer-order-head > span {
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .bupha-customer-dashboard-pro .bupha-customer-order-head > span {
    justify-self: start !important;
  }

  .bupha-customer-dashboard-pro .bupha-customer-order-summary > .bupha-customer-order-actions,
  .bupha-customer-dashboard-pro .bupha-customer-order-actions {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-top: 10px !important;
  }

  .bupha-customer-dashboard-pro .bupha-customer-order-actions > a,
  .bupha-customer-dashboard-pro .bupha-customer-order-actions > button,
  .bupha-customer-dashboard-pro .bupha-customer-order-actions .bupha-customer-detail-toggle,
  .bupha-customer-dashboard-pro .bupha-customer-order-actions .bupha-customer-order-link,
  .bupha-customer-dashboard-pro .bupha-customer-order-actions .bupha-rebuy-button {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    justify-content: center !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  .bupha-customer-dashboard-pro .bupha-customer-order-tabs {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    flex-wrap: nowrap !important;
    padding-right: 72px !important;
    scrollbar-width: none;
  }
  .bupha-customer-dashboard-pro .bupha-customer-order-tabs::-webkit-scrollbar { display: none; }
}


/* v1.0.25 Dashboard logo across all tabs */
.bupha-customer-dashboard-pro {
  position: relative;
}
.bupha-customer-dashboard-pro .bupha-customer-dashboard-logo {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  width: max-content;
  max-width: 100%;
  margin: 0 0 14px 0;
  padding: var(--bupha-dashboard-logo-padding, 0px);
  border-radius: var(--bupha-dashboard-logo-radius, 0px);
  background: var(--bupha-dashboard-logo-bg, transparent);
  box-shadow: var(--bupha-dashboard-logo-shadow, none);
  z-index: 9996;
}
.bupha-customer-dashboard-pro .bupha-customer-dashboard-logo a {
  display: inline-flex;
  align-items: center;
  text-decoration: none !important;
}
.bupha-customer-dashboard-pro .bupha-customer-dashboard-logo img {
  display: block;
  height: var(--bupha-dashboard-logo-height, 42px);
  width: auto;
  max-width: min(220px, 72vw);
  object-fit: contain;
}
@media (max-width: 720px) {
  .bupha-customer-dashboard-pro.has-dashboard-logo-mobile-top_left .bupha-customer-dashboard-logo {
    position: fixed !important;
    top: calc(var(--bupha-dashboard-logo-mobile-top, 16px) + env(safe-area-inset-top, 0px)) !important;
    left: calc(var(--bupha-dashboard-logo-mobile-left, 16px) + env(safe-area-inset-left, 0px)) !important;
    right: auto !important;
    bottom: auto !important;
    margin: 0 !important;
  }
  .bupha-customer-dashboard-pro .bupha-customer-dashboard-logo img {
    height: var(--bupha-dashboard-logo-mobile-height, 34px);
    max-width: 44vw;
  }
}


/* v1.0.31 Safe mobile floating filter spacing + white top cover
   Keeps the previous stable dashboard layout, but makes Elementor spacing controls visible
   when Floating Filter Pesanan is placed below the dashboard logo on mobile. */
@media (max-width: 720px) {
  .bupha-customer-dashboard-pro.has-order-filter-floating-position-top.has-order-filter-floating-mobile .bupha-customer-order-sticky-area,
  .bupha-customer-dashboard-pro.has-order-filter-floating-position-top.has-order-filter-floating-all .bupha-customer-order-sticky-area {
    position: fixed !important;
    top: calc(var(--bupha-order-filter-sticky-top, 0px) + env(safe-area-inset-top, 0px)) !important;
    left: max(12px, env(safe-area-inset-left, 0px)) !important;
    right: max(12px, env(safe-area-inset-right, 0px)) !important;
    width: auto !important;
    max-width: none !important;
    z-index: 9996 !important;
    box-sizing: border-box !important;
    background: var(--bupha-order-filter-sticky-bg, #ffffff) !important;
  }

  .bupha-customer-dashboard-pro.has-dashboard-logo-mobile-top_left.has-order-filter-below-logo.has-order-filter-floating-position-top.has-order-filter-floating-mobile .bupha-customer-order-sticky-area,
  .bupha-customer-dashboard-pro.has-dashboard-logo-mobile-top_left.has-order-filter-below-logo.has-order-filter-floating-position-top.has-order-filter-floating-all .bupha-customer-order-sticky-area {
    top: calc(env(safe-area-inset-top, 0px) + var(--bupha-order-filter-sticky-top, 0px) + var(--bupha-dashboard-logo-mobile-top, 16px) + var(--bupha-dashboard-logo-mobile-height, 34px) + var(--bupha-order-filter-below-logo-gap, 12px)) !important;
    --bupha-order-filter-current-top: calc(env(safe-area-inset-top, 0px) + var(--bupha-order-filter-sticky-top, 0px) + var(--bupha-dashboard-logo-mobile-top, 16px) + var(--bupha-dashboard-logo-mobile-height, 34px) + var(--bupha-order-filter-below-logo-gap, 12px));
  }

  .bupha-customer-dashboard-pro.has-order-filter-floating-position-bottom.has-order-filter-floating-mobile .bupha-customer-order-sticky-area,
  .bupha-customer-dashboard-pro.has-order-filter-floating-position-bottom.has-order-filter-floating-all .bupha-customer-order-sticky-area {
    position: fixed !important;
    bottom: calc(var(--bupha-order-filter-sticky-bottom, 0px) + env(safe-area-inset-bottom, 0px)) !important;
    left: max(12px, env(safe-area-inset-left, 0px)) !important;
    right: max(12px, env(safe-area-inset-right, 0px)) !important;
    top: auto !important;
    width: auto !important;
    max-width: none !important;
    z-index: 9996 !important;
    box-sizing: border-box !important;
    background: var(--bupha-order-filter-sticky-bg, #ffffff) !important;
  }

  /* Clean white cover from top edge down to the floating header/filter area.
     This replaces the old negative z-index pseudo-element that could disappear on fixed layout. */
  .bupha-customer-dashboard-pro.has-order-filter-below-logo.has-order-filter-floating-position-top.has-order-filter-floating-mobile::before,
  .bupha-customer-dashboard-pro.has-order-filter-below-logo.has-order-filter-floating-position-top.has-order-filter-floating-all::before {
    content: "" !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: calc(env(safe-area-inset-top, 0px) + var(--bupha-order-filter-sticky-top, 0px) + var(--bupha-dashboard-logo-mobile-top, 16px) + var(--bupha-dashboard-logo-mobile-height, 34px) + var(--bupha-order-filter-below-logo-gap, 12px)) !important;
    background: #ffffff !important;
    z-index: 9994 !important;
    pointer-events: none !important;
  }

  .bupha-customer-dashboard-pro.has-order-filter-below-logo.has-order-filter-floating-position-top .bupha-customer-order-sticky-area::before {
    content: none !important;
    display: none !important;
  }

  .bupha-customer-dashboard-pro.has-dashboard-logo-mobile-top_left .bupha-customer-dashboard-logo {
    z-index: 9998 !important;
    background: var(--bupha-dashboard-logo-bg, #ffffff) !important;
  }

  .bupha-customer-dashboard-pro.has-dashboard-logo-mobile-top_left.has-order-filter-below-logo .bupha-customer-dashboard-logo {
    background: var(--bupha-dashboard-logo-bg, #ffffff) !important;
  }

  .bupha-customer-dashboard-pro.has-order-filter-floating-position-top.has-order-filter-floating-mobile [data-bupha-customer-dashboard-results],
  .bupha-customer-dashboard-pro.has-order-filter-floating-position-top.has-order-filter-floating-all [data-bupha-customer-dashboard-results] {
    padding-top: calc(var(--bupha-order-filter-sticky-top, 0px) + var(--bupha-order-filter-floating-height, 0px) + 16px) !important;
  }

  .bupha-customer-dashboard-pro.has-dashboard-logo-mobile-top_left.has-order-filter-below-logo.has-order-filter-floating-position-top.has-order-filter-floating-mobile [data-bupha-customer-dashboard-results],
  .bupha-customer-dashboard-pro.has-dashboard-logo-mobile-top_left.has-order-filter-below-logo.has-order-filter-floating-position-top.has-order-filter-floating-all [data-bupha-customer-dashboard-results] {
    padding-top: calc(env(safe-area-inset-top, 0px) + var(--bupha-order-filter-sticky-top, 0px) + var(--bupha-dashboard-logo-mobile-top, 16px) + var(--bupha-dashboard-logo-mobile-height, 34px) + var(--bupha-order-filter-below-logo-gap, 12px) + var(--bupha-order-filter-floating-height, 0px) + 16px) !important;
  }

  .bupha-customer-dashboard-pro.has-order-filter-floating-position-bottom.has-order-filter-floating-mobile [data-bupha-customer-dashboard-results],
  .bupha-customer-dashboard-pro.has-order-filter-floating-position-bottom.has-order-filter-floating-all [data-bupha-customer-dashboard-results] {
    padding-bottom: calc(var(--bupha-order-filter-sticky-bottom, 0px) + var(--bupha-order-filter-floating-height, 0px) + 16px) !important;
  }
}


/* v1.0.32 Mobile floating filter measured spacing fix */
@media (max-width: 720px) {
  .bupha-customer-dashboard-pro.has-order-filter-floating-position-top.has-order-filter-floating-mobile [data-bupha-customer-dashboard-results],
  .bupha-customer-dashboard-pro.has-order-filter-floating-position-top.has-order-filter-floating-all [data-bupha-customer-dashboard-results] {
    padding-top: var(--bupha-order-filter-results-offset, calc(var(--bupha-order-filter-floating-height, 0px) + 18px)) !important;
  }

  .bupha-customer-dashboard-pro.has-order-filter-floating-position-bottom.has-order-filter-floating-mobile [data-bupha-customer-dashboard-results],
  .bupha-customer-dashboard-pro.has-order-filter-floating-position-bottom.has-order-filter-floating-all [data-bupha-customer-dashboard-results] {
    padding-bottom: var(--bupha-order-filter-results-offset-bottom, calc(var(--bupha-order-filter-floating-height, 0px) + 18px)) !important;
  }

  .bupha-customer-dashboard-pro.has-order-filter-below-logo.has-order-filter-floating-position-top.has-order-filter-floating-mobile::before,
  .bupha-customer-dashboard-pro.has-order-filter-below-logo.has-order-filter-floating-position-top.has-order-filter-floating-all::before {
    height: var(--bupha-order-filter-cover-height, calc(env(safe-area-inset-top, 0px) + var(--bupha-order-filter-sticky-top, 0px) + var(--bupha-dashboard-logo-mobile-top, 16px) + var(--bupha-dashboard-logo-mobile-height, 34px) + var(--bupha-order-filter-below-logo-gap, 12px))) !important;
  }
}


/* v1.0.35 profile logout button */
.bupha-customer-profile-logout-card{
  margin-top:14px;
}
.bupha-customer-profile-logout-card p{
  color:#667085;
}
.bupha-customer-logout-button{
  background:#12372a;
  color:#fff !important;
}
@media (max-width:720px){
  .bupha-customer-profile-logout-card{
    margin-top:12px;
  }
}


/* v1.0.36 Product grid two-button actions and dashboard product detail */
.bupha-product-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 12px;
}
.bupha-product-actions .bupha-add-to-cart,
.bupha-product-actions .bupha-product-detail-button {
  flex: 1 1 150px;
  min-width: 0;
  text-align: center;
}
.bupha-product-detail-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid #234333;
  border-radius: 999px;
  padding: 12px 18px;
  background: transparent;
  color: #234333 !important;
  font-weight: 700;
  text-decoration: none !important;
  transition: transform .15s ease, opacity .15s ease;
}
.bupha-product-detail-button:hover {
  transform: translateY(-1px);
  opacity: .92;
}
.bupha-customer-product-detail {
  width: 100%;
}
.bupha-customer-product-detail-card {
  border: 1px solid #e7e1d6;
  border-radius: 24px;
  background: #fffaf2;
  padding: 22px;
  display: grid;
  grid-template-columns: minmax(160px, 320px) minmax(0, 1fr);
  gap: 24px;
  box-shadow: 0 12px 30px rgba(31, 43, 30, .08);
}
.bupha-customer-product-detail-image img {
  width: 100%;
  height: auto;
  border-radius: 18px;
  display: block;
}
.bupha-customer-product-detail-content h2 {
  margin: 0 0 10px;
  color: #123f2d;
}
.bupha-customer-product-detail-page > *:first-child {
  margin-top: 0;
}
@media (max-width: 767px) {
  .bupha-product-actions {
    gap: 8px;
  }
  .bupha-product-actions .bupha-add-to-cart,
  .bupha-product-actions .bupha-product-detail-button {
    flex-basis: 100%;
    width: 100%;
    padding-left: 12px;
    padding-right: 12px;
  }
  .bupha-customer-product-detail-card {
    grid-template-columns: 1fr;
    padding: 16px;
    gap: 16px;
  }
}


/* v1.0.39 Product grid cart icon button */
.bupha-add-to-cart-has-icon {
  gap: var(--bupha-cart-icon-gap, 8px) !important;
}
.bupha-add-to-cart .bupha-cart-icon {
  display: inline-flex;
  width: var(--bupha-cart-icon-size, 16px);
  height: var(--bupha-cart-icon-size, 16px);
  line-height: 0;
  flex: 0 0 auto;
}
.bupha-add-to-cart .bupha-cart-icon svg {
  width: 100%;
  height: 100%;
  display: block;
  fill: currentColor;
}
.bupha-add-to-cart-icon-only {
  min-width: calc(var(--bupha-cart-icon-size, 16px) + 24px);
  padding-left: 14px;
  padding-right: 14px;
}

/* v1.0.41 customer login custom logo */
.bupha-customer-login-box .bupha-customer-login-badge,
.bupha-customer-login-box-v2 .bupha-customer-login-badge {
  width: var(--bupha-login-logo-width, 56px) !important;
  height: var(--bupha-login-logo-height, 56px) !important;
  border-radius: var(--bupha-login-logo-radius, 20px) !important;
  background: var(--bupha-login-logo-bg, #004d3d) !important;
  padding: var(--bupha-login-logo-padding, 0px) !important;
  overflow: hidden !important;
}
.bupha-customer-login-badge.has-login-logo {
  color: transparent !important;
}
.bupha-customer-login-badge.has-login-logo a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
}
.bupha-customer-login-badge.has-login-logo img {
  display: block !important;
  max-width: 100% !important;
  max-height: 100% !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

/* v1.0.43 login logo plain mode */
.bupha-customer-login-box .bupha-customer-login-badge.is-plain-logo,
.bupha-customer-login-box-v2 .bupha-customer-login-badge.is-plain-logo {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  outline: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  overflow: visible !important;
}
.bupha-customer-login-badge.is-plain-logo::before,
.bupha-customer-login-badge.is-plain-logo::after {
  content: none !important;
  display: none !important;
}
.bupha-customer-login-badge.is-plain-logo.has-login-logo img {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
}

/* v1.0.45 Profile form polish + API destination search in profile */
.bupha-customer-dashboard-pro .bupha-customer-profile-editor,
.bupha-customer-dashboard-pro .bupha-customer-address-card{
  border-color:rgba(18,55,42,.10) !important;
  box-shadow:0 14px 34px rgba(18,55,42,.045) !important;
}
.bupha-customer-dashboard-pro .bupha-customer-profile-editor{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) !important;
  gap:18px !important;
  align-items:flex-start !important;
}
.bupha-customer-dashboard-pro .bupha-customer-avatar{
  width:54px !important;
  height:54px !important;
  font-size:20px !important;
  font-weight:600 !important;
  background:rgba(6,78,59,.075) !important;
}
.bupha-customer-dashboard-pro .bupha-customer-profile-body h4,
.bupha-customer-dashboard-pro .bupha-customer-address-card > h4{
  margin:0 0 14px !important;
  line-height:1.25 !important;
  letter-spacing:-.02em !important;
}
.bupha-customer-dashboard-pro .bupha-customer-address-card > p{
  margin:0 0 16px !important;
  color:#667085 !important;
  line-height:1.55 !important;
}
.bupha-customer-dashboard-pro .bupha-customer-mini-form{
  gap:13px !important;
  margin-top:10px !important;
}
.bupha-customer-dashboard-pro .bupha-customer-mini-form label{
  gap:7px !important;
  color:#12372a !important;
  font-size:14px !important;
  font-weight:600 !important;
  letter-spacing:.005em !important;
}
.bupha-customer-dashboard-pro .bupha-customer-mini-form small{
  color:#8a94a3 !important;
  font-size:13px !important;
  font-weight:400 !important;
}
.bupha-customer-dashboard-pro .bupha-customer-mini-form input,
.bupha-customer-dashboard-pro .bupha-customer-mini-form textarea{
  min-height:52px !important;
  border:1px solid rgba(17,24,39,.10) !important;
  border-radius:18px !important;
  background:#fff !important;
  color:#12372a !important;
  font-size:15px !important;
  font-weight:500 !important;
  line-height:1.45 !important;
  padding:14px 16px !important;
  box-shadow:0 8px 22px rgba(15,23,42,.035) !important;
}
.bupha-customer-dashboard-pro .bupha-customer-mini-form textarea{
  min-height:104px !important;
}
.bupha-customer-dashboard-pro .bupha-customer-mini-form input::placeholder,
.bupha-customer-dashboard-pro .bupha-customer-mini-form textarea::placeholder{
  color:#a1a8b3 !important;
  font-weight:500 !important;
}
.bupha-customer-dashboard-pro .bupha-customer-mini-form input:focus,
.bupha-customer-dashboard-pro .bupha-customer-mini-form textarea:focus{
  border-color:rgba(6,78,59,.36) !important;
  box-shadow:0 0 0 4px rgba(6,78,59,.08),0 10px 24px rgba(15,23,42,.045) !important;
}
.bupha-customer-dashboard-pro .bupha-profile-destination-suggestions{
  margin-top:-4px !important;
  margin-bottom:2px !important;
}
.bupha-customer-dashboard-pro .bupha-profile-address-box{
  border:1px solid rgba(6,78,59,.10) !important;
  border-radius:18px !important;
  background:rgba(248,252,250,.88) !important;
  padding:14px 15px !important;
  margin-bottom:14px !important;
}
.bupha-customer-dashboard-pro .bupha-profile-address-box strong{
  display:block !important;
  margin-bottom:6px !important;
  color:#12372a !important;
  font-weight:650 !important;
}
.bupha-customer-dashboard-pro .bupha-profile-address-box p{
  margin:0 !important;
  color:#667085 !important;
  line-height:1.55 !important;
}
.bupha-customer-dashboard-pro .bupha-customer-dashboard-button,
.bupha-customer-dashboard-pro .bupha-customer-logout-button{
  min-height:52px !important;
  border-radius:18px !important;
}
@media (max-width:720px){
  .bupha-customer-dashboard-pro .bupha-customer-profile-editor{
    grid-template-columns:1fr !important;
    padding:18px !important;
    gap:14px !important;
  }
  .bupha-customer-dashboard-pro .bupha-customer-address-card,
  .bupha-customer-dashboard-pro .bupha-customer-profile-logout-card{
    padding:18px !important;
  }
  .bupha-customer-dashboard-pro .bupha-customer-avatar{
    width:50px !important;
    height:50px !important;
  }
  .bupha-customer-dashboard-pro .bupha-customer-profile-body h4{
    margin-bottom:14px !important;
  }
  .bupha-customer-dashboard-pro .bupha-customer-mini-form input,
  .bupha-customer-dashboard-pro .bupha-customer-mini-form textarea{
    font-size:15px !important;
    padding:13px 15px !important;
  }
}


/* v1.0.55 Cart menu mobile alignment helpers */
@media (max-width: 767px) {
  .bupha-cart-button-widget.is-mobile-left_hamburger,
  .bupha-cart-button-widget.is-mobile-right_hamburger {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: max-content !important;
    white-space: nowrap !important;
  }

  .bupha-cart-button-widget.is-mobile-left_hamburger {
    order: -1 !important;
    margin-right: var(--bupha-cart-menu-mobile-gap, 8px) !important;
    margin-left: 0 !important;
  }

  .bupha-cart-button-widget.is-mobile-right_hamburger {
    order: 999 !important;
    margin-left: var(--bupha-cart-menu-mobile-gap, 8px) !important;
    margin-right: 0 !important;
  }
}


/* v1.0.56 Detach mobile cart from collapsed hamburger menu */
@media (max-width: 767px) {
  .bupha-cart-button-widget.bupha-mobile-cart-source.is-mobile-left_hamburger,
  .bupha-cart-button-widget.bupha-mobile-cart-source.is-mobile-right_hamburger {
    display: none !important;
    visibility: hidden !important;
  }

  .bupha-mobile-cart-clone {
    position: fixed !important;
    top: var(--bupha-cart-menu-mobile-top, 14px) !important;
    z-index: 999999 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: max-content !important;
    white-space: nowrap !important;
    margin: 0 !important;
    pointer-events: auto !important;
  }

  .bupha-mobile-cart-clone.is-mobile-cart-before-hamburger {
    right: calc(48px + var(--bupha-cart-menu-mobile-gap, 8px)) !important;
    left: auto !important;
  }

  .bupha-mobile-cart-clone.is-mobile-cart-after-hamburger {
    right: 12px !important;
    left: auto !important;
  }
}

@media (min-width: 768px) {
  .bupha-mobile-cart-clone {
    display: none !important;
  }
}

/* v1.0.63 Buy Now button */
.bupha-buy-now {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0;
  border-radius: 999px;
  padding: 12px 18px;
  background: #0f513f;
  color: #fff !important;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none !important;
  transition: transform .15s ease, opacity .15s ease;
}
.bupha-buy-now:hover {
  transform: translateY(-1px);
  opacity: .92;
}
.bupha-buy-now:disabled,
.bupha-buy-now-disabled {
  opacity: .55;
  cursor: not-allowed;
}
.bupha-product-actions .bupha-buy-now {
  flex: 1 1 150px;
  min-width: 0;
  text-align: center;
}
@media (max-width: 767px) {
  .bupha-product-actions .bupha-buy-now {
    flex-basis: 100%;
    width: 100%;
    padding-left: 12px;
    padding-right: 12px;
  }
}


/* v1.0.65 Payment page mobile readability polish */
.bupha-payment-detail{
  max-width: 1120px;
  margin: 0 auto;
}
.bupha-payment-card-main .bupha-payment-detail-row,
.bupha-payment-card-main .bupha-payment-item,
.bupha-payment-card-main .bupha-payment-total-row{
  display:grid;
  grid-template-columns:minmax(130px,.8fr) minmax(0,1.2fr);
  align-items:start;
  gap:12px;
}
.bupha-payment-card-main .bupha-payment-detail-row > span,
.bupha-payment-card-main .bupha-payment-item > span,
.bupha-payment-card-main .bupha-payment-total-row > span{
  line-height:1.45;
}
.bupha-payment-card-main .bupha-payment-detail-row > strong,
.bupha-payment-card-main .bupha-payment-item > strong,
.bupha-payment-card-main .bupha-payment-total-row > strong{
  text-align:right;
  line-height:1.45;
  overflow-wrap:anywhere;
  word-break:normal;
}
.bupha-payment-card-main .bupha-payment-detail-row strong[data-bupha-payment-summary-status],
.bupha-payment-card-main .bupha-payment-detail-row strong[data-bupha-shipment-status-text]{
  text-transform:none;
}
.bupha-payment-card-main .bupha-payment-total-row{
  border-top:1px solid #f0eadf;
  margin-top:4px;
}
.bupha-customer-tracking-timeline,
.bupha-customer-shipment-timeline,
.bupha-customer-track-timeline{
  margin:14px 0 16px;
  max-width:100%;
}
.bupha-customer-track-step{
  min-width:0;
}
.bupha-customer-track-step strong,
.bupha-customer-track-step b,
.bupha-customer-track-step p{
  overflow-wrap:anywhere;
}
@media (max-width: 767px){
  .bupha-payment-detail{
    padding:14px;
    border-radius:20px;
  }
  .bupha-payment-card{
    padding:16px 14px;
    border-radius:18px;
  }
  .bupha-payment-card h4{
    margin-bottom:14px;
    font-size:21px !important;
    line-height:1.25;
  }
  .bupha-payment-card-main .bupha-payment-detail-row,
  .bupha-payment-card-main .bupha-payment-item,
  .bupha-payment-card-main .bupha-payment-total-row{
    grid-template-columns:1fr;
    gap:5px;
    padding:12px 0;
  }
  .bupha-payment-card-main .bupha-payment-detail-row > span,
  .bupha-payment-card-main .bupha-payment-item > span,
  .bupha-payment-card-main .bupha-payment-total-row > span{
    font-size:13px !important;
    color:#7a7f76;
  }
  .bupha-payment-card-main .bupha-payment-detail-row > strong,
  .bupha-payment-card-main .bupha-payment-item > strong,
  .bupha-payment-card-main .bupha-payment-total-row > strong{
    text-align:left;
    font-size:16px !important;
    line-height:1.55;
    letter-spacing:.01em;
  }
  .bupha-payment-card-main .bupha-payment-total-row > strong{
    font-size:22px !important;
  }
  .bupha-payment-items{
    margin:12px 0;
    padding:10px 12px;
    border-radius:16px;
    background:#fffaf2;
    border:1px solid #f0eadf;
  }
  .bupha-payment-items .bupha-payment-item:first-child{
    padding-top:0;
  }
  .bupha-payment-items .bupha-payment-item:last-child{
    border-bottom:0;
    padding-bottom:0;
  }
  .bupha-payment-detail-header{
    gap:10px;
    margin-bottom:14px;
  }
  .bupha-payment-detail-header h3{
    font-size:24px !important;
    line-height:1.2;
  }
  .bupha-payment-status-badge{
    align-self:flex-start;
  }
  .bupha-payment-confirm-box,
  .bupha-account-access-box{
    border-radius:18px;
  }
}

/* v1.0.74 Profile read-only summary + gated edit panels */
.bupha-customer-dashboard-pro .bupha-customer-profile-summary-card{
  align-items:flex-start;
}
.bupha-customer-dashboard-pro .bupha-profile-readonly-list{
  display:grid;
  gap:10px;
  margin:14px 0 16px;
}
.bupha-customer-dashboard-pro .bupha-profile-readonly-list>div{
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding:13px 14px;
  border:1px solid rgba(18,55,42,.08);
  background:rgba(250,250,247,.82);
  border-radius:16px;
}
.bupha-customer-dashboard-pro .bupha-profile-readonly-list span{
  color:#6b7280;
  font-size:13px;
  font-weight:600;
}
.bupha-customer-dashboard-pro .bupha-profile-readonly-list strong{
  color:#12372a;
  font-size:14px;
  font-weight:700;
  text-align:right;
  overflow-wrap:anywhere;
}
.bupha-customer-dashboard-pro .bupha-profile-edit-panel{
  margin-top:12px;
}
.bupha-customer-dashboard-pro .bupha-profile-edit-panel>summary{
  list-style:none;
  cursor:pointer;
  user-select:none;
  text-align:center;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  min-height:44px;
}
.bupha-customer-dashboard-pro .bupha-profile-edit-panel>summary::-webkit-details-marker{
  display:none;
}
.bupha-customer-dashboard-pro .bupha-profile-edit-panel[open]>summary{
  margin-bottom:12px;
}
.bupha-customer-dashboard-pro .bupha-customer-outline-button{
  border:1px solid rgba(0,77,61,.22);
  color:#004d3d;
  background:#fff;
  border-radius:999px;
  padding:11px 18px;
  font-weight:700;
  line-height:1.2;
}
.bupha-customer-dashboard-pro .bupha-profile-section-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.bupha-customer-dashboard-pro .bupha-profile-section-heading h4{
  margin:0 0 6px;
}
.bupha-customer-dashboard-pro .bupha-profile-section-heading p{
  margin:0;
  color:#6b7280;
}
.bupha-customer-dashboard-pro .bupha-primary-address-badge,
.bupha-customer-dashboard-pro .bupha-address-box-top span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  border-radius:999px;
  background:rgba(0,77,61,.08);
  color:#004d3d;
  font-size:12px;
  font-weight:700;
  padding:6px 10px;
}
.bupha-customer-dashboard-pro .bupha-address-box-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.bupha-customer-dashboard-pro .bupha-profile-address-empty{
  border:1px dashed rgba(18,55,42,.18);
  background:rgba(250,250,247,.72);
  color:#6b7280;
  border-radius:18px;
  padding:16px;
  margin-bottom:12px;
}
@media (max-width: 640px){
  .bupha-customer-dashboard-pro .bupha-profile-readonly-list>div{
    display:grid;
    gap:4px;
  }
  .bupha-customer-dashboard-pro .bupha-profile-readonly-list strong{
    text-align:left;
  }
  .bupha-customer-dashboard-pro .bupha-profile-section-heading{
    display:grid;
  }
  .bupha-customer-dashboard-pro .bupha-profile-edit-panel>summary{
    width:100%;
  }
}

/* v1.0.76 - customer address list */
.bupha-customer-dashboard-pro .bupha-profile-address-list{
  display:grid;
  gap:12px;
  margin:12px 0 14px;
}
.bupha-customer-dashboard-pro .bupha-profile-address-box.is-primary{
  border-color:rgba(0,77,61,.24);
  background:rgba(250,250,247,.92);
}
.bupha-customer-dashboard-pro .bupha-profile-address-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-top:14px;
}
.bupha-customer-dashboard-pro .bupha-profile-address-actions form{
  margin:0;
}
.bupha-customer-dashboard-pro .bupha-profile-address-actions .bupha-profile-edit-panel{
  margin:0;
}
.bupha-customer-dashboard-pro .bupha-profile-address-actions .bupha-customer-dashboard-button,
.bupha-customer-dashboard-pro .bupha-profile-address-actions .bupha-customer-outline-button{
  min-height:40px;
  padding:10px 14px;
}
.bupha-customer-dashboard-pro .bupha-profile-checkbox{
  display:flex!important;
  align-items:center;
  gap:8px;
  color:#12372a;
  font-weight:600;
}
.bupha-customer-dashboard-pro .bupha-profile-checkbox input{
  width:auto!important;
  min-width:18px;
  height:18px;
}
@media (max-width: 640px){
  .bupha-customer-dashboard-pro .bupha-profile-address-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .bupha-customer-dashboard-pro .bupha-profile-address-actions .bupha-customer-dashboard-button,
  .bupha-customer-dashboard-pro .bupha-profile-address-actions .bupha-customer-outline-button,
  .bupha-customer-dashboard-pro .bupha-profile-address-actions .bupha-customer-link-danger{
    width:100%;
    justify-content:center;
    text-align:center;
  }
}

/* v1.0.77 checkout saved address picker */
.bupha-checkout-address-picker{margin:14px 0 16px;padding:14px;border:1px solid rgba(15,23,42,.10);border-radius:18px;background:#fff;box-shadow:0 10px 24px rgba(15,23,42,.04)}
.bupha-checkout-address-kicker{font-size:12px;font-weight:700;letter-spacing:.02em;color:#64748b;margin-bottom:6px;text-transform:uppercase}
.bupha-checkout-address-summary strong{display:block;color:#0f172a;margin-bottom:3px}
.bupha-checkout-address-summary span{display:block;font-size:13px;color:#475569;margin-bottom:4px}
.bupha-checkout-address-summary p{margin:0;color:#334155;font-size:14px;line-height:1.55}
.bupha-checkout-address-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.bupha-checkout-address-list{display:grid;gap:10px;margin-top:12px}
.bupha-checkout-address-card{border:1px solid rgba(15,23,42,.10);border-radius:16px;padding:12px;background:#f8fafc;display:grid;gap:10px}
.bupha-checkout-address-card.is-primary{border-color:rgba(0,77,61,.28);background:#f3fbf8}
.bupha-checkout-address-card.is-selected{outline:2px solid rgba(0,77,61,.22)}
.bupha-checkout-address-card-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}
.bupha-checkout-address-card-title strong{font-size:14px;color:#0f172a}
.bupha-checkout-address-card-title span{font-size:11px;font-weight:700;color:#006b52;background:#dff7ed;border-radius:999px;padding:4px 8px;white-space:nowrap}
.bupha-checkout-address-card-phone{font-size:13px;color:#475569;margin-bottom:4px}
.bupha-checkout-address-card p{margin:0;color:#334155;font-size:13px;line-height:1.5}
.bupha-checkout-add-new-address{width:100%;justify-content:center}
.bupha-checkout-address-fields[hidden],.bupha-checkout-address-list[hidden]{display:none!important}
@media(max-width:767px){.bupha-checkout-address-actions{display:grid;grid-template-columns:1fr 1fr}.bupha-checkout-address-actions .bupha-button{width:100%;justify-content:center}.bupha-checkout-address-card{padding:11px}.bupha-checkout-address-card-title{align-items:flex-start;flex-direction:column}.bupha-checkout-address-card .bupha-button{width:100%;justify-content:center}}

/* v1.0.81 - checkout logged-in new address form */
.bupha-checkout-new-address-contact,
.bupha-checkout-new-address-extra{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.bupha-checkout-new-address-extra label:last-child{
  grid-column:1 / -1;
}
@media (max-width: 640px){
  .bupha-checkout-new-address-contact,
  .bupha-checkout-new-address-extra{
    grid-template-columns:1fr;
  }
}

/* BUPHA Commerce v1.0.82 shipping dropdown layout */
.bupha-commerce .bupha-shipping-category-dropdown,
.bupha-shipping-category-dropdown {
  overflow: visible;
}
.bupha-commerce .bupha-shipping-select-label,
.bupha-shipping-select-label {
  display: grid;
  gap: 8px;
  padding: 12px;
}
.bupha-commerce .bupha-shipping-select-label > span,
.bupha-shipping-select-label > span {
  font-weight: 800;
  color: #166534 !important;
  -webkit-text-fill-color: #166534 !important;
}
.bupha-commerce .bupha-shipping-select,
.bupha-shipping-select {
  width: 100%;
  min-height: 46px;
  border: 1px solid rgba(22, 101, 52, .18);
  border-radius: 12px;
  background: #ffffff;
  color: #1f2937 !important;
  -webkit-text-fill-color: #1f2937 !important;
  padding: 10px 40px 10px 12px;
  font-size: 15px;
  font-weight: 700;
  outline: none;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .04);
}
.bupha-commerce .bupha-shipping-select:focus,
.bupha-shipping-select:focus {
  border-color: rgba(0, 77, 61, .45);
  box-shadow: 0 0 0 3px rgba(0, 77, 61, .08);
}
.bupha-commerce .bupha-shipping-select option,
.bupha-shipping-select option {
  color: #1f2937;
}
@media (max-width: 640px) {
  .bupha-commerce .bupha-shipping-box,
  .bupha-shipping-box {
    padding: 12px;
  }
  .bupha-commerce .bupha-shipping-select,
  .bupha-shipping-select {
    font-size: 14px;
  }
}


/* BUPHA Commerce v1.0.83 single shipping category picker */
.bupha-commerce .bupha-shipping-single-picker,
.bupha-shipping-single-picker {
  display: grid;
  gap: 10px;
}
.bupha-commerce .bupha-shipping-single-picker .bupha-shipping-select-label,
.bupha-shipping-single-picker .bupha-shipping-select-label {
  padding: 0;
}
@media (max-width: 640px) {
  .bupha-commerce .bupha-shipping-single-picker,
  .bupha-shipping-single-picker {
    gap: 8px;
  }
}


/* v1.0.84 Button stretch controls */
.bupha-button-stretch,
.bupha-elementor-button-wrap .bupha-button-stretch {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.bupha-elementor-button-wrap:has(.bupha-button-stretch) {
  display: flex !important;
  width: 100% !important;
}
.bupha-product-actions .bupha-button-stretch {
  align-self: stretch !important;
}

/* BUPHA Commerce v1.0.86 internal QRIS display */
.bupha-qris-box{align-items:center;text-align:center}
.bupha-qris-image{max-width:320px}
.bupha-payment-fallback-link{font-size:13px;color:#64748b;margin-top:6px}
.bupha-payment-fallback-link a{color:#0f766e;font-weight:700;text-decoration:none}

/* BUPHA Commerce v1.0.91 QRISLY unique discount */
.bupha-payment-breakdown{display:grid;gap:6px;padding:10px 12px;border:1px solid #edf2f7;border-radius:12px;background:#fbfdff}
.bupha-payment-breakdown p{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;color:#334155}
.bupha-payment-breakdown span{font-size:13px;color:#64748b}
.bupha-payment-breakdown strong{font-size:15px;color:#1f2937}
.bupha-payment-breakdown .bupha-payment-discount strong{color:#047857}

/* BUPHA Commerce v1.0.103 QRIS download button */
.bupha-qris-download-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 18px;
  border-radius:999px;
  background:#0f513f;
  color:#fff!important;
  font-weight:700;
  text-decoration:none!important;
  line-height:1.2;
  box-shadow:0 6px 14px rgba(15,81,63,.12);
}
.bupha-qris-download-button:hover{filter:brightness(.96)}
@media (max-width:640px){
  .bupha-qris-download-button{width:100%}
}


.bupha-customer-payment-guide{margin:14px 0 0;padding:14px 16px;border:1px solid #d6eadf;background:#f4fbf7;border-radius:18px;color:#113f32}
.bupha-customer-payment-guide strong{display:block;font-weight:800;margin-bottom:6px;color:#0f3f31}
.bupha-customer-payment-guide p{margin:0 0 10px;color:#52606d;line-height:1.55}
.bupha-customer-payment-guide-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.bupha-customer-payment-guide-meta span{background:#fff;border:1px solid #e3eee8;border-radius:999px;padding:6px 10px;font-size:.9em;color:#1f4d3f}
.bupha-customer-payment-guide .bupha-customer-order-link{display:inline-flex;align-items:center;justify-content:center;margin-top:2px}

/* v1.0.139 Customer cancel order button */
.bupha-customer-dashboard-pro .bupha-customer-order-link.is-danger,
.bupha-customer-dashboard-pro button.bupha-customer-order-link.is-danger,
.bupha-customer-dashboard-pro .bupha-cancel-order-button {
  background: #fff !important;
  color: #b42318 !important;
  border: 1px solid rgba(180, 35, 24, .35) !important;
  opacity: 1 !important;
  visibility: visible !important;
  min-width: 132px;
}
.bupha-customer-dashboard-pro .bupha-customer-order-link.is-danger *,
.bupha-customer-dashboard-pro button.bupha-customer-order-link.is-danger *,
.bupha-customer-dashboard-pro .bupha-cancel-order-button * {
  color: inherit !important;
}
.bupha-customer-dashboard-pro .bupha-customer-order-link.is-danger:hover,
.bupha-customer-dashboard-pro button.bupha-customer-order-link.is-danger:hover,
.bupha-customer-dashboard-pro .bupha-cancel-order-button:hover {
  background: #fff5f4 !important;
  border-color: rgba(180, 35, 24, .55) !important;
}


/* BUPHA Commerce v1.0.142 QRIS size refinement */
.bupha-payment-instruction .bupha-qris-box{
  padding:10px 12px!important;
  gap:8px!important;
}
.bupha-payment-instruction .bupha-qris-image{
  width:240px!important;
  max-width:min(240px,100%)!important;
  height:auto!important;
  padding:6px!important;
}
@media (max-width:600px){
  .bupha-payment-instruction .bupha-qris-image{
    width:260px!important;
    max-width:86vw!important;
  }
}
