/* Hemdat Pay. Brand palette only: purple #803e96, orange #fbaf43 (dark text on it), black #1a1a1a, white. */
.hpay, .hpay * { box-sizing: border-box !important; }
.hpay { direction: rtl !important; text-align: right !important; font-family: 'Heebo', system-ui, -apple-system, Arial, sans-serif !important; color: #1a1a1a !important; max-width: 1040px !important; margin: 0 auto !important; padding: 8px 12px 48px !important; font-size: 16px !important; line-height: 1.5 !important; }
.hpay h1.hpay-title { font-size: 1.7rem !important; font-weight: 800 !important; color: #803e96 !important; margin: 8px 0 18px !important; }
.hpay h2 { font-size: 1.15rem !important; font-weight: 800 !important; margin: 0 0 12px !important; color: #1a1a1a !important; }
.hpay h3 { font-size: 1rem !important; font-weight: 800 !important; margin: 14px 0 8px !important; }
.hpay p { margin: 0 0 10px !important; }
.hpay a { color: #803e96 !important; }
.hpay-grid { display: grid !important; grid-template-columns: minmax(0, 1fr) 300px !important; gap: 20px !important; align-items: start !important; }
.hpay-card { background: #fff !important; border: 1px solid #eceaef !important; border-radius: 14px !important; padding: 18px !important; margin-bottom: 16px !important; box-shadow: 0 4px 18px rgba(128, 62, 150, .06) !important; }
.hpay-testbar { background: #fff3dc !important; border: 1px solid #f3e6c8 !important; color: #2b2030 !important; border-radius: 10px !important; padding: 10px 14px !important; font-weight: 700 !important; margin-bottom: 14px !important; }
.hpay-empty { color: #6b6b72 !important; padding: 8px 0 !important; }

/* back link */
.hpay a.hpay-back { display: inline-flex !important; align-items: center !important; gap: 6px !important; margin: 0 0 14px !important; padding: 8px 14px !important; border: 1px solid #e3d5ea !important; border-radius: 999px !important; background: #f1e9f5 !important; color: #5f2d70 !important; font-weight: 700 !important; font-size: .92rem !important; text-decoration: none !important; min-height: 40px !important; }
.hpay a.hpay-back:hover { background: #e3d5ea !important; }
.hpay-empty { display: flex !important; flex-wrap: wrap !important; gap: 10px !important; align-items: center !important; }
.hpay-empty[hidden], .hpay [hidden] { display: none !important; }

/* items */
.hpay-item { display: grid !important; grid-template-columns: minmax(0, 1fr) auto auto !important; gap: 10px !important; align-items: center !important; padding: 12px 0 !important; border-bottom: 1px solid #eceaef !important; }
.hpay-item:last-child { border-bottom: 0 !important; }
.hpay-item-name { font-weight: 700 !important; }
.hpay-item-meta { color: #6b6b72 !important; font-size: .9rem !important; }
.hpay-item-price { font-weight: 800 !important; color: #803e96 !important; white-space: nowrap !important; }
.hpay-remove { background: none !important; border: 1px solid #eceaef !important; color: #6b6b72 !important; border-radius: 8px !important; padding: 6px 10px !important; font: inherit !important; font-size: .85rem !important; cursor: pointer !important; min-height: 36px !important; white-space: normal !important; }
.hpay-remove:hover { border-color: #803e96 !important; color: #803e96 !important; }

/* upsell */
.hpay-upsell { margin-top: 14px !important; background: #f1e9f5 !important; border: 1px solid #e3d5ea !important; border-radius: 12px !important; padding: 14px !important; display: flex !important; flex-wrap: wrap !important; gap: 10px 14px !important; align-items: center !important; }
.hpay-upsell-text { flex: 1 1 260px !important; display: flex !important; flex-direction: column !important; gap: 2px !important; }
.hpay-upsell-text strong { color: #803e96 !important; }
.hpay-upsell-text span { font-size: .92rem !important; color: #1a1a1a !important; }
.hpay-upsell-list { flex-basis: 100% !important; border-top: 1px solid #e3d5ea !important; padding-top: 8px !important; max-height: 320px !important; overflow: auto !important; }
.hpay-up-row { display: grid !important; grid-template-columns: minmax(0, 1fr) auto auto !important; gap: 8px !important; align-items: center !important; padding: 8px 0 !important; border-bottom: 1px dashed #e3d5ea !important; }
.hpay-up-name { font-weight: 700 !important; font-size: .95rem !important; }
.hpay-up-meta { color: #6b6b72 !important; font-size: .85rem !important; white-space: nowrap !important; }

/* form */
.hpay-fields { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
.hpay-fields label, .hpay-coupon label { display: flex !important; flex-direction: column !important; gap: 4px !important; font-weight: 700 !important; font-size: .9rem !important; }
.hpay-fields .hpay-wide { grid-column: 1 / -1 !important; }
.hpay input[type="text"], .hpay input[type="email"], .hpay input:not([type]) { width: 100% !important; min-height: 46px !important; border: 1px solid #d9d4de !important; border-radius: 10px !important; padding: 10px 12px !important; font: inherit !important; font-size: 1rem !important; background: #fff !important; color: #1a1a1a !important; direction: rtl !important; }
.hpay input[name="id_number"], .hpay input[name="phone"], .hpay input[name="email"], .hpay input[name="coupon"] { direction: ltr !important; text-align: right !important; }
.hpay input:focus { outline: none !important; border-color: #803e96 !important; box-shadow: 0 0 0 3px rgba(128, 62, 150, .15) !important; }
.hpay input.hpay-bad { border-color: #803e96 !important; background: #f1e9f5 !important; }
.hpay-coupon { display: grid !important; grid-template-columns: minmax(0, 1fr) auto !important; gap: 10px !important; align-items: end !important; margin-top: 14px !important; }
.hpay-hr { border: 0 !important; border-top: 1px solid #eceaef !important; margin: 16px 0 !important; }
.hpay-summary div { display: flex !important; justify-content: space-between !important; padding: 4px 0 !important; }
.hpay-summary .hpay-disc { color: #803e96 !important; font-weight: 700 !important; }
.hpay-total { display: flex !important; justify-content: space-between !important; align-items: baseline !important; border-top: 2px solid #1a1a1a !important; margin-top: 8px !important; padding-top: 10px !important; font-size: 1.1rem !important; font-weight: 800 !important; }
.hpay-total strong { font-size: 1.6rem !important; color: #803e96 !important; }
.hpay-onepay { color: #6b6b72 !important; font-size: .88rem !important; margin: 4px 0 12px !important; }
.hpay-consent { display: flex !important; gap: 8px !important; align-items: flex-start !important; font-size: .9rem !important; margin: 8px 0 14px !important; cursor: pointer !important; }
.hpay-consent input { width: 18px !important; height: 18px !important; margin-top: 3px !important; flex: none !important; accent-color: #803e96 !important; }
.hpay-msg { border-radius: 10px !important; padding: 10px 12px !important; margin: 10px 0 !important; font-weight: 700 !important; font-size: .92rem !important; }
.hpay-msg-err { background: #f1e9f5 !important; color: #5f2d70 !important; border: 1px solid #e3d5ea !important; }
.hpay-msg-warn { background: #fff3dc !important; color: #2b2030 !important; border: 1px solid #f3e6c8 !important; }
.hpay-msg-ok { background: #f1e9f5 !important; color: #803e96 !important; border: 1px solid #e3d5ea !important; }

/* buttons */
.hpay-btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; min-height: 46px !important; padding: 10px 20px !important; border-radius: 10px !important; font: inherit !important; font-weight: 800 !important; font-size: 1rem !important; cursor: pointer !important; text-decoration: none !important; border: 2px solid transparent !important; white-space: normal !important; line-height: 1.2 !important; transition: background .15s, color .15s !important; }
.hpay .hpay-btn-primary, .hpay a.hpay-btn-primary { background: #803e96 !important; color: #fff !important; border-color: #803e96 !important; }
.hpay .hpay-btn-primary:hover, .hpay a.hpay-btn-primary:hover { background: #5f2d70 !important; border-color: #5f2d70 !important; color: #fff !important; }
.hpay .hpay-btn-outline, .hpay a.hpay-btn-outline { background: #fff !important; color: #803e96 !important; border-color: #803e96 !important; }
.hpay-btn-outline:hover { background: #f1e9f5 !important; }
.hpay .hpay-btn-warm, .hpay a.hpay-btn-warm { background: #fbaf43 !important; color: #2b2030 !important; border-color: #fbaf43 !important; }
.hpay .hpay-btn-warm:hover, .hpay a.hpay-btn-warm:hover { background: #e89a28 !important; border-color: #e89a28 !important; color: #2b2030 !important; }
.hpay-btn-big { width: 100% !important; min-height: 54px !important; font-size: 1.1rem !important; }
.hpay-btn-sm { min-height: 36px !important; padding: 6px 12px !important; font-size: .9rem !important; }
.hpay-btn[disabled] { opacity: .6 !important; cursor: wait !important; }

/* payment */
.hpay-paynote { color: #6b6b72 !important; font-size: .9rem !important; }
.hpay-frame-wrap { width: 100% !important; border: 1px solid #eceaef !important; border-radius: 12px !important; overflow: hidden !important; background: #fff !important; }
.hpay-frame-wrap iframe { display: block !important; width: 100%; height: 330px; border: 0 !important; }
.hpay-wallets { margin-top: 12px !important; }
.hpay-wallets iframe { height: 220px; }
.hpay-paywait { margin-top: 12px !important; font-weight: 700 !important; color: #803e96 !important; }

/* side */
.hpay-tiers ul { list-style: none !important; padding: 0 !important; margin: 0 0 10px !important; }
.hpay-tiers li { padding: 8px 10px !important; border-radius: 8px !important; background: #f1e9f5 !important; margin-bottom: 6px !important; font-size: .95rem !important; }
.hpay-tiers li b { color: #803e96 !important; }
.hpay-side-note { font-size: .9rem !important; color: #1a1a1a !important; }
.hpay-side-help { font-size: .9rem !important; color: #6b6b72 !important; margin: 0 !important; }

/* done */
.hpay-done .hpay-card { max-width: 640px !important; margin: 16px auto !important; }
.hpay-next { padding-inline-start: 20px !important; margin: 0 0 16px !important; }
.hpay-next li { margin-bottom: 6px !important; }
.hpay-chip { display: inline-block !important; background: #f1e9f5 !important; color: #803e96 !important; border-radius: 999px !important; padding: 4px 12px !important; font-weight: 700 !important; margin: 2px !important; }
.hpay-spinner { width: 34px !important; height: 34px !important; border: 4px solid #eceaef !important; border-top-color: #803e96 !important; border-radius: 50% !important; animation: hpay-spin 1s linear infinite !important; margin: 10px 0 !important; }
@keyframes hpay-spin { to { transform: rotate(360deg); } }
.hpay-soon { max-width: 640px !important; margin: 16px auto !important; }

/* fixed bottom cart bar (catalog pages) */
.hpay-bar { position: fixed !important; left: 0 !important; right: 0 !important; bottom: 0 !important; z-index: 9990 !important; background: #803e96 !important; color: #fff !important; box-shadow: 0 -6px 24px rgba(0, 0, 0, .18) !important; direction: rtl !important; font-family: 'Heebo', system-ui, sans-serif !important; padding-bottom: env(safe-area-inset-bottom) !important; }
.hpay-bar[hidden] { display: none !important; }
.hpay-bar-in { max-width: 1040px !important; margin: 0 auto !important; display: flex !important; align-items: center !important; gap: 14px !important; padding: 10px 16px 10px 76px !important; min-height: 64px !important; box-sizing: border-box !important; }
.hpay-bar-ic { position: relative !important; display: inline-flex !important; flex: none !important; width: 44px !important; height: 44px !important; align-items: center !important; justify-content: center !important; background: rgba(255, 255, 255, .14) !important; border-radius: 12px !important; }
.hpay-bar-ic svg { width: 24px !important; height: 24px !important; }
.hpay-bar-n { position: absolute !important; top: -8px !important; left: -8px !important; background: #fbaf43 !important; color: #2b2030 !important; border-radius: 999px !important; min-width: 22px !important; height: 22px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; font-size: .8rem !important; font-weight: 800 !important; padding: 0 5px !important; }
.hpay-bar-txt { display: flex !important; flex-direction: column !important; flex: 1 1 auto !important; min-width: 0 !important; line-height: 1.25 !important; }
.hpay-bar-txt b { font-size: 1rem !important; font-weight: 800 !important; color: #fff !important; }
.hpay-bar-sub { font-size: .82rem !important; color: rgba(255, 255, 255, .85) !important; }
.hpay-bar-btn { flex: none !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; min-height: 44px !important; padding: 8px 22px !important; border-radius: 10px !important; background: #fbaf43 !important; color: #2b2030 !important; font-weight: 800 !important; font-size: 1rem !important; text-decoration: none !important; white-space: normal !important; }
.hpay-bar-btn:hover { background: #e89a28 !important; color: #2b2030 !important; }
body.hpay-has-bar { padding-bottom: 76px !important; }
@media (max-width: 600px) {
  .hpay-bar-in { gap: 10px !important; padding: 8px 12px 8px 64px !important; min-height: 60px !important; }
  .hpay-bar-txt b { font-size: .92rem !important; }
  .hpay-bar-sub { font-size: .75rem !important; }
  .hpay-bar-btn { padding: 8px 14px !important; font-size: .95rem !important; }
}
.hpay-up-btns { display: inline-flex !important; gap: 6px !important; }
button.hpay-in-cart, .hpay-in-cart { opacity: .85 !important; }

/* catalog page buttons emitted by the Lydia renderer (fallback styling if the renderer's CSS is missing) */
.register-button.hpay-add, .register-button.hpay-buy { white-space: normal !important; }

@media (max-width: 860px) {
  .hpay-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .hpay-side { order: 2 !important; }
}
@media (max-width: 600px) {
  .hpay { padding: 4px 8px 40px !important; font-size: 15px !important; }
  .hpay-card { padding: 14px !important; border-radius: 12px !important; }
  .hpay-fields { grid-template-columns: minmax(0, 1fr) !important; }
  .hpay-item { grid-template-columns: minmax(0, 1fr) auto !important; }
  .hpay-item .hpay-remove { grid-column: 2 !important; }
  .hpay-up-row { grid-template-columns: minmax(0, 1fr) !important; gap: 4px !important; }
  .hpay-up-meta { grid-column: 1 !important; }
  .hpay-up-btns { grid-column: 1 !important; justify-content: flex-start !important; margin-top: 4px !important; }
  .hpay-up-btns .hpay-btn { flex: 1 1 0 !important; }
}
