/* MacuHealth Rewards – customer dashboard, cart and checkout. Inherits theme fonts/colours. */
.mhr-dashboard { --mhr-accent: #0b5e8e; --mhr-muted: #6b7280; --mhr-border: #e5e7eb; --mhr-ok: #15803d; --mhr-warn: #b45309; }

.mhr-summary { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin: 0 0 28px; }
.mhr-stat { border: 1px solid var(--mhr-border); border-radius: 8px; padding: 14px 16px; display: flex; flex-direction: column; gap: 4px; }
.mhr-stat--primary { border-color: var(--mhr-accent); }
.mhr-stat--warn .mhr-stat__value { color: var(--mhr-warn); }
.mhr-stat__label { font-size: 13px; color: var(--mhr-muted); }
.mhr-stat__value { font-size: 28px; font-weight: 700; line-height: 1.1; }
.mhr-stat--primary .mhr-stat__value { color: var(--mhr-accent); }
.mhr-stat__meta { font-size: 12px; color: var(--mhr-muted); }

.mhr-section { margin: 0 0 32px; }
.mhr-section h3 { margin-bottom: 8px; }
.mhr-help { color: var(--mhr-muted); font-size: 14px; }

.mhr-card { border: 1px solid var(--mhr-border); border-radius: 8px; padding: 16px; margin: 0 0 12px; }
.mhr-card h4 { margin: 0 0 10px; display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline; }
.mhr-card h4 small { font-weight: 400; color: var(--mhr-muted); }

.mhr-reward-line, .mhr-scheduled { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; padding: 8px 0; border-top: 1px solid var(--mhr-border); }
.mhr-reward-line > span { flex: 1 1 200px; }
.mhr-inline-form { display: inline; margin: 0; }
.mhr-link-button { background: none !important; border: 0 !important; padding: 0 !important; text-decoration: underline; color: var(--mhr-accent) !important; }

.mhr-badge { display: inline-block; font-size: 12px; padding: 2px 8px; border-radius: 999px; background: #eef2f7; }
.mhr-badge--scheduled { background: #e0f2fe; color: #075985; }
.mhr-badge--applied { background: #dcfce7; color: #166534; }

.mhr-rewards-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 16px; }
.mhr-reward { border: 1px solid var(--mhr-border); border-radius: 8px; padding: 12px; display: flex; flex-direction: column; gap: 8px; text-align: center; }
.mhr-reward.is-locked { opacity: .75; }
.mhr-reward__image img { max-width: 100%; height: auto; }
.mhr-reward__name { font-weight: 600; }
.mhr-reward__points { color: var(--mhr-accent); font-weight: 700; }
.mhr-reward .button { width: 100%; }
.mhr-reward .button:disabled, .mhr-reward-line .button:disabled { cursor: not-allowed; opacity: .6; }

.mhr-plus { color: var(--mhr-ok); font-weight: 600; }
.mhr-minus { color: #b91c1c; font-weight: 600; }
.mhr-pagination { display: flex; gap: 8px; justify-content: flex-end; }

.mhr-free { color: #15803d; font-weight: 600; }
.mhr-points-row td { color: #0b5e8e; }
/* Join / consent checkboxes on the registration and checkout forms */
.mhr-join-fields { margin: 14px 0 18px; }
.mhr-join-fields .mhr-join-fields__row { margin: 0 0 10px !important; padding: 0 !important; float: none; width: 100%; }
.mhr-join-fields .mhr-join-fields__label { display: flex !important; align-items: center; gap: 10px; margin: 0 !important; padding: 0 !important; cursor: pointer; font-weight: 600; line-height: 1.4; }
.mhr-join-fields .mhr-join-fields__box { flex: 0 0 auto; width: 18px; height: 18px; margin: 0 !important; margin-top: 0 !important; padding: 0; position: relative; float: none; vertical-align: middle; accent-color: #282763; }
.mhr-join-fields .mhr-join-fields__text, span.mhr-join-fields__text { flex: 1 1 auto; display: inline; margin-left: 23px; }
.mhr-join-fields .mhr-join-fields__text abbr { color: #b91c1c; border: 0; text-decoration: none; }
.mhr-birthday-input { max-width: 260px; }
