/* Membership styling is opt-in and does not affect the desktop or API panels. */
.mm-membership-page { --mm-accent:#e65b40;background:#f5f6f8;color:#292c35; }
.mm-membership-page #developerApp > .page-heading { display:none; }
.mm-membership-page > .site-footer { display:none; }
.mm-membership-page #developerApp { padding:16px 16px 28px; }
.mm-membership-page .mm-hero { display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:12px;align-items:center;padding:22px 16px 16px;border-radius:8px;background:linear-gradient(115deg,#fa853c,#f04f39);color:#fff; }
.mm-avatar { display:grid;place-items:center;width:56px;height:56px;overflow:hidden;border:2px solid #fff;border-radius:50%;background:#fff4e8;color:#e7713c; }
.mm-avatar img { width:100%;height:100%;object-fit:cover; }
.mm-avatar svg { width:28px;height:28px; }
.mm-identity { min-width:0;overflow-wrap:anywhere; }
.mm-identity h2 { font-size:18px;font-weight:700;line-height:1.4; }
.mm-identity p { font-size:12px;margin-top:6px; }
.mm-identity strong { display:inline-block;padding:2px 5px;border-radius:3px;background:#ffffff24; }
.mm-membership-page .mm-upgrade { min-height:44px;padding:8px 12px;border:0;border-radius:22px;background:#fff;color:#d34c30;font-size:13px; }
.mm-expiry { grid-column:1/-1;font-size:12px;opacity:.95; }
.mm-heading { display:flex;justify-content:space-between;align-items:center;gap:12px;margin:22px 0 10px; }
.mm-heading h2 { display:flex;align-items:center;gap:8px;font-size:17px;font-weight:700; }
.mm-heading h2::before { content:"";width:4px;height:17px;background:#f27935;border-radius:2px; }
.mm-heading button { min-height:44px;padding:6px 0;border:0;background:transparent;color:#777b85;font-size:12px; }
.mm-heading button svg { width:16px;height:16px;flex-basis:16px; }
.mm-offers { background:#fff;border-radius:8px;overflow:hidden; }
.mm-offer { position:relative;padding:18px 16px; }
.mm-offer + .mm-offer { border-top:1px solid #f0f1f4; }
.mm-offer-heading { display:flex;align-items:center;gap:10px; }
.mm-offer-icon { display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;background:#fff2df;color:#af7c2b;border-radius:50%; }
.mm-offer h3 { min-width:0;font-size:15px;overflow-wrap:anywhere; }
.mm-offer-price { margin-left:auto;text-align:right;color:#d9513a;font-size:18px;font-weight:650;white-space:nowrap; }
.mm-offer-price small { display:block;color:#92949e;font-size:11px;font-weight:400; }
.mm-offer p { margin:10px 0 12px;color:#737783;font-size:13px;white-space:pre-line;overflow-wrap:anywhere; }
.mm-offer button { min-height:42px;width:100%;border-color:#f4cebb;background:#fff9f4;color:#c95a30; }
.mm-offer button:hover:not(:disabled) { background:#fff1e3;border-color:#eaa578; }
.mm-details { background:#fff;border-radius:8px;padding:0 16px; }
.mm-details > div,.mm-details > label,.mm-details > a { display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:58px;padding:12px 0;color:inherit;font-size:14px; }
.mm-details > * + * { border-top:1px solid #f1f2f5; }
.mm-details strong { font-size:14px;font-weight:500;text-align:right;overflow-wrap:anywhere;min-width:0; }
.mm-details > * > span:first-child { flex-shrink:0;color:#737783; }
.mm-details select { width:auto;min-width:0;max-width:68%;border:0;background:transparent;color:#d9523b;text-align:right; }
.mm-section-title { margin:22px 4px 10px;color:#878b94;font-size:13px;font-weight:400; }
.mm-description { margin:14px 4px;color:#656a75;font-size:13px;white-space:pre-line;overflow-wrap:anywhere; }
.mm-rules { margin:20px 2px;color:#818590;font-size:12px; }
.mm-rules summary { cursor:pointer;min-height:44px;display:flex;align-items:center; }
.mm-rules .rules { margin:0;background:transparent;border:0;padding:0;color:#767b85;font-size:12px; }
.mc-mobile-portal #customerDialog.mm-checkout { width:100%;max-width:600px;height:100dvh;max-height:100dvh;margin:0 auto;border:0;border-radius:0;padding:0 16px calc(12px + env(safe-area-inset-bottom,0px));background:#f5f6f8;box-shadow:none;overscroll-behavior:contain; }
.mm-checkout > header { position:sticky;top:0;z-index:1;min-height:60px;margin:0 -16px 16px;padding:8px 16px;background:#f5f6f8;border-bottom:1px solid #eaedf0; }
.mm-checkout > header h2 { font-size:18px; }
.mm-checkout > header button { border:0;background:transparent; }
.mm-amount { padding:22px 18px;border-radius:8px;background:linear-gradient(115deg,#fa853c,#f04f39);color:#fff; }
.mm-amount > span { display:block;font-size:14px; }
.mm-amount > strong { display:block;font-size:32px;font-weight:700;line-height:1.5;overflow-wrap:anywhere; }
.mm-amount > small { display:block;font-size:12px; }
.mm-payment-list { padding:0 16px;background:#fff;border-radius:8px;margin:0 0 18px; }
.mm-payment-option { display:flex;align-items:center;gap:12px;min-height:72px;padding:14px 0;cursor:pointer; }
.mm-payment-option + .mm-payment-option { border-top:1px solid #f1f2f5; }
.mm-payment-icon { display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:50%;color:#fff; }
.mm-payment-icon.is-wallet { background:#f38052; }
.mm-payment-icon.is-online { background:#4195cc; }
.mm-payment-label { flex:1;min-width:0;font-size:15px;overflow-wrap:anywhere; }
.mm-payment-label small { display:block;color:#8b8f99;font-size:12px;margin-top:3px; }
.mm-payment-option input { width:18px;height:18px;accent-color:#f16249; }
.mc-mobile-portal #customerDialog.mm-checkout input[type="radio"] { min-height:18px; }
.mm-payment-option:has(input:disabled) { opacity:.55;cursor:not-allowed; }
.mm-channel-empty { padding:0 0 14px;font-size:12px;color:#8b8f99; }
.mm-checkout > footer { position:sticky;bottom:calc(-12px - env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch;gap:4px;margin:18px -16px 0;padding:12px 16px calc(8px + env(safe-area-inset-bottom,0px));background:#f5f6f8;border-top:1px solid #eaedf0; }
.mm-checkout > footer button { width:100%;min-height:48px;border:0;background:transparent;color:#7c818c; }
.mm-checkout > footer .primary { background:#ec6940;color:#fff;border-radius:24px;font-size:16px; }
.mm-checkout > footer .primary:hover:not(:disabled) { background:#d9512c; }
.mm-checkout > .dialog-status { font-size:12px;color:#8b8f99;text-align:center; }
.mm-checkout .mm-checkout-link { display:flex;justify-content:center;min-height:48px;border:1px solid #f1c2ae;border-radius:6px;color:#c35030;background:#fff7f1; }
.mm-paid { display:grid;justify-items:center;gap:8px;margin:20px 0;color:#24865f;text-align:center; }
.mm-paid span { color:#707b77;font-size:13px; }
.mm-sr-only { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap; }
@media(max-width:350px) { .mm-membership-page .mm-hero { grid-template-columns:48px minmax(0,1fr); }.mm-avatar { width:48px;height:48px; }.mm-upgrade { grid-column:1/-1; }.mm-expiry { text-align:center; }.mm-offer-heading { flex-wrap:wrap; }.mm-offer-price { margin-left:44px; } }
